---
updatedAt: 2026-08-25T11:03:26.000Z
agentTools:
  projectIndex: https://developer.coingate.com/llms.txt
---

# Cancel Payout Link

Cancel a payout link that has not been collected yet and return the reserved amount to the ledger account it came from. Only links in draft or pending status can be canceled. Canceling a link in any other status returns 422 and leaves the status unchanged.

Cancels a payout link that has not been collected yet and returns the reserved amount to the ledger account it came from.

Only `draft` and `pending` links can be canceled. Anything else returns `422` with `reason: PayoutLinkIsNotValid` and leaves the status untouched — a link that has already been collected cannot be recalled.

An uncollected link that reaches `expires_at` is refunded the same way without you calling anything.

# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "v2",
    "version": "2"
  },
  "servers": [
    {
      "url": "https://api.coingate.com/api/v2"
    }
  ],
  "security": [
    {}
  ],
  "paths": {
    "/payout_links/{id}/cancel": {
      "patch": {
        "summary": "Cancel Payout Link",
        "description": "Cancel a payout link that has not been collected yet and return the reserved amount to the ledger account it came from. Only links in draft or pending status can be canceled. Canceling a link in any other status returns 422 and leaves the status unchanged.",
        "operationId": "cancel-payout-link",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Payout link ID, as returned in the id field.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Payout link canceled.",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": "{\n  \"id\": 11,\n  \"uuid\": \"0f9d3f0e-6d2f-4a1c-9c7e-5f4b2c1d8e30\",\n  \"status\": \"canceled\",\n  \"ledger_account_id\": \"01JNQWKKJ6WXN8BZT1Y66B6G9H\",\n  \"purpose\": \"Invoice 42\",\n  \"external_id\": \"ext-1\",\n  \"recipient_email\": \"recipient@example.com\",\n  \"send_email\": true,\n  \"payout_link_url\": \"https://payout.coingate.com/0f9d3f0e-6d2f-4a1c-9c7e-5f4b2c1d8e30\",\n  \"callback_url\": \"https://example.com/callback_url\",\n  \"expires_at\": \"2026-08-31T23:59:59.999Z\",\n  \"claimed_at\": null,\n  \"created_at\": \"2026-08-24T10:15:00.000Z\",\n  \"input_amount\": \"20.0\",\n  \"input_currency\": {\n    \"id\": 34,\n    \"title\": \"Tether USD\",\n    \"kind\": \"crypto\",\n    \"symbol\": \"USDT\",\n    \"enabled\": true,\n    \"disabled_message\": null\n  },\n  \"balance_debit_amount\": \"20.0\",\n  \"balance_debit_currency\": {\n    \"id\": 34,\n    \"title\": \"Tether USD\",\n    \"kind\": \"crypto\",\n    \"symbol\": \"USDT\",\n    \"enabled\": true,\n    \"disabled_message\": null\n  },\n  \"fees\": {\n    \"service_fee\": {\n      \"amount\": \"0.2\",\n      \"currency\": {\n        \"id\": 34,\n        \"title\": \"Tether USD\",\n        \"kind\": \"crypto\",\n        \"symbol\": \"USDT\",\n        \"enabled\": true,\n        \"disabled_message\": null\n      }\n    }\n  }\n}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "Unique identifier of the payout link. Use it on the Get and Cancel endpoints.",
                      "example": 11
                    },
                    "uuid": {
                      "type": "string",
                      "description": "Public identifier of the payout link. It is the last segment of payout_link_url.",
                      "example": "0f9d3f0e-6d2f-4a1c-9c7e-5f4b2c1d8e30"
                    },
                    "status": {
                      "type": "string",
                      "description": "Current status of the payout link. See the Payout Link Statuses page.",
                      "enum": [
                        "draft",
                        "pending",
                        "processing",
                        "completed",
                        "expired",
                        "failed",
                        "canceled"
                      ],
                      "example": "canceled"
                    },
                    "ledger_account_id": {
                      "type": "string",
                      "description": "Ledger account the funds were reserved from.",
                      "example": "01JNQWKKJ6WXN8BZT1Y66B6G9H"
                    },
                    "purpose": {
                      "type": "string",
                      "description": "Reason for the payout, shown to the recipient.",
                      "example": "Invoice 42"
                    },
                    "external_id": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Your own reference for this payout link. null when it was not provided.",
                      "example": "ext-1"
                    },
                    "recipient_email": {
                      "type": "string",
                      "description": "Email address of the person allowed to collect the payout.",
                      "example": "recipient@example.com"
                    },
                    "send_email": {
                      "type": "boolean",
                      "description": "Whether CoinGate emails the link to the recipient.",
                      "example": true
                    },
                    "payout_link_url": {
                      "type": "string",
                      "description": "URL the recipient opens to collect the payout.",
                      "example": "https://payout.coingate.com/0f9d3f0e-6d2f-4a1c-9c7e-5f4b2c1d8e30"
                    },
                    "callback_url": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "URL notified on every status change. null when it was not provided.",
                      "example": "https://example.com/callback_url"
                    },
                    "expires_at": {
                      "type": "string",
                      "description": "End of the day, UTC, after which the link can no longer be collected.",
                      "example": "2026-08-31T23:59:59.999Z"
                    },
                    "claimed_at": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "When the recipient collected the payout. null until it is collected.",
                      "example": null
                    },
                    "created_at": {
                      "type": "string",
                      "example": "2026-08-24T10:15:00.000Z"
                    },
                    "input_amount": {
                      "type": "string",
                      "description": "Amount as requested, in input_currency.",
                      "example": "20.0"
                    },
                    "input_currency": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "integer",
                          "description": "Currency ID. See the Currencies endpoint.",
                          "example": 34
                        },
                        "title": {
                          "type": "string",
                          "example": "Tether USD"
                        },
                        "kind": {
                          "type": "string",
                          "enum": [
                            "crypto",
                            "fiat"
                          ],
                          "example": "crypto"
                        },
                        "symbol": {
                          "type": "string",
                          "example": "USDT"
                        },
                        "enabled": {
                          "type": "boolean",
                          "description": "false while the currency is temporarily disabled.",
                          "example": true
                        },
                        "disabled_message": {
                          "type": [
                            "string",
                            "null"
                          ],
                          "description": "Reason the currency is temporarily disabled. null when enabled.",
                          "example": null
                        }
                      }
                    },
                    "balance_debit_amount": {
                      "type": "string",
                      "description": "Amount reserved from the ledger account, in balance_debit_currency. Equal to input_amount converted at creation time, minus the service fee when your fee rule deducts fees from the recipient.",
                      "example": "20.0"
                    },
                    "balance_debit_currency": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "integer",
                          "description": "Currency ID. See the Currencies endpoint.",
                          "example": 34
                        },
                        "title": {
                          "type": "string",
                          "example": "Tether USD"
                        },
                        "kind": {
                          "type": "string",
                          "enum": [
                            "crypto",
                            "fiat"
                          ],
                          "example": "crypto"
                        },
                        "symbol": {
                          "type": "string",
                          "example": "USDT"
                        },
                        "enabled": {
                          "type": "boolean",
                          "description": "false while the currency is temporarily disabled.",
                          "example": true
                        },
                        "disabled_message": {
                          "type": [
                            "string",
                            "null"
                          ],
                          "description": "Reason the currency is temporarily disabled. null when enabled.",
                          "example": null
                        }
                      }
                    },
                    "fees": {
                      "type": "object",
                      "description": "Fees charged for this payout link, in the ledger account currency.",
                      "properties": {
                        "service_fee": {
                          "type": "object",
                          "description": "Processing fee for this payout link.",
                          "properties": {
                            "amount": {
                              "type": "string",
                              "example": "0.2"
                            },
                            "currency": {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "integer",
                                  "description": "Currency ID. See the Currencies endpoint.",
                                  "example": 34
                                },
                                "title": {
                                  "type": "string",
                                  "example": "Tether USD"
                                },
                                "kind": {
                                  "type": "string",
                                  "enum": [
                                    "crypto",
                                    "fiat"
                                  ],
                                  "example": "crypto"
                                },
                                "symbol": {
                                  "type": "string",
                                  "example": "USDT"
                                },
                                "enabled": {
                                  "type": "boolean",
                                  "description": "false while the currency is temporarily disabled.",
                                  "example": true
                                },
                                "disabled_message": {
                                  "type": [
                                    "string",
                                    "null"
                                  ],
                                  "description": "Reason the currency is temporarily disabled. null when enabled.",
                                  "example": null
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Authentication failed.",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": "{\n  \"message\": \"Auth Token is not valid\",\n  \"reason\": \"BadAuthToken\"\n}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string",
                      "example": "Auth Token is not valid"
                    },
                    "reason": {
                      "type": "string",
                      "enum": [
                        "BadAuthToken",
                        "AccountBlocked",
                        "IpAddressIsNotAllowed"
                      ],
                      "example": "BadAuthToken"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Payout link not found.",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": "{\n  \"message\": \"Payout link not found\",\n  \"reason\": \"PayoutLinkNotFound\"\n}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string",
                      "example": "Payout link not found"
                    },
                    "reason": {
                      "type": "string",
                      "enum": [
                        "PayoutLinkNotFound"
                      ],
                      "example": "PayoutLinkNotFound"
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "The request was rejected. Errors lists every problem found.",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": "{\n  \"message\": \"PayoutLink is not valid\",\n  \"reason\": \"PayoutLinkIsNotValid\",\n  \"errors\": [\n    \"purpose is missing\",\n    \"Insufficient funds. Please top up your ledger account.\"\n  ]\n}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string",
                      "example": "PayoutLink is not valid"
                    },
                    "reason": {
                      "type": "string",
                      "example": "PayoutLinkIsNotValid"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "Human readable messages, one per problem.",
                      "example": [
                        "purpose is missing"
                      ]
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "x-readme": {
    "headers": [],
    "explorer-enabled": false,
    "proxy-enabled": true
  },
  "x-readme-fauxas": true
}
```