> ## Documentation Index
> Fetch the complete documentation index at: https://docs.iterapay.com/llms.txt
> Use this file to discover all available pages before exploring further.

# POST /merchants/{merchantID}/invoices — Create invoice

> Create a new invoice under a merchant account. Specify the type, payment method, and USD amount to generate a payment address for your customer.

Use this endpoint to create a new invoice under a merchant account. You must specify the invoice `type`, which controls how the invoice can be used for payment collection. The `paymentMethodID` field determines which payment method (e.g., a specific cryptocurrency token) is accepted.

<ParamField path="merchantID" type="string" required>
  The UUID of the merchant account to create the invoice under.
</ParamField>

## Request body

<ParamField body="amount" type="string" required>
  The invoice amount as a decimal string (e.g., `"100.00"`).
</ParamField>

<ParamField body="type" type="string" required>
  The invoice type. Must be one of:

  * `onetime` — Single-use invoice; expires after one payment.
  * `reusable` — Can be paid multiple times.
  * `collect` — Used for collecting funds from multiple payers.
  * `withdraw` — Used to initiate a withdrawal.
</ParamField>

<ParamField body="description" type="string">
  A human-readable description for the invoice, such as an order reference (e.g., `"Order #1234"`).
</ParamField>

<ParamField body="paymentMethodID" type="number" required>
  The integer ID of the payment method (token) to accept for this invoice.
</ParamField>

## Response

<ResponseField name="id" type="string" required>
  The UUID of the newly created invoice.
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl --request POST \
    --url https://api.iterapay.com/merchants/b0fcc813-a7ce-4bbc-932f-dbef6f59ca7f/invoices \
    --header 'Authorization: Bearer <token>' \
    --header 'Content-Type: application/json' \
    --data '{
      "amount": "100.00",
      "type": "onetime",
      "description": "Order #1234",
      "paymentMethodID": 1
    }'
  ```
</RequestExample>

<ResponseExample>
  ```json 201 theme={null}
  {
    "id": "b0fcc813-a7ce-4bbc-932f-dbef6f59ca7f"
  }
  ```
</ResponseExample>
