---
title: "Create Charge"
method: POST
path: "/charges"
tags: ["charges"]
---

# Create Charge

`POST /charges`

Create a new charge.

## Headers

- `X-API-Key` string, nullable
- `Idempotency-Key` string, uuid, nullable

## Request body

- ChargeCreate — Schema for creating a new charge.
  - `currency` 'mxn' | 'cop' | 'brl' | 'usd' | 'eur' | 'gbp', required — Currency enum.
  - `instrument_id` string, uuid, nullable — ID of the payment instrument
  - `customer_id` string, uuid, nullable — ID of the customer
  - `amount` number, required — Charge amount
  - `reference` string, nullable — Reference provided by tenant
  - `inline_instrument` ChargeCreateInlineInstrument — Inline instrument data for Mexico CLABE.
    - `type` 'mx_direct_debit_card' | 'mx_clabe', required — Instrument type enum.
    - `identifier` string, required — Identifier of the instrument
    - `bank` string, nullable — Bank of the instrument
  - `inline_customer` ChargeCreateInlineCustomer — Inline customer data.
    - `name` string, required — Name of the customer
    - `document_type` 'mx_rfc' | 'mx_curp' | 'passport', required — Document type enum.
    - `document_number` string, required — Document number
    - `email` string, nullable — Email of the customer
    - `phone_number` string, nullable — Phone number of the customer

## Response `201`

Successful Response

- ChargeResponse — Schema for charge responses.
  - `org_id` string, uuid, required — ID of the organization
  - `instrument_id` string, uuid, nullable — ID of the payment instrument
  - `customer_id` string, uuid, nullable — ID of the customer
  - `amount` number, required — Charge amount
  - `currency` 'mxn' | 'cop' | 'brl' | 'usd' | 'eur' | 'gbp' — Currency enum.
  - `reference` string, nullable — Reference provided by tenant
  - `inline_instrument` object, nullable — Inline instrument data
  - `inline_customer` object, nullable — Inline customer data
  - `id` string, uuid, required
  - `status` 'verification_in_progress' | 'pending' | 'processing' | 'confirmed' | 'declined' | 'chargeback' | 'canceled', required — Charge status enum.
  - `declined_reason` 'insufficient_funds' | 'account_blocked' | 'undetermined' | 'risk_engine' | 'account_does_not_exist' | 'account_canceled' | 'account_in_other_currency' | 'account_not_belongs_to_bank' | 'transaction_duplicated' | 'client_order_declined_pay_to_issuer' | 'client_order_amount_is_more_than_authorized' | 'client_order_canceled' | 'client_service_not_authorized' | 'payment_order_expired' | 'client_rejected_charge' — Declined reason enum.
  - `declined_reason_rail` string, nullable
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, nullable
  - `chargeback_at` string, date-time, nullable
  - `result_at` string, date-time, nullable
  - `risk_status` 'pending' | 'ok' | 'cancelled_by_risk' — Risk evaluation outcome for a charge.
  - `risk_evaluated_at` string, date-time, nullable
  - `risk_reasons` string[], nullable

## Other responses

- `400` — Invalid Idempotency-Key. The key must be a valid UUID.
- `409` — A request with this Idempotency-Key is still being processed. Retry shortly.
- `422` — Validation Error, or the Idempotency-Key was reused with a different request body.

---

[API](https://skmtc.net/monato/apis/direct-debit-service.md) · [All operations](https://skmtc.net/monato/apis/direct-debit-service/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/monato/direct-debit-service/versions/23bb85042119/schema)
