These endpoints are deprecated and will be discontinued by November 1st. Please make sure you migrate your implementation to the new withdrawals flow .
The following endpoints are used to insert and retrieve entries representing withdrawals
from the database.
WITHDRAWALS ENDPOINTS
Copy POST /withdrawals
POST /withdrawals/:id/submit
GET /withdrawals/:id
GET /withdrawals
The withdrawal
object
The withdrawal
object represents a request for withdrawing fiat from the blockchain. You can create or retrieve an identityId
's withdrawals via request to the API. Or, if you manage multiple identities in the network, you can also retrieve a list of withdrawals for all of them.
Withdrawals are identified by a unique, random id
, and relate to a user's identityId
.
WITHDRAWAL OBJECT
Copy {
"id" : "2642dedd-4fa0-40bf-8b15-7c0513bcdb38" ,
"identityId" : "e65dde2c-4379-42c7-a665-3f476cebb691" ,
"transactionReference" : "0xf6cce2d20d2714fa7be8e1bb8b8cf0abbb12ca3d34d000073742a4da954c1be5" ,
"blockchainAddress" : "0x8ba13aB181E9F30e543C6376Cd408192E95bCD1C" ,
"amount" : null ,
"currency" : "USD" ,
"transactionHash" : null ,
"transferInformation" : {
"transferType" : "wire" ,
"bankAccountName" : "Jonh do bank" ,
"bankAccountNumber" : "1321312312321312" ,
"routingNumber" : "123456789"
} ,
"status" : "prepared" ,
"createdAt" : "2020-02-19T11:43:04.553Z" ,
"updatedAt" : "2020-02-19T11:43:04.553Z"
}
POST /withdrawals
POST
[ENVIRONMENT HOSTNAME]/withdrawals
This endpoint allows you to add a new withdrawal
to the database. If all the params are valid, a new record will be inserted in the database with the withdrawal
information.
This will return a transaction reference that needs to be provided to the transaction when performing the burn token action in the blockchain.
Request Body
200 403 Response given when the identity is not yet approved.
Copy {
"id": "2642dedd-4fa0-40bf-8b15-7c0513bcdb38",
"identityId": "e65dde2c-4379-42c7-a665-3f476cebb691",
"transactionReference": "0xf6cce2d20d2714fa7be8e1bb8b8cf0abbb12ca3d34d000073742a4da954c1be5",
"blockchainAddress": "0x8ba13aB181E9F30e543C6376Cd408192E95bCD1C",
"amount": null,
"currency": "USD",
"transactionHash": null,
"transferInformation": {
"transferType": "wire",
"bankAccountName": "Jonh do bank",
"bankAccountNumber": "1321312312321312",
"routingNumber": "123456789"
},
"status": "prepared",
"paymentDetails": null,
"transactionNumber": null,
"specialType": null,
"createdAt": "2020-02-19T11:43:04.553Z",
"updatedAt": "2020-02-19T11:43:04.553Z"
}
Copy {
"code": "identity_not_approved",
"status": 403
}
Example Call
Request Curl Response
Copy POST [ ENVIRONMENT HOSTNAME ] / withdrawals
{
"blockchainAddress" : "0x8ba13aB181E9F30e543C6376Cd408192E95bCD1C" ,
"currency" : "USD" ,
"identityId" : "e65dde2c-4379-42c7-a665-3f476cebb691" ,
"transferInformation" : {
"transferType" : "wire" ,
"bankAccountName" : "Jonh do bank" ,
"bankAccountNumber" : "1321312312321312" ,
"routingNumber" : "123456789"
}
}
Copy curl -X POST \
[ENVIRONMENT HOSTNAME]/withdrawals \
-H 'Content-Type: application/json' \
-H 'apikey: {INSERT API KEY HERE}' \
-d '{
"blockchainAddress": "0x8ba13aB181E9F30e543C6376Cd408192E95bCD1C",
"currency": "USD",
"identityId": "e65dde2c-4379-42c7-a665-3f476cebb691",
"transferInformation": {
"transferType": "wire",
"bankAccountName": "Jonh do bank",
"bankAccountNumber": "1321312312321312",
"routingNumber": "123456789"
}
}'
Copy {
"id" : "2642dedd-4fa0-40bf-8b15-7c0513bcdb38" ,
"identityId" : "e65dde2c-4379-42c7-a665-3f476cebb691" ,
"transactionReference" : "0xf6cce2d20d2714fa7be8e1bb8b8cf0abbb12ca3d34d000073742a4da954c1be5" ,
"blockchainAddress" : "0x8ba13aB181E9F30e543C6376Cd408192E95bCD1C" ,
"amount" : null ,
"currency" : "USD" ,
"transactionHash" : null ,
"transferInformation" : {
"transferType" : "wire" ,
"bankAccountName" : "Jonh do bank" ,
"bankAccountNumber" : "1321312312321312" ,
"routingNumber" : "123456789"
} ,
"status" : "prepared" ,
"createdAt" : "2020-02-19T11:43:04.553Z" ,
"updatedAt" : "2020-02-19T11:43:04.553Z"
}
On the Sandbox environment, you can use the settle withdrawal endpoint to simulate and settle the withdrawal request you created.
POST /withdrawals/:id/submit
POST
[ENVIRONMENT HOSTNAME]/withdrawals/:id/submit
This method can be used to submit a withdrawal after the tokens were burned in the blockchain. This endpoint receives the transactionHash of the burn operation has a body parameter. This will be used to check if the transaction operation matches the data provided when creating the withdrawal request.
Path Parameters
Request Body
200
Copy {
"id": "37e2b53c-f938-4dce-90ef-7614f7e338f5",
"identityId": "80d82e03-527e-46ff-b5a2-6e5d7d34115c",
"transferType": "wire",
"transactionReference": "0x8722597478bb2ab2964576b9509941269642c2d960ac7bc452cd8cd5f9e64f2e",
"blockchainAddress": "0x8ba13aB181E9F30e543C6376Cd408192E95bCD1C",
"amount": "10",
"currency": "USD",
"transactionHash": "0xfa7102053dceb6cdc59b1580706a9fec7b14333d30d041ad4f03b0d8359f63c8",
"transferMethodId": null,
"status": "submitted",
"paymentDetails": null,
"transactionNumber": null,
"specialType": null,
"createdAt": "2020-02-19T17:20:35.948Z",
"updatedAt": "2020-02-19T17:23:21.068Z"
}
Example Call
Request Curl Response
Copy POST [ ENVIRONMENT HOSTNAME ] / withdrawals / 37e2b53c - f938 - 4dce - 90ef - 7614f7e338f5 / submit
Copy curl --location --request POST 'localhost:3000/withdrawals/37e2b53c-f938-4dce-90ef-7614f7e338f5/submit' \
--header 'Content-Type: application/json' \
--header 'apikey: {{INSERT YOUR API KEY HERE}}' \
--data-raw '{
"transactionHash": "0xfa7102053dceb6cdc59b1580706a9fec7b14333d30d041ad4f03b0d8359f63c8"
}'
Copy {
"id" : "37e2b53c-f938-4dce-90ef-7614f7e338f5" ,
"identityId" : "80d82e03-527e-46ff-b5a2-6e5d7d34115c" ,
"transferType" : "wire" ,
"transactionReference" : "0x8722597478bb2ab2964576b9509941269642c2d960ac7bc452cd8cd5f9e64f2e" ,
"blockchainAddress" : "0x8ba13aB181E9F30e543C6376Cd408192E95bCD1C" ,
"amount" : "10" ,
"currency" : "USD" ,
"transactionHash" : "0xfa7102053dceb6cdc59b1580706a9fec7b14333d30d041ad4f03b0d8359f63c8" ,
"transferMethodId" : null ,
"status" : "submitted" ,
"createdAt" : "2020-02-19T17:20:35.948Z" ,
"updatedAt" : "2020-02-19T17:23:21.068Z"
}
On the Sandbox environment, you can use the settle withdrawal endpoint to simulate and settle the withdrawal request you created.
GET /withdrawals/:id
GET
[ENVIRONMENT HOSTNAME]/withdrawals/:id
This endpoint retrieves a single withdrawal
that you've created by its specific id
attribute.
Path Parameters
200
Copy {
"id": "6f0c5931-326d-431a-87b8-5368dcdf6d61",
"identityId": "28961623-68b4-4fe3-bb16-9636eac5aab2",
"transferInformation": {
"transferType": "wire",
"bankAccountName": "Jonh do bank",
"bankAccountNumber": "1321312312321312",
"routingNumber": "123456789"
},
"transactionReference": "0xd570c59208bd0cd8b5f29d7df86015aa31e0c978e38b6695cf309e0bd77e2764",
"blockchainAddress": "0x8ba13aB181E9F30e543C6376Cd408192E95bCD1C",
"amount": null,
"currency": "USD",
"transactionHash": null,
"status": "prepared",
"paymentDetails": null,
"transactionNumber": null,
"specialType": null,
"createdAt": "2020-02-18T14:41:01.757Z",
"updatedAt": "2020-02-18T14:41:01.757Z"
}
Example Call
Request Curl Response
Copy GET [ ENVIRONMENT HOSTNAME ] / withdrawals / 6f0c5931 - 326d - 431a - 87b8 - 5368dcdf6d61
Copy curl -X GET \
[ENVIRONMENT HOSTNAME]/withdrawals/6f0c5931-326d-431a-87b8-5368dcdf6d61 \
-H 'apikey: {INSERT API KEY HERE}'
Copy {
"id" : "6f0c5931-326d-431a-87b8-5368dcdf6d61" ,
"identityId" : "28961623-68b4-4fe3-bb16-9636eac5aab2" ,
"transferInformation" : {
"transferType" : "wire" ,
"bankAccountName" : "Jonh do bank" ,
"bankAccountNumber" : "1321312312321312" ,
"routingNumber" : "123456789"
} ,
"transactionReference" : "0xd570c59208bd0cd8b5f29d7df86015aa31e0c978e38b6695cf309e0bd77e2764" ,
"blockchainAddress" : "0x8ba13aB181E9F30e543C6376Cd408192E95bCD1C" ,
"amount" : null ,
"currency" : "USD" ,
"transactionHash" : null ,
"status" : "prepared" ,
"createdAt" : "2020-02-18T14:41:01.757Z" ,
"updatedAt" : "2020-02-18T14:41:01.757Z"
}
GET /withdrawals
GET
[ENVIRONMENT HOSTNAME]/withdrawals/
This endpoint returns a list of all withdrawals
submitted by you.
This endpoint supports pagination.
200
Copy {
"total": 1,
"data": [
{
"id": "6f0c5931-326d-431a-87b8-5368dcdf6d61",
"identityId": "28961623-68b4-4fe3-bb16-9636eac5aab2",
"transferInformation": {
"transferType": "wire",
"bankAccountName": "Jonh do bank",
"bankAccountNumber": "1321312312321312",
"routingNumber": "123456789"
},
"transactionReference": "0xd570c59208bd0cd8b5f29d7df86015aa31e0c978e38b6695cf309e0bd77e2764",
"blockchainAddress": "0x8ba13aB181E9F30e543C6376Cd408192E95bCD1C",
"amount": null,
"currency": "USD",
"transactionHash": null,
"status": "prepared",
"createdAt": "2020-02-18T14:41:01.757Z",
"updatedAt": "2020-02-18T14:41:01.757Z"
}
]
}
Example call
Request Curl Response
Copy GET [ ENVIRONMENT HOSTNAME ] / withdrawals
// PAGINATED
GET [ ENVIRONMENT HOSTNAME ] / withdrawals ? page[number] = 1 & page[size] = 1
Copy curl -X GET \
[ENVIRONMENT HOSTNAME]/withdrawals \
-H 'apikey: {INSERT API KEY HERE}'
Copy {
"total" : 1 ,
"data" : [
{
"id" : "6f0c5931-326d-431a-87b8-5368dcdf6d61" ,
"identityId" : "28961623-68b4-4fe3-bb16-9636eac5aab2" ,
"transferInformation" : {
"transferType" : "wire" ,
"bankAccountName" : "Jonh do bank" ,
"bankAccountNumber" : "1321312312321312" ,
"routingNumber" : "123456789"
} ,
"transactionReference" : "0xd570c59208bd0cd8b5f29d7df86015aa31e0c978e38b6695cf309e0bd77e2764" ,
"blockchainAddress" : "0x8ba13aB181E9F30e543C6376Cd408192E95bCD1C" ,
"amount" : null ,
"currency" : "USD" ,
"transactionHash" : null ,
"status" : "prepared" ,
"createdAt" : "2020-02-18T14:41:01.757Z" ,
"updatedAt" : "2020-02-18T14:41:01.757Z"
}
]
}