1. Onboarding
Artha All Module Api's
  • Introduction
  • Authentication
  • KYC/KYB Requirements
  • API Setup Guide
  • Products
    • List Products
      GET
    • Get Product
      GET
    • Get Customer Product Status
      GET
  • Customers
    • Create Customer
      POST
    • List Customers
      GET
    • Get Customer
      GET
    • Submit Applicant (KYC/KYB)
      POST
    • Create Onboarding Session
      POST
  • Wallets
    • Beneficiary
      • Create Crypto Beneficiary
      • Update Crypto Beneficiary
      • List Crypto Withdraw Beneficiaries
    • Create Wallet
      POST
    • Get Wallet Address
      GET
    • Get Customer Balances
      GET
    • List Wallets
      GET
    • List Withdrawals
      GET
    • List Withdrawal Networks
      GET
    • Preview Withdrawal Summary
      POST
    • Create Crypto Withdrawal
      POST
  • Cards
    • Issuance
      • Issue Card
      • List Cards
      • List Customer Cards
      • Get Card Details
      • Get Sensitive Card Details
    • Funding
      • Top Up Card
      • Get Card Balance
      • Get Top-Up Status
      • List Top-Up History
    • Operations
      • Resend Activation Code
      • Activate Card
      • Set Card PIN
      • Change Card PIN
      • Update Card Limits
      • Freeze Card
      • Unfreeze Card
      • Replace Card
      • Cancel Card
      • Get Card Limits
      • Show Card PIN Details
      • Get PIN View Iframe URL
      • Get PIN Change Iframe URL
      • Get PIN Set Iframe URL
      • Get Card View Iframe URL
      • Show Card PIN
  • Payees
    • Create a payee for a customer.
    • List a customer's payees.
    • Update a payee.
    • Retrieve a payee by id.
    • Look up an existing payee.
    • List the currencies a payee can be created in.
    • List the accepted payment purpose codes for a payee.
    • List the countries a payee can be created in.
    • List currency/country pairings for payees.
    • List the accepted beneficiary relationship codes.
  • Payments
    • Onboarding
      • List the customer's payout-currency configuration sections.
        GET
      • Enable a payout-currency section for the customer.
        POST
      • Get the customer's terms-of-service acceptance status.
        GET
      • Enable or disable a payout-currency section.
        PUT
    • Quote
      • List the currencies a beneficiary can be paid in under a product.
      • List the payout rails available for a product and beneficiary.
      • Create an FX quote giving the rate and fee for a cross-currency payout.
    • Order
      • Submit a payout order to send money to a beneficiary.
      • Retrieve the on-chain address to fund an order.
      • Retrieve the status and settlement detail of a payout order.
    • Lookups
      • List the accepted payment purpose codes for a payout.
      • List the accepted source-of-funds codes for a payout.
      • List the document types accepted on a payout order.
  • Banks
    • Accounts
      • Create Bank Account
      • Get Account Details
      • Get Account Issuance Status
    • Withdraw
      • Create Withdrawal Quote
      • List Withdrawal Purposes
      • Get Payment Schemes
      • Execute Withdrawal
  • Exchange
    • Quote
      • Get Exchange Rate
      • Create Price Quote
    • Order
      • Place Exchange Order
  • Transactions
    • List Transactions
    • Get Transaction Details
  • Utilities
    • List Currencies
    • List Countries
    • Get Fee Schedule
    • List Product Occupations
    • List Product Industry Codes
    • Upload File
  • Webhook's
    • Wallets Webhooks
    • Banks Webhooks
    • Payments Webhooks
    • Exchange Webhooks
    • Card Webhooks
  1. Onboarding

Get the customer's terms-of-service acceptance status.

GET
/api/external/v1/onboarding/terms
Returns the terms of service the customer must accept before payouts execute, with the hosted link and the current acceptance state.
Partner-facing projection of the internal sender TOS status: the link, status, version
and timestamps only. The provider code, sender and agreement ids, session token and the
raw upstream payload are not exposed.
404 when no terms step applies to this customer — either no sender is registered yet, or
the corridor has no terms gate. That is a normal state, not an error to retry.
Prerequisites: none, but a 404 is expected (not an error) until the customer has a sender registered with the relevant provider.
Important: orders will be rejected until isAccepted is true for corridors that gate on terms. Check this before submitting an order for a new customer/corridor combination.
Related: enable the currency section that triggers a terms requirement via POST or PUT onboarding/currencies.

📤 Response Fields#

200 response:
FieldTypeNullableDescription
dataobjectNoThe terms of service the customer must accept before payouts can be executed, and where they stand with them. External projection of the aggregator's TosStatusResult. Only the fields a partner acts on are carried across: the provider code, sender id, agreement id, session token, sender name and email, the raw provider response and the provider's error text all stay internal. The raw response in particular is the provider's own payload — returning it would disclose which provider serves the customer and would break the moment that routing changed.
data.tosLinkstringYesThe hosted link the customer opens to read and accept the terms. Present while acceptance is outstanding; may be null once the terms are accepted or the link expired. Show it to the customer — it is not for server-to-server use.
data.statusstringYesAcceptance status as reported upstream, e.g. "pending" or "accepted".
data.isAcceptedbooleanYesTrue once the customer has accepted. The authoritative flag to branch on.
data.isExpiredbooleanYesTrue when the link has lapsed and a fresh one must be requested.
data.tosVersionstringYesVersion of the terms the link refers to.
data.acceptedAtstring (date-time)YesWhen the customer accepted, if they have.
data.generatedAtstring (date-time)YesWhen the current link was issued.
data.expiresAtstring (date-time)YesWhen the current link lapses.
requestIdstringYes—
timestampstring (date-time)No—

Request

Query Params

Header Params

Responses

🟢200
application/json
OK
Bodyapplication/json

🟠401
🟠403
🟠404
🟠429
Request Request Example
Shell
JavaScript
Java
Swift
curl --location '/api/external/v1/onboarding/terms?customerId=c1f4a9d2-6b3e-4a7c-9f1d-2e8b5c0a7d31' \
--header 'X-API-Key: ak_live_8f3a9b2c7e1d4f6a9b0c2d5e8f1a3b6c' \
--header 'X-Signature: kZ3fQeT2m7xVvC9pR1sLdY8bN0hU4jK6oW5aE2gI7cQ=' \
--header 'X-Timestamp: 1758556800' \
--header 'X-Nonce: 3fa85f64-5717-4562-b3fc-2c963f66afa6' \
--header 'X-Body-Hash: 47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='
Response Response Example
200 - Success
{
    "data": {
        "tosLink": "https://terms.provider.example.com/session/8f3a2c7e1b9d4f6a",
        "status": "pending",
        "isAccepted": false,
        "isExpired": false,
        "tosVersion": "2026-01",
        "acceptedAt": null,
        "generatedAt": "2026-09-20T09:12:00Z",
        "expiresAt": "2026-09-27T09:12:00Z"
    },
    "requestId": "req_4f9a2c7e1b8d3f6a9c2e0b7d1f8a3c6e",
    "timestamp": "2026-09-22T14:03:11Z"
}
Modified at 2026-09-22 10:35:55
Previous
Enable a payout-currency section for the customer.
Next
Enable or disable a payout-currency section.
Built with