1. Payees
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.
      POST
    • List a customer's payees.
      GET
    • Update a payee.
      PUT
    • Retrieve a payee by id.
      GET
    • Look up an existing payee.
      GET
    • List the currencies a payee can be created in.
      GET
    • List the accepted payment purpose codes for a payee.
      GET
    • List the countries a payee can be created in.
      GET
    • List currency/country pairings for payees.
      GET
    • List the accepted beneficiary relationship codes.
      GET
  • Payments
    • Onboarding
      • List the customer's payout-currency configuration sections.
      • Enable a payout-currency section for the customer.
      • Get the customer's terms-of-service acceptance status.
      • Enable or disable a payout-currency section.
    • 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. Payees

Look up an existing payee.

GET
/api/v1/payments/payee/lookup
⚠️ Contract note: this operation currently declares no query parameters in the source specification — there is no documented way to say which payee to look up (by IBAN, account number, external reference, etc.). The description below documents the endpoint as specified; confirm the intended lookup key with your Artha integration contact before relying on this call, since the contract as given appears incomplete.
Prerequisites: none beyond the standard auth headers, as documented.
Notes: intended to find an existing payee without paging through GET /payee — for example to detect a duplicate before calling POST /payee again.
Async vs sync: synchronous read. Returns a null data when no match is found rather than a 404, so a caller can distinguish "no match" from "request failed."

📤 Response Fields#

200 response:
FieldTypeNullableDescription
dataobjectYesA saved payee (beneficiary) record.
data.idstring (uuid)NoThe payee id — pass this as {payeeId} on GET/PUT calls and, elsewhere in the platform, as the beneficiary reference on a payout order.
data.customerIdstring (uuid)NoThe customer this payee belongs to.
data.favouriteNamestringNoThe partner-supplied display label for this payee, as given on create/update.
data.currencystringNoThe payout currency this payee is set up to receive.
data.statusstringYesPayee lifecycle status. See the status table above.
data.beneficiaryobjectNo—
data.beneficiary.individualobjectNoPopulate this when the beneficiary is a natural person. Mutually exclusive in practice with business — supply one or the other.
data.beneficiary.individual.firstNamestringYesGiven name, when the beneficiary is an individual.
data.beneficiary.individual.middleNamestringYesMiddle name, if applicable.
data.beneficiary.individual.lastNamestringYesFamily name, when the beneficiary is an individual.
data.beneficiary.businessobjectNoPopulate this when the beneficiary is a company. Mutually exclusive in practice with individual.
data.beneficiary.business.namestringYesRegistered business name, when the beneficiary is a business rather than an individual.
data.beneficiary.contactobjectNoContact details for the beneficiary, individual or business.
data.beneficiary.contact.emailstring (email)YesThe beneficiary's email address, used for payout notifications where the corridor supports them.
data.beneficiary.contact.phoneobjectNoThe beneficiary's phone number.
data.beneficiary.contact.phone.countryCodestringYesPhone country calling code, e.g. "+1".
data.beneficiary.contact.phone.numberstringYesLocal phone number, digits only.
data.addressobjectNo—
data.address.line1stringYesStreet address line.
data.address.citystringYesCity or town.
data.address.statestringYesState, province or region, where applicable.
data.address.postalCodestringYesPostal or ZIP code.
data.address.countrystringYesCountry name. Check GET /payee/countries for the accepted values for a given currency.
data.kycDetailsobjectNo—
data.kycDetails.businessTypestringYesLegal business type, e.g. "llc" or "corporation" — required for business beneficiaries in some corridors.
data.kycDetails.businessRegistrationNumberstringYesGovernment-issued business registration number.
data.bankAccountobjectNo—
data.bankAccount.accountTypestringYesAccount type at the bank, e.g. "checking" or "savings" — required for some corridors (notably US ACH), ignored for others.
data.bankAccount.bankNamestringYesName of the beneficiary bank.
data.bankAccount.bankCountrystringYesCountry the beneficiary bank is domiciled in.
data.bankAccount.bankCodestringYesLocal bank identifier where the corridor uses one instead of (or alongside) a SWIFT/BIC code, e.g. a sort-code-style bank code.
data.bankAccount.accountNumberstringYesThe local account number. Not required where iban is supplied instead.
data.bankAccount.ibanstringYesIBAN, for corridors that use it in place of a local account number.
data.bankAccount.swiftBicstringYesSWIFT/BIC code identifying the beneficiary bank for international wires.
data.bankAccount.routingNumberstringYesUS ABA routing number, for US domestic transfers.
data.bankAccount.sortCodestringYesUK sort code, for GBP domestic transfers.
data.bankAccount.branchCodestringYesBank branch identifier, where the corridor distinguishes branches separately from the bank code.
data.paymentobjectNo—
data.payment.typestringYesPayment method for payouts to this payee, e.g. "bank_transfer".
data.payment.purposestringYesDefault payment purpose for payouts to this payee. Check GET /payee/purposes for accepted values.
data.payment.providerFieldsobjectYesFree-form key/value bag for provider-specific fields a particular corridor needs beyond the modeled ones above. Keys and value shapes vary by provider and corridor — confirm with your integration contact before relying on a specific key.
data.createdAtstring (date-time)NoWhen the payee was created.
data.updatedAtstring (date-time)YesWhen the payee was last updated.
requestIdstringYes—
timestampstring (date-time)No—

Request

Header Params

Responses

🟢200
application/json
OK
Bodyapplication/json

🟠401
🟠403
🟠429
Request Request Example
Shell
JavaScript
Java
Swift
curl --location '/api/v1/payments/payee/lookup' \
--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": {
        "id": "4d8f2a7c-9b1e-4c6d-8a3f-7e2b0c9d1a56",
        "customerId": "c1f4a9d2-6b3e-4a7c-9f1d-2e8b5c0a7d31",
        "favouriteName": "Acme Supplier — EUR",
        "currency": "EUR",
        "status": "active",
        "beneficiary": {
            "business": {
                "name": "Acme Trading GmbH"
            },
            "contact": {
                "email": "payments@acmetrading.example",
                "phone": {
                    "countryCode": "+49",
                    "number": "3012345678"
                }
            }
        },
        "address": {
            "line1": "Friedrichstrasse 123",
            "city": "Berlin",
            "state": null,
            "postalCode": "10117",
            "country": "Germany"
        },
        "kycDetails": {
            "businessType": "gmbh",
            "businessRegistrationNumber": "HRB123456B"
        },
        "bankAccount": {
            "accountType": null,
            "bankName": "Deutsche Bank",
            "bankCountry": "Germany",
            "bankCode": null,
            "accountNumber": null,
            "iban": "DE89370400440532013000",
            "swiftBic": "DEUTDEFF",
            "routingNumber": null,
            "sortCode": null,
            "branchCode": null
        },
        "payment": {
            "type": "bank_transfer",
            "purpose": "payment_for_services",
            "providerFields": null
        },
        "createdAt": "2026-09-20T09:12:00Z",
        "updatedAt": "2026-09-22T14:02:00Z"
    },
    "requestId": "req_4f9a2c7e1b8d3f6a9c2e0b7d1f8a3c6e",
    "timestamp": "2026-09-22T14:03:11Z"
}
Modified at 2026-09-23 04:45:35
Previous
Retrieve a payee by id.
Next
List the currencies a payee can be created in.
Built with