Approvals
Contains all endpoints regarding approval requests. Approval requests allow child users without direct withdrawal access to create a request to be reviewed.
This feature enables users who do not have direct withdrawal permission to initiate a withdrawal request that can then be reviewed by a user with approval permission.
Approvers have the option to approve or reject a request, while users who initiate a request have the ability to only cancel their own request.
Fetch approval requests
GET https://api.aquanow.io/accounts/v1/approval
Fetches the approval(s) given by the query parameter.
NOTE: One of startTime or approvalId must be given as a query parameter. Query parameters can not be combined.
Query Parameters
startTime
string
Pagination token that can be used to query more data NOTE: startTime must be within a 90 day range
approvalId
string
yyyy-mm-ddThh:mm:ss.sssZ
UTC time stamp when approval request was created
Returns an ApprovalsObject.
{
"payload": {
"transactionType": "WITHDRAW",
"symbol": "USDT",
"accountId": "CA1000052R",
"address": "0xEE506212EE33ac1ac66D56e9Ea5D5866e8C7168e",
"grossQuantity": 200,
"accountName": "accountName1",
"networkFee": 0.0001,
"networkType": "eth"
},
"action": "WITHDRAW",
"requestedBy": "userOne",
"approvalId": "cba4e337-8876-46fe-9216-438a82ce7697",
"status": "PENDING",
"created": "2024-04-09T17:55:33.889Z",
"username": "companyProfile",
"reviewRecords": [],
"entity": "Approval",
"resource": "BALANCE"
}Returns an array of ApprovalsObject.
[
{
"payload": {
"transactionType": "WITHDRAW",
"symbol": "BTC",
"accountId": "CA1000051R",
"address": "bc1q8k5508tfz299v7ywxj8j4g4p9hkn6n06xndv0d",
"quantity": 0.01,
"accountName": "accountName1"
},
"action": "WITHDRAW",
"requestedBy": "userOne",
"approvalId": "8a927001-c744-412f-8e12-90519fc0c75f",
"status": "APPROVED",
"created": "2024-02-16T21:55:25.478Z",
"username": "companyProfile",
"reviewRecords": [
{
"reviewedAt": "2024-02-16T21:56:46.180Z",
"comment": "123",
"reviewedBy": "userTwo",
"status": "APPROVED"
}
],
"entity": "Approval",
"resource": "BALANCE"
},
{
"payload": {
"transactionType": "WITHDRAW",
"symbol": "USDT",
"accountId": "CA1000052R",
"address": "0xEE506212EE33ac1ac66D56e9Ea5D5866e8C7168e",
"grossQuantity": 200,
"accountName": "accountName1",
"networkFee": 0.0001,
"networkType": "eth"
},
"action": "WITHDRAW",
"requestedBy": "userOne",
"approvalId": "cba4e337-8876-46fe-9216-438a82ce7697",
"status": "PENDING",
"created": "2024-04-09T17:55:33.889Z",
"username": "companyProfile",
"reviewRecords": [],
"entity": "Approval",
"resource": "BALANCE"
},
{
"payload": {
"transactionType": "WITHDRAW",
"symbol": "USDT",
"accountId": "CA1000052R",
"address": "0xEE506212EE33ac1ac66D56e9Ea5D5866e8C7168e",
"quantity": 300,
"accountName": "accountName1",
"networkFee": 0.0001,
"networkType": "eth"
},
"action": "WITHDRAW",
"requestedBy": "userOne",
"approvalId": "9511a211-78f4-43a1-be2c-4162f7338357",
"status": "PENDING",
"created": "2024-04-09T17:56:44.464Z",
"username": "companyProfile",
"reviewRecords": [],
"entity": "Approval",
"resource": "BALANCE"
}
]{
"message": "Invalid KeyConditionExpression: The BETWEEN operator requires upper bound to be greater than or equal to lower bound; lower bound operand: AttributeValue: {S:2023-11-T08:00:00.000Z}, upper bound operand: AttributeValue: {S:2023-06-13T21:20:48.821Z}"
}{
"message": "Invalid query parameters"
}{
"message": "Record not found"
}{
"message": "Query time range must be within 90 days"
}{
"message": "Query endTime must be later than startTime"
}{
"message": "Invalid query parameters"
}Create an approval request
POST https://api.aquanow.io/accounts/v1/approval
Please specify either grossQuantity or quantity inside the payload.
Request Body
Returns an ApprovalsObject.
{
"approvalId": "6c0f9889-323a-4ad2-8041-e2dbddeeb7e8",
"resource": "BALANCE",
"action": "WITHDRAW",
"payload": {
"address": "0x80fB86611a28912a6D26D1bad078977402A324D9",
"symbol": "USDC",
"tag": "hi",
"quantity": 1,
"transactionType": "WITHDRAW",
"networkFee": 0
},
"username": "alex_company",
"requestedBy": "alex_company_ceo",
"reviewRecords": [],
"status": "PENDING"
}{
"message": "Invalid request body"
}{
"message": "Invalid request body"
}Cancel an approval request
DELETE https://api.aquanow.io/accounts/v1/approval
NOTE: Users can only cancel their own approval requests while the request status is PENDING.
Request Body
approvalId*
string
approvalId of approval request
Returns an ApprovalsObject.
{
"approvalId": "58d5081e-82dc-4tcw-a820-8440e4dfo9c0",
"status": "CANCELLED"
}{
"message": "Approval request is invalid to cancel"
}{
"message": "Invalid request body"
}Review an approval request
POST https://api.aquanow.io/accounts/v1/approval/review
User with approver permissions can approve or reject an approval request while the status is PENDING.
Request Body
action*
string
APPROVE | REJECT
approvalId*
string
approvalId of approval request
comment
string
Comment set by reviewer
Returns an ApprovalsObject.
{
"approvalId": "58w5081e-82dc-49cw-a820-844oe4dfq9t4",
"status": "APPROVED"
}{
"message": "Invalid request body"
}{
"message": "Approval is invalid for review"
}Last updated