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

# Idempotent Requests

> Ensure that you ensure your transactions are executed only once in case they need to be retried.

UQPAY APIs support [idempotent requests](https://en.wikipedia.org/wiki/Idempotence), which are a type of request method that executes only once no matter how many times the request is sent. Result: you can safely retry API calls when things go wrong during a transaction (such as a network connection issue) before you receive a response.

* To ensure a request is idempotent, you must generate and provide an idempotency key formatted as a GUID.
* Subsequent requests with the same `idempotency_key` parameter value will produce the same result as the initial request.
* The `idempotency_key` body parameter has to be sent in UUID format.

## Operations that support idempotency

The following UQPAY API operations support idempotent requests. Check the API reference for more details.

<AccordionGroup>
  <Accordion title="Payouts API">
    * Create a payout.
    * Cancel a beneficiary.
  </Accordion>

  <Accordion title="Payments API">
    * [Create a payment.](/content/components/accordion)
    * Cancel a payment.
    * Refund a payment.
    * Capture a payment.
  </Accordion>
</AccordionGroup>
