# Submit dispute

Submit a dispute for a card transaction.
The request body structure varies per dispute reason code. All reasons share a common structure with `transaction`, `form`, `disclaimer`, and `files` objects, but the fields within `form` and `files` differ per reason.
For per-reason request body details, see the [disputes via API guide](/guides/product/issue-cards/card-disputes-api#reason-examples).

Endpoint: POST /v3/spend/profiles/{profileId}/dispute-form/flows/{scheme}/{reason}
Security: UserToken

## Path parameters:

  - `profileId` (integer, required)
    Your profile ID.

  - `scheme` (string, required)
    The network of the card that was used to make this transaction.

  - `reason` (string, required)
    Dispute reason code supplied by the [dispute reasons endpoint](/api-reference/legacy/disputes/disputereasonsget).

## Header parameters:

  - `X-External-Correlation-Id` (string)
    Optional UUID for correlating requests across systems. If provided, Wise echoes it back in the response. Maximum 36 characters. [Learn more](/guides/developer/headers/correlation-id).

## Request fields (application/json):

  - `transaction` (object)
    Transaction details for the dispute.

  - `transaction.transactionId` (string)
    ID of the transaction.
    Example: 12345

  - `transaction.email` (string)
    Email of the support team that Wise should reach out to.
    Example: support@partner.com

  - `disclaimer` (object)
    Acknowledgement fields.

  - `disclaimer.allAnswered` (boolean)
    Acknowledgment that all questions have been answered. Must be `true` or the request will be rejected.
    Example: true

  - `disclaimer.filesUploaded` (boolean)
    Acknowledgment that all relevant files have been attached. Must be `true` or the request will be rejected.
    Example: true

