---
title: "POST /v1/disputes/{disputeUuid}/reopen"
method: POST
path: "/v1/disputes/{disputeUuid}/reopen"
tags: ["Disputes"]
---

# POST /v1/disputes/{disputeUuid}/reopen

`POST /v1/disputes/{disputeUuid}/reopen`

## Request

- Base URL: `https://api.casaphq.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.casaphq.com/v1/disputes/{disputeUuid}/reopen`
- Auth: API key in header `Authorization`
- TypeScript: <https://skmtc.dev/casaphq/apis/casap-api/docs/v1/disputes/:disputeUuid/reopen/post.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `disputeUuid` string, required

## Request body

- DisputesReopenDisputeBody
  - `transactionUuids` string[]

## Response `200`

A successful response.

- V1ReopenDisputeResponse
  - `dispute` DtoDisputeSummary
    - `uuid` string
    - `customer` ApiPublicdtoCustomer
      - `uuid` string
      - `name` string
      - `email` string
      - `phone` string
      - `accountUuid` string
      - `address` DtoAddress
        - `line1` string
        - `line2` string
        - `city` string
        - `state` string
        - `postalCode` string
        - `country` string
      - `externalIds` object
    - `resolutionDeadline` string, int64
    - `agent` DtoAgent
      - `uuid` string
      - `name` string
      - `email` string
      - `phone` string
    - `status` 'DISPUTE_STATUS_UNKNOWN' | 'DISPUTE_STATUS_OPEN' | 'DISPUTE_STATUS_CLOSED'
    - `transactions` DtoDisputedTransaction[]
      - `uuid` string: The transaction identifier: the id supplied at Create or, when Casap looked the transaction up server-side, the id it resolved to. An id that is omitted or repeated within one request is replaced with a generated one. Use it to join disputes back to your records; TimelineTransaction.uuid carries the same value. Unlike the dispute uuid, it does not change when a dispute is reopened.
      - `settledTimestamp` string, int64
      - `amount` ApiPublicdtoAmount
        - `amountInCents` integer
        - `currency` string
      - `merchant` string
      - `status` 'DISPUTED_TRANSACTION_STATUS_UNKNOWN' | 'DISPUTED_TRANSACTION_STATUS_OPEN' | 'DISPUTED_TRANSACTION_STATUS_INVESTIGATING' | 'DISPUTED_TRANSACTION_STATUS_CHARGEBACK' | 'DISPUTED_TRANSACTION_STATUS_FINAL_DECISION' | 'DISPUTED_TRANSACTION_STATUS_CLOSED'
      - `auditLog` DtoTransactionAuditLog[]
        - `timestamp` string, int64
        - `eventType` 'TRANSACTION_EVENT_TYPE_UNKNOWN' | 'TRANSACTION_EVENT_TYPE_ISSUE_PROVISIONAL_CREDIT' | 'TRANSACTION_EVENT_TYPE_START_CHARGEBACK' | 'TRANSACTION_EVENT_TYPE_RECORD_REPRESENTMENT' | 'TRANSACTION_EVENT_TYPE_CHALLENGE_REPRESENTMENT' | 'TRANSACTION_EVENT_TYPE_FILE_PRE_ARB' | 'TRANSACTION_EVENT_TYPE_RECORD_PRE_ARB_RESPONSE' | 'TRANSACTION_EVENT_TYPE_CHALLENGE_PRE_ARB_RESPONSE' | 'TRANSACTION_EVENT_TYPE_FILE_ARB' | 'TRANSACTION_EVENT_TYPE_RECORD_ARB_RESPONSE' | 'TRANSACTION_EVENT_TYPE_CLOSE_CHARGEBACK' | 'TRANSACTION_EVENT_TYPE_RECORD_FINAL_DECISION' | 'TRANSACTION_EVENT_TYPE_REVERSE_PROVISIONAL_CREDIT' | 'TRANSACTION_EVENT_TYPE_SUBMIT_PC_FORM' | 'TRANSACTION_EVENT_TYPE_APPROVE_WSUD_REVIEW' | 'TRANSACTION_EVENT_TYPE_CLOSE_CHARGBACK' | 'TRANSACTION_EVENT_TYPE_SUBMIT_WSUD' | 'TRANSACTION_EVENT_TYPE_UPLOAD_WSUD_FILE' | 'TRANSACTION_EVENT_TYPE_RECORD_ODFI_RESPONSE' | 'TRANSACTION_EVENT_TYPE_CHECK_CHARGEBACK' | 'TRANSACTION_EVENT_TYPE_SUBMIT_FRAUD_REPORT' | 'TRANSACTION_EVENT_TYPE_REQUEST_MORE_INFO'
        - `agentEmail` string
        - `issueProvisionalCredit` DtoTransactionAuditLogIssueProvisionalCredit
          - `amount` ApiPublicdtoAmount
            - `amountInCents` integer
            - `currency` string
          - `actions` ApiPublicdtoAction[]
        - `recordFinalDecision` DtoTransactionAuditLogRecordFinalDecision
          - `type` 'RECORD_FINAL_DECISION_TYPE_UNKNOWN' | 'RECORD_FINAL_DECISION_TYPE_ACCEPTED' | 'RECORD_FINAL_DECISION_TYPE_DENIED' | 'RECORD_FINAL_DECISION_TYPE_CANCELED'
          - `actions` ApiPublicdtoAction[]
          - `accepted` TransactionAuditLogRecordFinalDecisionAccepted
            - `type` 'ACCEPTED_TYPE_UNKNOWN' | 'ACCEPTED_TYPE_ACCOUNT_TAKEOVER' | 'ACCEPTED_TYPE_CHARGEBACK_WON' | 'ACCEPTED_TYPE_MERCHANT_CREDITED' | 'ACCEPTED_TYPE_WRITE_OFF' | 'ACCEPTED_TYPE_WSUD_ACCEPTED' | 'ACCEPTED_TYPE_OTHER'
            - `merchantCredited` TransactionAuditLogRecordFinalDecisionAcceptedMerchantCredited
              - …
            - `partialMerchantCreditMadeWhole` boolean
          - `denied` TransactionAuditLogRecordFinalDecisionDenied
            - `type` 'DENIED_TYPE_UNKNOWN' | 'DENIED_TYPE_CHARGEBACK_LOST' | 'DENIED_TYPE_FRIENDLY_FRAUD' | 'DENIED_TYPE_INSUFFICIENT_EVIDENCE' | 'DENIED_TYPE_WSUD_REJECTED' | 'DENIED_TYPE_OTHER' | 'DENIED_TYPE_FIRST_PARTY_FRAUD'
          - `canceled` TransactionAuditLogRecordFinalDecisionCanceled
            - `type` 'CANCELED_TYPE_UNKNOWN' | 'CANCELED_TYPE_CUSTOMER_REQUESTED' | 'CANCELED_TYPE_MERCHANT_CREDITED' | 'CANCELED_TYPE_AGENT_ERROR' | 'CANCELED_TYPE_OTHER'
      - `transactionStatus` 'TRANSACTION_STATUS_UNKNOWN' | 'TRANSACTION_STATUS_PENDING' | 'TRANSACTION_STATUS_SETTLED'
      - `provisionalCreditAmount` ApiPublicdtoAmount
        - `amountInCents` integer
        - `currency` string
      - `finalCreditAmount` ApiPublicdtoAmount
        - `amountInCents` integer
        - `currency` string
      - `reverseCreditAmount` ApiPublicdtoAmount
        - `amountInCents` integer
        - `currency` string
      - `transactionFinalStatus` 'RECORD_FINAL_DECISION_TYPE_UNKNOWN' | 'RECORD_FINAL_DECISION_TYPE_ACCEPTED' | 'RECORD_FINAL_DECISION_TYPE_DENIED' | 'RECORD_FINAL_DECISION_TYPE_CANCELED'
      - `requiredActions` DtoRequiredAction[]: What Casap currently needs from the member for this transaction, as of this snapshot. Unlike DisputeSummary.actions (a cumulative history of actions triggered over the dispute's life), an empty list here means nothing is currently outstanding, and a value drops out once it's resolved or the transaction closes.
    - `auditLog` DtoDisputeAuditLog[]
      - `timestamp` string, int64
      - `eventType` 'DISPUTE_EVENT_TYPE_UNKNOWN' | 'DISPUTE_EVENT_TYPE_CREATE' | 'DISPUTE_EVENT_TYPE_ASSIGN_AGENT' | 'DISPUTE_EVENT_TYPE_ADD_COMMENT' | 'DISPUTE_EVENT_TYPE_UNASSIGN_AGENT' | 'DISPUTE_EVENT_TYPE_UPLOAD_PAN_TOKEN' | 'DISPUTE_EVENT_TYPE_UPDATE_PRIORITY' | 'DISPUTE_EVENT_TYPE_REOPEN' | 'DISPUTE_EVENT_TYPE_REPLACE_CARD' | 'DISPUTE_EVENT_TYPE_UPLOAD_WSUD' | 'DISPUTE_EVENT_TYPE_RECORD_ODFI_RESPONSE' | 'DISPUTE_EVENT_TYPE_UPDATE_DISPUTE_REASON' | 'DISPUTE_EVENT_TYPE_UPLOAD_FILE' | 'DISPUTE_EVENT_TYPE_COMMUNICATION'
      - `agentEmail` string
      - `createDispute` DtoDisputeAuditLogCreateDispute
        - `actions` ApiPublicdtoAction[]
    - `shortId` string
    - `reason` 'DISPUTE_REASON_UNKNOWN' | 'DISPUTE_REASON_UNAUTH' | 'DISPUTE_REASON_MERCHANT_ISSUE' | 'DISPUTE_REASON_ATM_ISSUE' | 'DISPUTE_REASON_ACH_ISSUE' | 'DISPUTE_REASON_TRANSFER_ISSUE' | 'DISPUTE_REASON_ATM_ISSUE_CASH_NOT_DISPENSED' | 'DISPUTE_REASON_MERCHANT_ISSUE_GOODS_OR_SERVICES_NOT_RECEIVED' | 'DISPUTE_REASON_MERCHANT_ISSUE_GOODS_OR_SERVICES_NOT_AS_DESCRIBED' | 'DISPUTE_REASON_MERCHANT_ISSUE_RETURNED' | 'DISPUTE_REASON_MERCHANT_ISSUE_CANCELED_SUBSCRIPTION' | 'DISPUTE_REASON_MERCHANT_ISSUE_REFUND_NOT_RECEIVED' | 'DISPUTE_REASON_MERCHANT_ISSUE_CHARGED_INCORRECT_AMOUNT' | 'DISPUTE_REASON_MERCHANT_ISSUE_PAID_BY_OTHER_MEANS' | 'DISPUTE_REASON_TRANSFER_ISSUE_NOT_RECEIVED' | 'DISPUTE_REASON_TRANSFER_ISSUE_INCORRECT_RECIPIENT' | 'DISPUTE_REASON_TRANSFER_ISSUE_INCORRECT_AMOUNT' | 'DISPUTE_REASON_TRANSFER_ISSUE_DUPLICATE_CHARGE' | 'DISPUTE_REASON_ATM_ISSUE_PARTIAL_CASH' | 'DISPUTE_REASON_MERCHANT_ISSUE_DUPLICATE_CHARGE' | 'DISPUTE_REASON_ATM_ISSUE_CASH_NOT_DEPOSITED' | 'DISPUTE_REASON_TRANSFER_ISSUE_FAILED_CANCELLATION' | 'DISPUTE_REASON_ACH_ISSUE_REVOKED' | 'DISPUTE_REASON_ACH_ISSUE_GOODS_OR_SERVICES' | 'DISPUTE_REASON_ACH_ISSUE_INCOMPLETE_TRANSACTION' | 'DISPUTE_REASON_ACH_ISSUE_IMPROPER_CHECK_PROCESSED' | 'DISPUTE_REASON_ACH_ISSUE_INCORRECT_AMOUNT' | 'DISPUTE_REASON_ACH_ISSUE_INCORRECT_DATE' | 'DISPUTE_REASON_ACH_ISSUE_DEBITED_MORE_THAN_ONCE' | 'DISPUTE_REASON_ACH_ISSUE_UNPROMPTED_DEBIT' | 'DISPUTE_REASON_ATM_ISSUE_DEPOSIT_NOT_POSTED' | 'DISPUTE_REASON_IN_STORE_CASH_NOT_DEPOSITED' | 'DISPUTE_REASON_CHECK_ISSUE' | 'DISPUTE_REASON_CHECK_ISSUE_FORGED_DRAWER' | 'DISPUTE_REASON_CHECK_ISSUE_ENDORSEMENT_FORGED' | 'DISPUTE_REASON_CHECK_ISSUE_PAYEE_NAME_ALTERED' | 'DISPUTE_REASON_CHECK_ISSUE_NOT_ENDORSED_BY_PAYEE' | 'DISPUTE_REASON_CHECK_ISSUE_ALTERED_AMOUNT' | 'DISPUTE_REASON_CHECK_ISSUE_COUNTERFEIT_CHECK' | 'DISPUTE_REASON_CHECK_ISSUE_UNAUTHORIZED_DRAFT' | 'DISPUTE_REASON_ACH_CREDIT_ISSUE' | 'DISPUTE_REASON_CREDIT_NOT_PROCESSED' | 'DISPUTE_REASON_CANCELLED_TRANSACTION' | 'DISPUTE_REASON_MERCHANDISE_RETURNED' | 'DISPUTE_REASON_MERCHANT_ISSUE_SERVICES_CANCELLED': DisputeReason is the dispute reason category. GetDisputeReasons returns the applicable parent categories; the specific sub-reason is resolved server-side from the questionnaire answers at Create time, so callers only ever submit a parent reason. Legacy reason values are normalized to this set before they reach the API, so these are the only values integrators see. - DISPUTE_REASON_ACH_ISSUE: Unauthorized ACH debit. Other ACH problems use the more specific DISPUTE_REASON_ACH_* values. - DISPUTE_REASON_ACH_CREDIT_ISSUE: Dispute about an ACH credit (incoming or outgoing credit entry), as opposed to the ACH_ISSUE_* family, which covers consumer debit disputes.
    - `actions` ApiPublicdtoAction[]
    - `files` DtoAttachedFile[]
      - `fileUuid` string
      - `filename` string
      - `contentType` string
      - `uploadedAt` string, int64
      - `size` string, int64
    - `disputeReason` DtoDisputeReasonOption: DisputeReasonOption is an applicable dispute reason for a given set of transactions, paired with default customer-facing display language.
      - `reason` 'DISPUTE_REASON_UNKNOWN' | 'DISPUTE_REASON_UNAUTH' | 'DISPUTE_REASON_MERCHANT_ISSUE' | 'DISPUTE_REASON_ATM_ISSUE' | 'DISPUTE_REASON_ACH_ISSUE' | 'DISPUTE_REASON_TRANSFER_ISSUE' | 'DISPUTE_REASON_ATM_ISSUE_CASH_NOT_DISPENSED' | 'DISPUTE_REASON_MERCHANT_ISSUE_GOODS_OR_SERVICES_NOT_RECEIVED' | 'DISPUTE_REASON_MERCHANT_ISSUE_GOODS_OR_SERVICES_NOT_AS_DESCRIBED' | 'DISPUTE_REASON_MERCHANT_ISSUE_RETURNED' | 'DISPUTE_REASON_MERCHANT_ISSUE_CANCELED_SUBSCRIPTION' | 'DISPUTE_REASON_MERCHANT_ISSUE_REFUND_NOT_RECEIVED' | 'DISPUTE_REASON_MERCHANT_ISSUE_CHARGED_INCORRECT_AMOUNT' | 'DISPUTE_REASON_MERCHANT_ISSUE_PAID_BY_OTHER_MEANS' | 'DISPUTE_REASON_TRANSFER_ISSUE_NOT_RECEIVED' | 'DISPUTE_REASON_TRANSFER_ISSUE_INCORRECT_RECIPIENT' | 'DISPUTE_REASON_TRANSFER_ISSUE_INCORRECT_AMOUNT' | 'DISPUTE_REASON_TRANSFER_ISSUE_DUPLICATE_CHARGE' | 'DISPUTE_REASON_ATM_ISSUE_PARTIAL_CASH' | 'DISPUTE_REASON_MERCHANT_ISSUE_DUPLICATE_CHARGE' | 'DISPUTE_REASON_ATM_ISSUE_CASH_NOT_DEPOSITED' | 'DISPUTE_REASON_TRANSFER_ISSUE_FAILED_CANCELLATION' | 'DISPUTE_REASON_ACH_ISSUE_REVOKED' | 'DISPUTE_REASON_ACH_ISSUE_GOODS_OR_SERVICES' | 'DISPUTE_REASON_ACH_ISSUE_INCOMPLETE_TRANSACTION' | 'DISPUTE_REASON_ACH_ISSUE_IMPROPER_CHECK_PROCESSED' | 'DISPUTE_REASON_ACH_ISSUE_INCORRECT_AMOUNT' | 'DISPUTE_REASON_ACH_ISSUE_INCORRECT_DATE' | 'DISPUTE_REASON_ACH_ISSUE_DEBITED_MORE_THAN_ONCE' | 'DISPUTE_REASON_ACH_ISSUE_UNPROMPTED_DEBIT' | 'DISPUTE_REASON_ATM_ISSUE_DEPOSIT_NOT_POSTED' | 'DISPUTE_REASON_IN_STORE_CASH_NOT_DEPOSITED' | 'DISPUTE_REASON_CHECK_ISSUE' | 'DISPUTE_REASON_CHECK_ISSUE_FORGED_DRAWER' | 'DISPUTE_REASON_CHECK_ISSUE_ENDORSEMENT_FORGED' | 'DISPUTE_REASON_CHECK_ISSUE_PAYEE_NAME_ALTERED' | 'DISPUTE_REASON_CHECK_ISSUE_NOT_ENDORSED_BY_PAYEE' | 'DISPUTE_REASON_CHECK_ISSUE_ALTERED_AMOUNT' | 'DISPUTE_REASON_CHECK_ISSUE_COUNTERFEIT_CHECK' | 'DISPUTE_REASON_CHECK_ISSUE_UNAUTHORIZED_DRAFT' | 'DISPUTE_REASON_ACH_CREDIT_ISSUE' | 'DISPUTE_REASON_CREDIT_NOT_PROCESSED' | 'DISPUTE_REASON_CANCELLED_TRANSACTION' | 'DISPUTE_REASON_MERCHANDISE_RETURNED' | 'DISPUTE_REASON_MERCHANT_ISSUE_SERVICES_CANCELLED': DisputeReason is the dispute reason category. GetDisputeReasons returns the applicable parent categories; the specific sub-reason is resolved server-side from the questionnaire answers at Create time, so callers only ever submit a parent reason. Legacy reason values are normalized to this set before they reach the API, so these are the only values integrators see. - DISPUTE_REASON_ACH_ISSUE: Unauthorized ACH debit. Other ACH problems use the more specific DISPUTE_REASON_ACH_* values. - DISPUTE_REASON_ACH_CREDIT_ISSUE: Dispute about an ACH credit (incoming or outgoing credit entry), as opposed to the ACH_ISSUE_* family, which covers consumer debit disputes.
      - `displayMessage` string

## Other responses

- `default`: An unexpected error response.

---

[API](https://skmtc.dev/casaphq/apis/casap-api.md) - [All operations](https://skmtc.dev/casaphq/apis/casap-api/llms.txt) - [OpenAPI document](https://skmtc.dev/casaphq/apis/casap-api/revisions/f159f2046015?raw)
