Skip to main content
POST
/
payments
Create payment
curl --request POST \
  --url https://api.natural.co/payments \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "data": {
    "attributes": {
      "amount": "500000",
      "currency": "USD",
      "counterparty": "pty_019cd1798d627ad9bc302511c4f2c115",
      "customer_party_id": "pty_019cd1798d617f65a79cb965dda9eac3",
      "description": "Payment for Q4 2025 development work"
    }
  }
}
'
{
  "data": {
    "type": "transaction",
    "id": "txn_1a2b3c4d5e6f7g8h9i0j1k2l3m4n5o6p",
    "attributes": {
      "amount": "500000",
      "currency": "USD",
      "status": "PENDING",
      "description": "Payment for Q4 2025 development work",
      "claim_link": null,
      "created_at": "2026-01-04T15:30:00Z",
      "updated_at": "2026-01-04T15:30:00Z",
      "instance_id": null
    },
    "relationships": {
      "customer_party": {
        "data": {
          "type": "party",
          "id": "pty_019cd1798d617f65a79cb965dda9eac3"
        }
      },
      "counterparty": {
        "data": {
          "type": "party",
          "id": "pty_019cd1798d627ad9bc302511c4f2c115"
        }
      }
    }
  }
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

Idempotency-Key
string | null

Unique key for idempotent request handling. If a request with the same key was already processed, the original response is returned.

X-Agent-ID
string | null

Agent ID (agt_xxx) identifying which agent is making the request.

X-Instance-ID
string | null

Agent session/conversation ID for observability.

Maximum string length: 1024

Body

application/json

Request to create a payment.

data
PaymentCreateData · object
required

Resource object

Response

Successful Response

Payment response.

data
PaymentResource · object
required

Resource object