Curlec · Schema
Transfer
A fund transfer from a merchant or captured payment to a Linked Account (Route). Minimum amount is ₹100 (10000 paise). INR only. Prefix: trf_
CompanyPaymentsPayment GatewayRecurring PaymentsSubscriptionDirect DebitFintechMalaysiaDuitNowFPXWebhookRazorpayA2A
Properties
| Name | Type | Description |
|---|---|---|
| id | string | Transfer ID. Prefix: trf_ |
| entity | string | |
| source | string | Source entity ID (payment ID, order ID, or merchant account ID for direct transfers). |
| recipient | string | Destination Linked Account ID (acc_*). |
| amount | integer | Transfer amount in paise. Minimum 10000 (₹100). |
| currency | string | Always INR for transfers. |
| amount_reversed | integer | Total amount reversed so far in paise. |
| fees | integer | Transfer fee charged in paise. |
| tax | integer | GST on transfer fee in paise. |
| transfer_status | string | Transfer processing status. |
| settlement_status | string | Settlement status of the transferred funds in the Linked Account. |
| on_hold | boolean | If true, settlement of this transfer is on hold. |
| on_hold_until | integer | Unix timestamp until which settlement is on hold. null means indefinite hold. |
| recipient_settlement_id | string | Settlement ID (setl_*) in the Linked Account once settled. |
| notes | object | |
| linked_account_notes | array | Keys from notes that will be visible to the Linked Account in their dashboard. |
| created_at | integer | |
| processed_at | integer | Unix timestamp when the transfer was processed. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/curlec/json-schema/curlec-transfer-schema.json",
"title": "Transfer",
"description": "A fund transfer from a merchant or captured payment to a Linked Account (Route). Minimum amount is ₹100 (10000 paise). INR only. Prefix: trf_",
"x-generated": "2026-11-04",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/curlec-transfers-api-openapi.yml#/components/schemas/Transfer",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Transfer ID. Prefix: trf_"
},
"entity": {
"type": "string",
"enum": [
"transfer"
]
},
"source": {
"type": "string",
"description": "Source entity ID (payment ID, order ID, or merchant account ID for direct transfers)."
},
"recipient": {
"type": "string",
"description": "Destination Linked Account ID (acc_*)."
},
"amount": {
"type": "integer",
"description": "Transfer amount in paise. Minimum 10000 (₹100)."
},
"currency": {
"type": "string",
"enum": [
"INR"
],
"description": "Always INR for transfers."
},
"amount_reversed": {
"type": "integer",
"description": "Total amount reversed so far in paise."
},
"fees": {
"type": "integer",
"description": "Transfer fee charged in paise."
},
"tax": {
"type": "integer",
"description": "GST on transfer fee in paise."
},
"transfer_status": {
"type": "string",
"enum": [
"created",
"pending",
"processed",
"failed",
"reversed",
"partially_reversed"
],
"description": "Transfer processing status."
},
"settlement_status": {
"type": "string",
"enum": [
"pending",
"on_hold",
"settled"
],
"description": "Settlement status of the transferred funds in the Linked Account."
},
"on_hold": {
"type": "boolean",
"description": "If true, settlement of this transfer is on hold."
},
"on_hold_until": {
"type": "integer",
"description": "Unix timestamp until which settlement is on hold. null means indefinite hold."
},
"recipient_settlement_id": {
"type": "string",
"description": "Settlement ID (setl_*) in the Linked Account once settled."
},
"notes": {
"$ref": "#/$defs/Notes"
},
"linked_account_notes": {
"type": "array",
"items": {
"type": "string"
},
"description": "Keys from notes that will be visible to the Linked Account in their dashboard."
},
"created_at": {
"type": "integer"
},
"processed_at": {
"type": "integer",
"description": "Unix timestamp when the transfer was processed."
}
},
"$defs": {
"Notes": {
"type": "object",
"description": "Key-value pairs for storing custom metadata. Maximum 15 pairs. Each key and value must not exceed 256 characters.",
"additionalProperties": {
"type": "string"
},
"maxProperties": 15
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/curlec-transfer"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.