Skip to main content
POST
/
api
/
v2
/
payouts
Create Payouts
curl --request POST \
  --url https://sandbox.killb.app/api/v2/payouts \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "preFundAccountId": "e8d74b2f-86df-43b0-a9d9-72055a6b0432",
  "amount": 8000,
  "beneficiary": {
    "type": "BANK",
    "account": {
      "document": {
        "type": "NIT",
        "number": "123456",
        "issuedCountryCode": "CO"
      },
      "accountNumber": "10203049",
      "bankCode": "001",
      "type": "checking",
      "countryCode": "CO",
      "firstName": "John",
      "middleName": "Carlos",
      "lastName": "Doe",
      "companyName": "Acme Corp",
      "email": "[email protected]",
      "phone": "+576015555555"
    }
  },
  "externalId": "d00e4f43-2022-42f3-ba1c-dcf4c1dcd934",
  "metadata": {
    "orderId": "abc123",
    "channel": "mobile"
  }
}
'
{
  "id": "e8d74b2f-86df-43b0-a9d9-72055a6b0432",
  "amount": 8000,
  "currency": "COP",
  "beneficiary": {
    "type": "BANK",
    "account": {
      "document": {
        "type": "NIT",
        "number": "123456",
        "issuedCountryCode": "CO"
      },
      "accountNumber": "10203049",
      "bankCode": "001",
      "type": "checking",
      "countryCode": "CO",
      "firstName": "John",
      "middleName": "Carlos",
      "lastName": "Doe",
      "companyName": "Acme Corp",
      "email": "[email protected]",
      "phone": "+576015555555"
    }
  },
  "status": "CASH_IN_CREATED",
  "createdAt": "2026-04-23T00:38:08.439Z",
  "updatedAt": "2026-04-23T00:38:08.439Z",
  "details": "Payment processed successfully",
  "transferProof": "https://example.com/proof.pdf",
  "externalId": "d00e4f43-2022-42f3-ba1c-dcf4c1dcd934",
  "metadata": {
    "orderId": "abc123",
    "channel": "mobile"
  }
}

Authorizations

Authorization
string
header
required

The access token received from the authorization server in the OAuth 2.0 flow.

Headers

Idempotency-Key
string

Unique key to ensure idempotent request handling. If a request with the same key was already processed, the cached response is returned.

Body

application/json
preFundAccountId
string
required
Example:

"e8d74b2f-86df-43b0-a9d9-72055a6b0432"

amount
number
required
Example:

8000

beneficiary
object
required
externalId
string

identifier used to identify your existing payouts

Example:

"d00e4f43-2022-42f3-ba1c-dcf4c1dcd934"

metadata
object

Arbitrary object for client use.

Example:
{ "orderId": "abc123", "channel": "mobile" }

Response

id
string
required
Example:

"e8d74b2f-86df-43b0-a9d9-72055a6b0432"

amount
number
required
Example:

8000

currency
enum<string>
required
Available options:
COP
Example:

"COP"

beneficiary
object
required
status
enum<string>
required
Available options:
CREATED,
COMPLETED,
FAILED,
ERROR,
REFUNDED,
CASH_IN_CREATED,
CASH_IN_REQUEST,
CASH_IN_REQUESTED,
CASH_IN_PENDING,
CASH_IN_PROCESSING,
CASH_IN_COMPLETED,
CASH_IN_CANCELED,
CASH_IN_REJECTED,
CASH_IN_FAILED,
CASH_IN_ERROR,
KYT_OUT_CREATE,
KYT_OUT_PENDING,
KYT_OUT_PROCESSING,
KYT_OUT_COMPLETED,
KYT_OUT_FAILED,
CASH_OUT_CREATE,
CASH_OUT_CREATED,
CASH_OUT_REQUEST,
CASH_OUT_REQUESTED,
CASH_OUT_PENDING,
CASH_OUT_PENDING_FILE,
CASH_OUT_PROCESSING,
CASH_OUT_COMPLETED,
CASH_OUT_CANCELED,
CASH_OUT_FAILED,
CASH_OUT_ERROR,
REFUND_CREATE,
REFUND_CREATED,
REFUND_REQUEST,
REFUND_REQUESTED,
REFUND_PENDING,
REFUND_PROCESSING,
REFUND_COMPLETED,
REFUND_FAILED
Example:

"CASH_IN_CREATED"

createdAt
string<date-time>
required
Example:

"2026-04-23T00:38:08.439Z"

updatedAt
string<date-time>
required
Example:

"2026-04-23T00:38:08.439Z"

details
string

Notes about issues or observations related to the payout

Example:

"Payment processed successfully"

transferProof
string

Proof of payment for the payout transfer

Example:

"https://example.com/proof.pdf"

externalId
string
Example:

"d00e4f43-2022-42f3-ba1c-dcf4c1dcd934"

metadata
object

Arbitrary object provided by the client at payout creation.

Example:
{ "orderId": "abc123", "channel": "mobile" }