> For the complete documentation index, see [llms.txt](https://docs.orda.network/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.orda.network/api-reference/api-reference/recipients.md).

# Recipients

Operations for managing recipient accounts

## Fetch recipients

> Retrieve a paginated list of recipients for the authenticated project. Only returns active recipients.\
> \
> \### Authentication\
> \
> All API requests to orda require HMAC signatures using your project's client ID and client secret. The signature is a HMAC-SHA256 hash of the string \`"{}"\` (no request body for GET requests), using your Client Secret as the key.\
> \
> \#### Required Headers\
> \
> \| Header | Description |\
> \|--------|-------------|\
> \| \`x-client-id\` | Your project's client ID |\
> \| \`x-signature\` | HMAC-SHA256 signature (hash of \`"{}"\` for GET requests) |\
> \
> \--\
> \
> \*\*Response Details:\*\*\
> \- Returns only \*\*active\*\* recipients (deactivated recipients are excluded)\
> \- Recipients are scoped to the authenticated project\
> \- Includes full settlement details (crypto and/or fiat)\
> \- Includes KYC information when available\
> \- Results are ordered alphabetically by recipient name\
> \- Smart wallet information included when recipient was created with generated smart wallet<br>

```json
{"openapi":"3.0.3","info":{"title":"Orda API","version":"1.1.0"},"tags":[{"name":"Recipients","description":"Operations for managing recipient accounts"}],"servers":[{"url":"https://api.orda.network/v1","description":"Default API path"}],"security":[{"ClientId":[],"Signature":[],"Timestamp":[]}],"components":{"securitySchemes":{"ClientId":{"type":"apiKey","in":"header","name":"x-client-id","description":"Your project client ID from orda dashboard"}},"parameters":{"ClientIdHeader":{"name":"x-client-id","in":"header","required":true,"description":"Your project client ID from orda dashboard","schema":{"type":"string","default":"prj_abc123def456ghi789"}},"SignatureHeader":{"name":"x-signature","in":"header","required":true,"description":"HMAC-SHA256 signature of canonical request body using your client secret","schema":{"type":"string","default":"a1b2c3d4e5f6789abc123def456ghi789abc123def456"}},"TimestampHeader":{"name":"x-timestamp","in":"header","required":false,"description":"Unix timestamp in milliseconds for replay protection (recommended)","schema":{"type":"string","default":"1704067200000"}}},"schemas":{"Error":{"type":"object","properties":{"error":{"type":"string","description":"Error type identifier"},"message":{"type":"string","description":"Human-readable error message"},"correlationId":{"type":"string","description":"Request correlation ID for debugging"}}}}},"paths":{"/recipients":{"get":{"summary":"Fetch recipients","description":"Retrieve a paginated list of recipients for the authenticated project. Only returns active recipients.\n\n### Authentication\n\nAll API requests to orda require HMAC signatures using your project's client ID and client secret. The signature is a HMAC-SHA256 hash of the string `\"{}\"` (no request body for GET requests), using your Client Secret as the key.\n\n#### Required Headers\n\n| Header | Description |\n|--------|-------------|\n| `x-client-id` | Your project's client ID |\n| `x-signature` | HMAC-SHA256 signature (hash of `\"{}\"` for GET requests) |\n\n--\n\n**Response Details:**\n- Returns only **active** recipients (deactivated recipients are excluded)\n- Recipients are scoped to the authenticated project\n- Includes full settlement details (crypto and/or fiat)\n- Includes KYC information when available\n- Results are ordered alphabetically by recipient name\n- Smart wallet information included when recipient was created with generated smart wallet\n","tags":["Recipients"],"parameters":[{"$ref":"#/components/parameters/ClientIdHeader"},{"$ref":"#/components/parameters/SignatureHeader"},{"$ref":"#/components/parameters/TimestampHeader"},{"name":"page","in":"query","description":"Page number for pagination","required":false,"schema":{"type":"integer","minimum":1,"default":1}},{"name":"limit","in":"query","description":"Number of recipients per page","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}},{"name":"toAddress","in":"query","description":"Filter by destination wallet address of the recipient's crypto settlement","required":false,"schema":{"type":"string"}},{"name":"name","in":"query","description":"Filter by recipient name","required":false,"schema":{"type":"string"}},{"name":"pixKey","in":"query","description":"Filter by the PIX key on the recipient's fiat settlement","required":false,"schema":{"type":"string"}},{"name":"taxId","in":"query","description":"Filter by the tax ID on the recipient's KYC information","required":false,"schema":{"type":"string"}},{"name":"chainIds","in":"query","description":"Filter by one or more destination chain IDs of the recipient's crypto\nsettlement. Accepts a single chain ID, a comma-separated list\n(e.g. `1,8453,42161`), or a repeated array query parameter.\n","required":false,"schema":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}}],"responses":{"200":{"description":"Recipients retrieved successfully","headers":{"X-Total-Count":{"description":"Total number of recipients","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique recipient identifier"},"name":{"type":"string","description":"Recipient name"},"isActive":{"type":"boolean","description":"Whether the recipient is active"},"projectId":{"type":"string","description":"Associated project ID"},"organizationId":{"type":"string","description":"Associated organization ID"},"smartWalletAddress":{"type":"string","nullable":true,"description":"Smart wallet address if generated"},"walletType":{"type":"string","enum":["ALCHEMY_SMART_WALLET","USER_PROVIDED"],"description":"Type of wallet"},"cryptoSettlement":{"type":"object","nullable":true,"properties":{"id":{"type":"string"},"toChain":{"type":"string","description":"Destination blockchain chain ID"},"toToken":{"type":"string","description":"Destination token address"},"toAddress":{"type":"string","description":"Destination wallet address"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}},"fiatSettlement":{"type":"object","nullable":true,"properties":{"id":{"type":"string"},"toCurrency":{"type":"string","description":"Fiat currency code"},"method":{"type":"string","enum":["PIX","IBAN","CBU","unknown"],"description":"Settlement method"},"pixDetails":{"type":"object","nullable":true,"properties":{"pixKey":{"type":"string"},"keyType":{"type":"string","nullable":true,"description":"Always returned as `null` on the public API.\nThe PIX key type is not persisted/derived for\nlist responses.\n"}}},"ibanDetails":{"type":"object","nullable":true,"properties":{"iban":{"type":"string"},"bankAccount":{"type":"string"},"bankBranch":{"type":"string"},"bankAccountType":{"type":"string"}}},"cbuDetails":{"type":"object","nullable":true,"properties":{"cbu":{"type":"string"},"cvu":{"type":"string"}}}}},"kycInformation":{"type":"object","nullable":true,"properties":{"taxId":{"type":"string","description":"Tax identification number of the recipient. For Brazil\n(`taxIdCountry: 'BRA'`), send the CPF as 11 unformatted digits or the\nCNPJ as 14 unformatted digits — no dots, dashes, or slashes.\nFormatted values such as `023.717.365-46` are rejected with a 400\nvalidation error. Non-Brazilian `taxId` values are accepted as-is.\n"},"taxIdCountry":{"type":"string","description":"Country code for tax ID (use 'BRA' for Brazil, ISO 3166-1 alpha-3)"},"name":{"type":"string","description":"Full name"},"email":{"type":"string","description":"Email address"}}},"createdAt":{"type":"string","format":"date-time","description":"Recipient creation timestamp"},"updatedAt":{"type":"string","format":"date-time","description":"Last update timestamp"}}}},"pagination":{"type":"object","properties":{"page":{"type":"integer","description":"Current page number"},"limit":{"type":"integer","description":"Number of items per page"},"totalCount":{"type":"integer","description":"Total number of recipients"},"totalPages":{"type":"integer","description":"Total number of pages"}}}}}}}},"401":{"description":"Unauthorized - Invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}}}
```

## Create a recipient

> Create a new recipient for payments. Recipients can have crypto settlement details, \
> fiat settlement details with KYC information, or both.\
> \### Authentication\
> \
> All API requests to orda require HMAC signatures using your project's client ID and client secret. The signature is a HMAC-SHA256 hash of the request body, using your Client Secret as the key. For GET or endpoints with no request body, use the string \`"{}"\` (canonical empty object) for the signature.\
> \
> \#### Required Headers\
> \
> \| Header | Description |\
> \|--------|-------------|\
> \| \`x-client-id\` | Your project's client ID |\
> \| \`x-signature\` | HMAC-SHA256 signature derived from your client secret |\
> \| \`Content-Type\` | \`application/json\` for this request |\
> \
> \--\
> \
> \*\*Important Notes:\*\*\
> \- A \`name\` alone is \*\*not\*\* sufficient to create a recipient. You must also provide\
> &#x20; settlement details: either \`cryptoSettlementDetails\`, OR both\
> &#x20; \`fiatSettlementDetails\` and \`kycInformation\`. Requests with only a \`name\` are\
> &#x20; rejected with a 400 validation error.\
> \- The \`cryptoSettlementDetails\` object contains blockchain settlement information\
> \- The \`kycInformation\` object is required for \`fiatSettlementDetails\`\
> \- Both \`kycInformation\` and \`fiatSettlementDetails\` are optional for crypto-only transactions\
> \- You need a project client ID to create recipients<br>

```json
{"openapi":"3.0.3","info":{"title":"Orda API","version":"1.1.0"},"tags":[{"name":"Recipients","description":"Operations for managing recipient accounts"}],"servers":[{"url":"https://api.orda.network/v1","description":"Default API path"}],"security":[{"ClientId":[],"Signature":[],"Timestamp":[]}],"components":{"securitySchemes":{"ClientId":{"type":"apiKey","in":"header","name":"x-client-id","description":"Your project client ID from orda dashboard"}},"parameters":{"ClientIdHeader":{"name":"x-client-id","in":"header","required":true,"description":"Your project client ID from orda dashboard","schema":{"type":"string","default":"prj_abc123def456ghi789"}},"SignatureHeader":{"name":"x-signature","in":"header","required":true,"description":"HMAC-SHA256 signature of canonical request body using your client secret","schema":{"type":"string","default":"a1b2c3d4e5f6789abc123def456ghi789abc123def456"}},"TimestampHeader":{"name":"x-timestamp","in":"header","required":false,"description":"Unix timestamp in milliseconds for replay protection (recommended)","schema":{"type":"string","default":"1704067200000"}}},"schemas":{"Error":{"type":"object","properties":{"error":{"type":"string","description":"Error type identifier"},"message":{"type":"string","description":"Human-readable error message"},"correlationId":{"type":"string","description":"Request correlation ID for debugging"}}}}},"paths":{"/create-recipient":{"post":{"summary":"Create a recipient","description":"Create a new recipient for payments. Recipients can have crypto settlement details, \nfiat settlement details with KYC information, or both.\n### Authentication\n\nAll API requests to orda require HMAC signatures using your project's client ID and client secret. The signature is a HMAC-SHA256 hash of the request body, using your Client Secret as the key. For GET or endpoints with no request body, use the string `\"{}\"` (canonical empty object) for the signature.\n\n#### Required Headers\n\n| Header | Description |\n|--------|-------------|\n| `x-client-id` | Your project's client ID |\n| `x-signature` | HMAC-SHA256 signature derived from your client secret |\n| `Content-Type` | `application/json` for this request |\n\n--\n\n**Important Notes:**\n- A `name` alone is **not** sufficient to create a recipient. You must also provide\n  settlement details: either `cryptoSettlementDetails`, OR both\n  `fiatSettlementDetails` and `kycInformation`. Requests with only a `name` are\n  rejected with a 400 validation error.\n- The `cryptoSettlementDetails` object contains blockchain settlement information\n- The `kycInformation` object is required for `fiatSettlementDetails`\n- Both `kycInformation` and `fiatSettlementDetails` are optional for crypto-only transactions\n- You need a project client ID to create recipients\n","tags":["Recipients"],"parameters":[{"$ref":"#/components/parameters/ClientIdHeader"},{"$ref":"#/components/parameters/SignatureHeader"},{"$ref":"#/components/parameters/TimestampHeader"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["name"],"properties":{"name":{"type":"string","description":"Name of the recipient"},"cryptoSettlementDetails":{"type":"object","description":"Crypto settlement details (optional - can be added later or provided during transaction)","required":["toChain","toToken","toAddress"],"properties":{"toChain":{"type":"string","description":"Destination blockchain chain ID"},"toToken":{"type":"string","description":"Destination token contract address"},"toAddress":{"type":"string","description":"Destination wallet address"}}},"kycInformation":{"type":"object","description":"KYC information for the recipient (required for fiat settlements)","properties":{"taxId":{"type":"string","description":"Tax identification number of the recipient. For Brazil\n(`taxIdCountry: 'BRA'`), send the CPF as 11 unformatted digits or the\nCNPJ as 14 unformatted digits — no dots, dashes, or slashes.\nFormatted values such as `023.717.365-46` are rejected with a 400\nvalidation error. Non-Brazilian `taxId` values are accepted as-is.\n"},"taxIdCountry":{"type":"string","description":"ISO 3166-1 alpha-3 country code for the tax ID (e.g. `BRA` for Brazil)"},"email":{"type":"string","description":"Email address of the recipient"},"name":{"type":"string","description":"Full name of the recipient"}}},"fiatSettlementDetails":{"type":"object","description":"Bank account and fiat currency details for fiat settlement (requires kycInformation)","properties":{"toCurrency":{"type":"string","description":"Destination fiat currency code"},"bankAccount":{"type":"string","description":"Bank account number"},"bankBranch":{"type":"string","description":"Bank's identifier"},"bankAccountType":{"type":"string","description":"The current account type in target bank"},"iban":{"type":"string","description":"International bank account number"},"pixKey":{"type":"string","description":"PIX key for Brazilian recipients. Supported types:\n  - email (e.g. `user@example.com`)\n  - E.164 phone (e.g. `+5511999999999`)\n  - random UUID / EVP (e.g. `123e4567-e89b-12d3-a456-426614174000`)\n  - CPF (11 digits, unformatted — e.g. `12345678901`)\n  - CNPJ (14 digits, unformatted — e.g. `12345678000190`)\n\nCPF/CNPJ keys must be digits only. Formatted values such as\n`023.717.365-46` or `12.345.678/0001-90` are rejected with a 400\nvalidation error — strip punctuation client-side before sending.\n"},"cbuCvu":{"type":"string","description":"CBU/CVU for Argentina"}}}}}}}},"responses":{"201":{"description":"Recipient created successfully","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"recipientId":{"type":"string","description":"Generated recipient ID"}}}}}},"400":{"description":"Bad Request - Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Unauthorized - Invalid client ID","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found - Project not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Conflict - Recipient with same name already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Unprocessable Entity - Invalid data format","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}}}
```

## Update recipient details

> Update an existing recipient's settlement details.\
> \### Authentication\
> \
> All API requests to orda require HMAC signatures using your project's client ID and client secret. The signature is a HMAC-SHA256 hash of the request body, using your Client Secret as the key. For GET or endpoints with no request body, use the string \`"{}"\` (canonical empty object) for the signature.\
> \
> \#### Required Headers\
> \
> \| Header | Description |\
> \|--------|-------------|\
> \| \`x-client-id\` | Your project's client ID |\
> \| \`x-signature\` | HMAC-SHA256 signature derived from your client secret |\
> \| \`Content-Type\` | \`application/json\` for this request |\
> \
> \---\
> \
> \*\*Important Notes:\*\*\
> \- The recipient ID will remain the same despite settlement details changing\
> \- The response includes previously stored settlement details for audit trail\
> \- You need the project's client ID to update recipients<br>

```json
{"openapi":"3.0.3","info":{"title":"Orda API","version":"1.1.0"},"tags":[{"name":"Recipients","description":"Operations for managing recipient accounts"}],"servers":[{"url":"https://api.orda.network/v1","description":"Default API path"}],"security":[{"ClientId":[],"Signature":[],"Timestamp":[]}],"components":{"securitySchemes":{"ClientId":{"type":"apiKey","in":"header","name":"x-client-id","description":"Your project client ID from orda dashboard"}},"parameters":{"ClientIdHeader":{"name":"x-client-id","in":"header","required":true,"description":"Your project client ID from orda dashboard","schema":{"type":"string","default":"prj_abc123def456ghi789"}},"SignatureHeader":{"name":"x-signature","in":"header","required":true,"description":"HMAC-SHA256 signature of canonical request body using your client secret","schema":{"type":"string","default":"a1b2c3d4e5f6789abc123def456ghi789abc123def456"}},"TimestampHeader":{"name":"x-timestamp","in":"header","required":false,"description":"Unix timestamp in milliseconds for replay protection (recommended)","schema":{"type":"string","default":"1704067200000"}}},"schemas":{"Error":{"type":"object","properties":{"error":{"type":"string","description":"Error type identifier"},"message":{"type":"string","description":"Human-readable error message"},"correlationId":{"type":"string","description":"Request correlation ID for debugging"}}}}},"paths":{"/update-recipient":{"put":{"summary":"Update recipient details","description":"Update an existing recipient's settlement details.\n### Authentication\n\nAll API requests to orda require HMAC signatures using your project's client ID and client secret. The signature is a HMAC-SHA256 hash of the request body, using your Client Secret as the key. For GET or endpoints with no request body, use the string `\"{}\"` (canonical empty object) for the signature.\n\n#### Required Headers\n\n| Header | Description |\n|--------|-------------|\n| `x-client-id` | Your project's client ID |\n| `x-signature` | HMAC-SHA256 signature derived from your client secret |\n| `Content-Type` | `application/json` for this request |\n\n---\n\n**Important Notes:**\n- The recipient ID will remain the same despite settlement details changing\n- The response includes previously stored settlement details for audit trail\n- You need the project's client ID to update recipients\n","tags":["Recipients"],"parameters":[{"$ref":"#/components/parameters/ClientIdHeader"},{"$ref":"#/components/parameters/SignatureHeader"},{"$ref":"#/components/parameters/TimestampHeader"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["recipientId"],"properties":{"recipientId":{"type":"string","description":"ID of the recipient to update"},"cryptoSettlementDetails":{"type":"object","properties":{"toChain":{"type":"string"},"toToken":{"type":"string"},"toAddress":{"type":"string"}}},"kycInformation":{"type":"object","properties":{"taxId":{"type":"string","description":"Tax identification number of the recipient. For Brazil\n(`taxIdCountry: 'BRA'`), send the CPF as 11 unformatted digits or the\nCNPJ as 14 unformatted digits — no dots, dashes, or slashes.\nFormatted values such as `023.717.365-46` are rejected with a 400\nvalidation error. Non-Brazilian `taxId` values are accepted as-is.\n"},"taxIdCountry":{"type":"string","description":"ISO 3166-1 alpha-3 country code for the tax ID (e.g. `BRA` for Brazil)"},"email":{"type":"string"},"name":{"type":"string"}}},"fiatSettlementDetails":{"type":"object","properties":{"toCurrency":{"type":"string"},"bankAccount":{"type":"string"},"bankBranch":{"type":"string"},"bankAccountType":{"type":"string"},"iban":{"type":"string"},"pixKey":{"type":"string","description":"PIX key for Brazilian recipients. Supported types:\n  - email (e.g. `user@example.com`)\n  - E.164 phone (e.g. `+5511999999999`)\n  - random UUID / EVP (e.g. `123e4567-e89b-12d3-a456-426614174000`)\n  - CPF (11 digits, unformatted — e.g. `12345678901`)\n  - CNPJ (14 digits, unformatted — e.g. `12345678000190`)\n\nCPF/CNPJ keys must be digits only. Formatted values such as\n`023.717.365-46` or `12.345.678/0001-90` are rejected with a 400\nvalidation error — strip punctuation client-side before sending.\n"},"cbuCvu":{"type":"string"}}}}}}}},"responses":{"200":{"description":"Recipient updated successfully","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"previousDetails":{"type":"object","description":"Snapshot of the recipient's settlement details before this update,\ncaptured for audit purposes. Only the settlement types that were\nchanged are present; unchanged sections are omitted.\n","properties":{"crypto":{"type":"object","description":"Previous crypto settlement details (present only if crypto settlement was updated)","properties":{"toChain":{"type":"string"},"toToken":{"type":"string"},"toAddress":{"type":"string"},"updatedAt":{"type":"string","format":"date-time"}}},"fiat":{"type":"object","description":"Previous fiat settlement details (present only if fiat settlement was updated)","properties":{"toCurrency":{"type":"string","nullable":true},"bankAccount":{"type":"string","nullable":true},"bankBranch":{"type":"string","nullable":true},"bankAccountType":{"type":"string","nullable":true},"iban":{"type":"string","nullable":true},"pixKey":{"type":"string","nullable":true},"cbuCvu":{"type":"string","nullable":true,"description":"Previous CBU and CVU joined as `cbu,cvu`"},"updatedAt":{"type":"string","format":"date-time"}}}}}}}}}},"400":{"description":"Bad Request - Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Unauthorized - Invalid client ID","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found - Recipient not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Unprocessable Entity - Invalid data format","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}}}
```

## Deactivate a recipient

> \
> Deactivate a recipient to prevent it from processing further transactions.\
> Existing transactions will not be affected.\
> \### Authentication\
> \
> All API requests to orda require HMAC signatures using your project's client ID and client secret. The signature is a HMAC-SHA256 hash of the request body, using your Client Secret as the key. For GET or endpoints with no request body, use the string \`"{}"\` (canonical empty object) for the signature.\
> \
> \#### Required Headers\
> \
> \| Header | Description |\
> \|--------|-------------|\
> \| \`x-client-id\` | Your project's client ID |\
> \| \`x-signature\` | HMAC-SHA256 signature derived from your client secret |\
> \| \`Content-Type\` | \`application/json\` for this request |\
> \
> \---\
> \
> \*\*Important Notes:\*\*\
> \- Only the business can deactivate their recipients\
> \- New transactions using the deactivated recipient's ID will be rejected<br>

```json
{"openapi":"3.0.3","info":{"title":"Orda API","version":"1.1.0"},"tags":[{"name":"Recipients","description":"Operations for managing recipient accounts"}],"servers":[{"url":"https://api.orda.network/v1","description":"Default API path"}],"security":[{"ClientId":[],"Signature":[],"Timestamp":[]}],"components":{"securitySchemes":{"ClientId":{"type":"apiKey","in":"header","name":"x-client-id","description":"Your project client ID from orda dashboard"}},"parameters":{"ClientIdHeader":{"name":"x-client-id","in":"header","required":true,"description":"Your project client ID from orda dashboard","schema":{"type":"string","default":"prj_abc123def456ghi789"}},"SignatureHeader":{"name":"x-signature","in":"header","required":true,"description":"HMAC-SHA256 signature of canonical request body using your client secret","schema":{"type":"string","default":"a1b2c3d4e5f6789abc123def456ghi789abc123def456"}},"TimestampHeader":{"name":"x-timestamp","in":"header","required":false,"description":"Unix timestamp in milliseconds for replay protection (recommended)","schema":{"type":"string","default":"1704067200000"}}},"schemas":{"Error":{"type":"object","properties":{"error":{"type":"string","description":"Error type identifier"},"message":{"type":"string","description":"Human-readable error message"},"correlationId":{"type":"string","description":"Request correlation ID for debugging"}}}}},"paths":{"/deactivate-recipient":{"put":{"summary":"Deactivate a recipient","description":"\nDeactivate a recipient to prevent it from processing further transactions.\nExisting transactions will not be affected.\n### Authentication\n\nAll API requests to orda require HMAC signatures using your project's client ID and client secret. The signature is a HMAC-SHA256 hash of the request body, using your Client Secret as the key. For GET or endpoints with no request body, use the string `\"{}\"` (canonical empty object) for the signature.\n\n#### Required Headers\n\n| Header | Description |\n|--------|-------------|\n| `x-client-id` | Your project's client ID |\n| `x-signature` | HMAC-SHA256 signature derived from your client secret |\n| `Content-Type` | `application/json` for this request |\n\n---\n\n**Important Notes:**\n- Only the business can deactivate their recipients\n- New transactions using the deactivated recipient's ID will be rejected\n","tags":["Recipients"],"parameters":[{"$ref":"#/components/parameters/ClientIdHeader"},{"$ref":"#/components/parameters/SignatureHeader"},{"$ref":"#/components/parameters/TimestampHeader"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["recipientId"],"properties":{"recipientId":{"type":"string","description":"ID of the recipient to deactivate"}}}}}},"responses":{"200":{"description":"Recipient deactivated successfully","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"data":{"type":"object","properties":{"recipientId":{"type":"string","description":"ID of the deactivated recipient"},"recipientName":{"type":"string"},"deactivatedAt":{"type":"string","format":"date-time"}}}}}}}},"400":{"description":"Bad Request - Missing recipient ID","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Unauthorized - Invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found - Recipient not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}}}
```
