curl --request PATCH \
--url https://api.hevn.finance/dapi/v1/contacts/{contactId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{}'import requests
url = "https://api.hevn.finance/dapi/v1/contacts/{contactId}"
payload = {}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({})
};
fetch('https://api.hevn.finance/dapi/v1/contacts/{contactId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"id": "ct_9f2c1ab84d7e4f1fa3c65b0e7d9a2c41",
"name": "<string>",
"isExternal": true,
"createdAt": "2023-11-07T05:31:56Z",
"email": "<string>",
"address": {
"streetAddress": "<string>",
"addressLine2": "<string>",
"city": "<string>",
"state": "<string>",
"country": "AF",
"zip": "<string>"
},
"bank": {
"method": "<string>",
"currency": "<string>",
"fields": {
"iban": "<string>",
"bic": "<string>",
"accountNumber": "<string>",
"routingNumber": "<string>",
"pixKey": "<string>",
"pixKeyType": "phone",
"paymentKey": "<string>",
"financialInstitutionId": "<string>",
"branchNumber": "<string>",
"accountKind": "checking",
"phoneNumber": "<string>"
},
"holder": {
"type": "individual",
"firstName": "<string>",
"lastName": "<string>",
"businessName": "<string>",
"address": {
"streetAddress": "<string>",
"addressLine2": "<string>",
"city": "<string>",
"state": "<string>",
"country": "AF",
"zip": "<string>"
},
"idType": "passport",
"idNumber": "<string>",
"taxId": "<string>",
"nationality": "<string>"
},
"state": "active",
"bankName": "<string>",
"bankAddress": {
"addressLine1": "<string>",
"city": "<string>",
"state": "<string>",
"postalCode": "<string>",
"country": "<string>"
},
"intermediaryBank": {
"bic": "<string>",
"name": "<string>",
"address": {
"addressLine1": "<string>",
"city": "<string>",
"state": "<string>",
"postalCode": "<string>",
"country": "<string>"
},
"accountNumber": "<string>"
},
"paymentReference": "<string>",
"settlementToken": "USDC",
"minimumDeposit": "500.00"
},
"crypto": {
"address": "<string>",
"chain": "<string>",
"token": "<string>"
}
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"details": {}
}
}Update a contact
Update fields present in the request. Omitted fields are retained; immutable payment-routing identity cannot be replaced through this operation.
curl --request PATCH \
--url https://api.hevn.finance/dapi/v1/contacts/{contactId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{}'import requests
url = "https://api.hevn.finance/dapi/v1/contacts/{contactId}"
payload = {}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({})
};
fetch('https://api.hevn.finance/dapi/v1/contacts/{contactId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"id": "ct_9f2c1ab84d7e4f1fa3c65b0e7d9a2c41",
"name": "<string>",
"isExternal": true,
"createdAt": "2023-11-07T05:31:56Z",
"email": "<string>",
"address": {
"streetAddress": "<string>",
"addressLine2": "<string>",
"city": "<string>",
"state": "<string>",
"country": "AF",
"zip": "<string>"
},
"bank": {
"method": "<string>",
"currency": "<string>",
"fields": {
"iban": "<string>",
"bic": "<string>",
"accountNumber": "<string>",
"routingNumber": "<string>",
"pixKey": "<string>",
"pixKeyType": "phone",
"paymentKey": "<string>",
"financialInstitutionId": "<string>",
"branchNumber": "<string>",
"accountKind": "checking",
"phoneNumber": "<string>"
},
"holder": {
"type": "individual",
"firstName": "<string>",
"lastName": "<string>",
"businessName": "<string>",
"address": {
"streetAddress": "<string>",
"addressLine2": "<string>",
"city": "<string>",
"state": "<string>",
"country": "AF",
"zip": "<string>"
},
"idType": "passport",
"idNumber": "<string>",
"taxId": "<string>",
"nationality": "<string>"
},
"state": "active",
"bankName": "<string>",
"bankAddress": {
"addressLine1": "<string>",
"city": "<string>",
"state": "<string>",
"postalCode": "<string>",
"country": "<string>"
},
"intermediaryBank": {
"bic": "<string>",
"name": "<string>",
"address": {
"addressLine1": "<string>",
"city": "<string>",
"state": "<string>",
"postalCode": "<string>",
"country": "<string>"
},
"accountNumber": "<string>"
},
"paymentReference": "<string>",
"settlementToken": "USDC",
"minimumDeposit": "500.00"
},
"crypto": {
"address": "<string>",
"chain": "<string>",
"token": "<string>"
}
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"details": {}
}
}Authorizations
Platform access token from POST /auth/token, carrying the platform audience and the developer_key_id of the registration that minted it. It acts as your own account; name a client you created with X-Hevn-Account: cl_…. Every request re-checks that the registration is still active and that the caller's source IP is inside its allowlist. A token is valid only against the server that issued it, so sandbox tokens are refused in production and production tokens in the sandbox.
Headers
The client account to act for, as a cl_… id. Omit it to act as yourself.
"cl_9f2c1ab84d7e4f1fa3c65b0e7d9a2c41"
Your own key for this write, ^[A-Za-z0-9._:-]{1,128}$. A retry with the same key replays the first answer; the same key with a different request is refused.
"po-inv-2026-114"
Path Parameters
Body
Updated contact name.
1 - 200Updated postal address.
Show child attributes
Show child attributes
Whether the contact is outside the selected account.
Updated payment-account holder identity.
Show child attributes
Show child attributes
Updated intermediary institution; send null to remove it.
Show child attributes
Show child attributes
Response
Successful Response
Stable public identifier for this contact.
^(?:ct_)?[A-Za-z0-9._:\-]{1,216}$"ct_9f2c1ab84d7e4f1fa3c65b0e7d9a2c41"
Human-readable contact name.
Whether the contact is outside the selected account.
UTC timestamp when the contact was created.
Email associated with an existing HEVN contact.
Postal address of the contact or account holder.
Show child attributes
Show child attributes
Payment-account destination details.
Show child attributes
Show child attributes
On-chain destination details.
Show child attributes
Show child attributes
Was this page helpful?