All endpoints return successfully if they are invoked again with the same parameters and the underlying resource still exists. It should therefore always be safe to retry an operation, regardless of the result of the first call.

This implicit idempotency is primarily intended to make robust integrations straight forward but it can be useful in other situations. It is for example possible to retrieve a customer by simply creating it again, removing the need to keep track of any identifiers.

If you need explicit idempotency it is often possible to specify an idempotency token that will be used instead of the values of the input parameters. Please refer to the documentation for the individual endpoints for more details.