Casap API

The Casap dispute automation REST API. Financial institutions authenticate with an API key and a user UUID, then create disputes, retrieve dispute status, list disputes, upload supporting evidence files, and reopen disputes. OpenAPI 3.1.1; grpc-gateway-generated with a google.rpc.Status error envelope.

OpenAPI Specification

casap-openapi.json Raw ↑
{
  "info": {
    "title": "Casap API",
    "version": "0.1.0"
  },
  "tags": [
    {
      "name": "Disputes"
    },
    {
      "name": "Auth"
    }
  ],
  "paths": {
    "/v1/authenticate": {
      "get": {
        "summary": "Authenticate",
        "operationId": "Auth_Authenticate",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthenticateResponse"
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/googlerpcStatus"
                }
              }
            }
          }
        },
        "tags": [
          "Auth"
        ]
      }
    },
    "/v1/dispute/status/{disputeUuid}": {
      "get": {
        "summary": "Get dispute status",
        "operationId": "Disputes_GetDisputeStatus",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetDisputeStatusResponse"
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/googlerpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "name": "disputeUuid",
            "in": "path",
            "required": true
          }
        ],
        "tags": [
          "Disputes"
        ]
      }
    },
    "/v1/disputes": {
      "get": {
        "summary": "List disputes",
        "operationId": "Disputes_GetDisputes",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetDisputesResponse"
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/googlerpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "name": "size",
            "in": "query",
            "required": false
          },
          {
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "name": "page",
            "in": "query",
            "required": false
          },
          {
            "schema": {
              "type": "string"
            },
            "name": "customerUuid",
            "in": "query",
            "required": false
          },
          {
            "schema": {
              "type": "string"
            },
            "name": "shortId",
            "in": "query",
            "required": false
          }
        ],
        "tags": [
          "Disputes"
        ]
      },
      "post": {
        "summary": "Create a dispute",
        "operationId": "Disputes_Create",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateDisputeResponse"
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/googlerpcStatus"
                }
              }
            }
          }
        },
        "tags": [
          "Disputes"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateDisputeRequest"
              }
            }
          },
          "required": true
        }
      }
    },
    "/v1/disputes/{disputeUuid}/files": {
      "post": {
        "summary": "Upload a file",
        "operationId": "Disputes_UploadFile",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UploadFileResponse"
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/googlerpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "name": "disputeUuid",
            "description": "The dispute UUID from the URL path",
            "in": "path",
            "required": true
          }
        ],
        "tags": [
          "Disputes"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DisputesUploadFileBody"
              }
            }
          },
          "required": true
        }
      }
    },
    "/v1/disputes/{disputeUuid}/reopen": {
      "post": {
        "summary": "Reopen a dispute",
        "operationId": "Disputes_ReopenDispute",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReopenDisputeResponse"
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/googlerpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "name": "disputeUuid",
            "in": "path",
            "required": true
          }
        ],
        "tags": [
          "Disputes"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DisputesReopenDisputeBody"
              }
            }
          },
          "required": true
        }
      }
    }
  },
  "security": [
    {
      "api_key": [],
      "user_uuid": []
    }
  ],
  "openapi": "3.1.1",
  "servers": [
    {
      "url": "http://api.casaphq.com"
    }
  ],
  "components": {
    "schemas": {
      "CreateDisputeRequest": {
        "type": "object",
        "properties": {
          "orgUuid": {
            "type": "string"
          },
          "transactionDetails": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TransactionDetail"
            }
          },
          "customer": {
            "$ref": "#/components/schemas/Customer"
          },
          "reason": {
            "$ref": "#/components/schemas/DisputeReason"
          },
          "questionnaireAnswers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreateDisputeRequestQuestionnaireAnswer"
            }
          }
        }
      },
      "CreateDisputeRequestQuestionnaireAnswer": {
        "type": "object",
        "properties": {
          "question": {
            "type": "string"
          },
          "answer": {
            "type": "string"
          },
          "questionId": {
            "type": "string"
          }
        }
      },
      "CreateDisputeResponse": {
        "type": "object",
        "properties": {
          "dispute": {
            "$ref": "#/components/schemas/DisputeSummary"
          }
        }
      },
      "TransactionDetail": {
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string"
          },
          "settledTimestamp": {
            "type": "string",
            "format": "int64"
          },
          "authorizedTimestamp": {
            "type": "string",
            "format": "int64"
          },
          "amount": {
            "$ref": "#/components/schemas/Amount"
          },
          "merchant": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/TransactionStatus"
          },
          "type": {
            "$ref": "#/components/schemas/TransactionType"
          },
          "network": {
            "$ref": "#/components/schemas/TransactionNetwork"
          },
          "arn": {
            "type": "string"
          },
          "location": {
            "type": "string"
          },
          "cardId": {
            "type": "string"
          },
          "visaTransactionId": {
            "type": "string"
          },
          "transactionSettledAmount": {
            "$ref": "#/components/schemas/Amount"
          },
          "typeCode": {
            "type": "string"
          },
          "ica": {
            "type": "string"
          },
          "cardType": {
            "$ref": "#/components/schemas/CardType"
          }
        }
      },
      "TransactionType": {
        "type": "string",
        "enum": [
          "TRANSACTION_TYPE_UNKNOWN",
          "TRANSACTION_TYPE_DEBIT_CARD",
          "TRANSACTION_TYPE_CREDIT_CARD",
          "TRANSACTION_TYPE_ATM",
          "TRANSACTION_TYPE_ACH",
          "TRANSACTION_TYPE_TRANSFER",
          "TRANSACTION_TYPE_CREDIT_ATM",
          "TRANSACTION_TYPE_CREDIT_ACH",
          "TRANSACTION_TYPE_CREDIT_TRANSFER"
        ],
        "default": "TRANSACTION_TYPE_UNKNOWN"
      },
      "TransactionNetwork": {
        "type": "string",
        "enum": [
          "TRANSACTION_NETWORK_UNKNOWN",
          "TRANSACTION_NETWORK_VISA",
          "TRANSACTION_NETWORK_MASTERCARD",
          "TRANSACTION_NETWORK_AMEX"
        ],
        "default": "TRANSACTION_NETWORK_UNKNOWN"
      },
      "CardType": {
        "type": "string",
        "enum": [
          "CARD_TYPE_UNKNOWN",
          "CARD_TYPE_PHYSICAL",
          "CARD_TYPE_VIRTUAL"
        ],
        "default": "CARD_TYPE_UNKNOWN"
      },
      "DisputesReopenDisputeBody": {
        "type": "object",
        "properties": {
          "transactionUuids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "DisputesUploadFileBody": {
        "type": "object",
        "properties": {
          "fileContent": {
            "type": "string",
            "title": "The file content as raw bytes",
            "contentEncoding": "base64"
          },
          "filename": {
            "type": "string",
            "title": "Optional: original filename"
          },
          "contentType": {
            "type": "string",
            "title": "Optional: MIME type of the file"
          }
        }
      },
      "TransactionAuditLogRecordFinalDecisionAccepted": {
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/TransactionAuditLogRecordFinalDecisionAcceptedType"
          },
          "merchantCredited": {
            "$ref": "#/components/schemas/TransactionAuditLogRecordFinalDecisionAcceptedMerchantCredited"
          }
        }
      },
      "TransactionAuditLogRecordFinalDecisionAcceptedMerchantCredited": {
        "type": "object",
        "properties": {
          "amount": {
            "$ref": "#/components/schemas/Amount"
          },
          "date": {
            "type": "string",
            "format": "int64"
          }
        }
      },
      "TransactionAuditLogRecordFinalDecisionAcceptedType": {
        "type": "string",
        "enum": [
          "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"
        ],
        "default": "ACCEPTED_TYPE_UNKNOWN"
      },
      "TransactionAuditLogRecordFinalDecisionCanceled": {
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/TransactionAuditLogRecordFinalDecisionCanceledType"
          }
        }
      },
      "TransactionAuditLogRecordFinalDecisionCanceledType": {
        "type": "string",
        "enum": [
          "CANCELED_TYPE_UNKNOWN",
          "CANCELED_TYPE_CUSTOMER_REQUESTED",
          "CANCELED_TYPE_MERCHANT_CREDITED",
          "CANCELED_TYPE_AGENT_ERROR",
          "CANCELED_TYPE_OTHER"
        ],
        "default": "CANCELED_TYPE_UNKNOWN"
      },
      "TransactionAuditLogRecordFinalDecisionDenied": {
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/TransactionAuditLogRecordFinalDecisionDeniedType"
          }
        }
      },
      "TransactionAuditLogRecordFinalDecisionDeniedType": {
        "type": "string",
        "enum": [
          "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"
        ],
        "default": "DENIED_TYPE_UNKNOWN"
      },
      "TransactionAuditLogRecordFinalDecisionType": {
        "type": "string",
        "enum": [
          "RECORD_FINAL_DECISION_TYPE_UNKNOWN",
          "RECORD_FINAL_DECISION_TYPE_ACCEPTED",
          "RECORD_FINAL_DECISION_TYPE_DENIED",
          "RECORD_FINAL_DECISION_TYPE_CANCELED"
        ],
        "default": "RECORD_FINAL_DECISION_TYPE_UNKNOWN"
      },
      "Action": {
        "type": "string",
        "enum": [
          "ACTION_NONE",
          "ACTION_ISSUE_PROVISIONAL_CREDIT",
          "ACTION_ISSUE_FINAL_CREDIT",
          "ACTION_REVERSE_PROVISIONAL_CREDIT",
          "ACTION_REPLACE_CARD"
        ],
        "default": "ACTION_NONE"
      },
      "Amount": {
        "type": "object",
        "properties": {
          "amountInCents": {
            "type": "integer",
            "format": "int32"
          },
          "currency": {
            "type": "string"
          }
        }
      },
      "Customer": {
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "accountUuid": {
            "type": "string"
          },
          "address": {
            "$ref": "#/components/schemas/Address"
          },
          "externalIds": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          }
        }
      },
      "DisputeEventType": {
        "type": "string",
        "enum": [
          "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"
        ],
        "default": "DISPUTE_EVENT_TYPE_UNKNOWN"
      },
      "DisputeReason": {
        "type": "string",
        "enum": [
          "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"
        ],
        "default": "DISPUTE_REASON_UNKNOWN",
        "title": "- DISPUTE_REASON_MERCHANT_ISSUE: deprecated\n - DISPUTE_REASON_ATM_ISSUE: deprecated\n - DISPUTE_REASON_TRANSFER_ISSUE: deprecated"
      },
      "Address": {
        "type": "object",
        "properties": {
          "line1": {
            "type": "string"
          },
          "line2": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "postalCode": {
            "type": "string"
          },
          "country": {
            "type": "string"
          }
        }
      },
      "Agent": {
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          }
        }
      },
      "DisputeAuditLog": {
        "type": "object",
        "properties": {
          "timestamp": {
            "type": "string",
            "format": "int64"
          },
          "eventType": {
            "$ref": "#/components/schemas/DisputeEventType"
          },
          "agentEmail": {
            "type": "string"
          },
          "createDispute": {
            "$ref": "#/components/schemas/DisputeAuditLogCreateDispute"
          }
        }
      },
      "DisputeAuditLogCreateDispute": {
        "type": "object",
        "properties": {
          "actions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Action"
            }
          }
        }
      },
      "DisputeStatus": {
        "type": "string",
        "enum": [
          "DISPUTE_STATUS_UNKNOWN",
          "DISPUTE_STATUS_OPEN",
          "DISPUTE_STATUS_CLOSED"
        ],
        "default": "DISPUTE_STATUS_UNKNOWN"
      },
      "DisputeSummary": {
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string"
          },
          "customer": {
            "$ref": "#/components/schemas/Customer"
          },
          "resolutionDeadline": {
            "type": "string",
            "format": "int64"
          },
          "agent": {
            "$ref": "#/components/schemas/Agent"
          },
          "status": {
            "$ref": "#/components/schemas/DisputeStatus"
          },
          "transactions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DisputedTransaction"
            }
          },
          "auditLog": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DisputeAuditLog"
            }
          },
          "shortId": {
            "type": "string"
          },
          "reason": {
            "$ref": "#/components/schemas/DisputeReason"
          }
        }
      },
      "DisputedTransaction": {
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string"
          },
          "settledTimestamp": {
            "type": "string",
            "format": "int64"
          },
          "amount": {
            "$ref": "#/components/schemas/Amount"
          },
          "merchant": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/DisputedTransactionStatus"
          },
          "auditLog": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TransactionAuditLog"
            }
          },
          "transactionStatus": {
            "$ref": "#/components/schemas/TransactionStatus"
          },
          "provisionalCreditAmount": {
            "$ref": "#/components/schemas/Amount"
          },
          "finalCreditAmount": {
            "$ref": "#/components/schemas/Amount"
          },
          "reverseCreditAmount": {
            "$ref": "#/components/schemas/Amount"
          },
          "transactionFinalStatus": {
            "$ref": "#/components/schemas/FinalDecisionType"
          }
        }
      },
      "DisputedTransactionStatus": {
        "type": "string",
        "enum": [
          "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"
        ],
        "default": "DISPUTED_TRANSACTION_STATUS_UNKNOWN"
      },
      "FinalDecisionType": {
        "type": "string",
        "enum": [
          "RECORD_FINAL_DECISION_TYPE_UNKNOWN",
          "RECORD_FINAL_DECISION_TYPE_ACCEPTED",
          "RECORD_FINAL_DECISION_TYPE_DENIED",
          "RECORD_FINAL_DECISION_TYPE_CANCELED"
        ],
        "default": "RECORD_FINAL_DECISION_TYPE_UNKNOWN"
      },
      "TransactionAuditLog": {
        "type": "object",
        "properties": {
          "timestamp": {
            "type": "string",
            "format": "int64"
          },
          "eventType": {
            "$ref": "#/components/schemas/TransactionEventType"
          },
          "agentEmail": {
            "type": "string"
          },
          "issueProvisionalCredit": {
            "$ref": "#/components/schemas/TransactionAuditLogIssueProvisionalCredit"
          },
          "recordFinalDecision": {
            "$ref": "#/components/schemas/TransactionAuditLogRecordFinalDecision"
          }
        }
      },
      "TransactionAuditLogIssueProvisionalCredit": {
        "type": "object",
        "properties": {
          "amount": {
            "$ref": "#/components/schemas/Amount"
          },
          "actions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Action"
            }
          }
        }
      },
      "TransactionAuditLogRecordFinalDecision": {
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/TransactionAuditLogRecordFinalDecisionType"
          },
          "actions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Action"
            }
          },
          "accepted": {
            "$ref": "#/components/schemas/TransactionAuditLogRecordFinalDecisionAccepted"
          },
          "denied": {
            "$ref": "#/components/schemas/TransactionAuditLogRecordFinalDecisionDenied"
          },
          "canceled": {
            "$ref": "#/components/schemas/TransactionAuditLogRecordFinalDecisionCanceled"
          }
        }
      },
      "TransactionEventType": {
        "type": "string",
        "enum": [
          "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"
        ],
        "default": "TRANSACTION_EVENT_TYPE_UNKNOWN"
      },
      "TransactionStatus": {
        "type": "string",
        "enum": [
          "TRANSACTION_STATUS_UNKNOWN",
          "TRANSACTION_STATUS_PENDING",
          "TRANSACTION_STATUS_SETTLED"
        ],
        "default": "TRANSACTION_STATUS_UNKNOWN"
      },
      "googlerpcStatus": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "details": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/protobufAny"
            }
          }
        }
      },
      "protobufAny": {
        "type": "object",
        "properties": {
          "@type": {
            "type": "string"
          }
        },
        "additionalProperties": {}
      },
      "AuthenticateResponse": {
        "type": "object",
        "properties": {
          "sessionToken": {
            "type": "string"
          },
          "expiresAt": {
            "type": "string",
            "format": "int64"
          }
        }
      },
      "GetDisputeStatusResponse": {
        "type": "object",
        "properties": {
          "dispute": {
            "$ref": "#/components/schemas/DisputeSummary"
          }
        }
      },
      "GetDisputesResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DisputeSummary"
            }
          },
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "totalInPage": {
            "type": "integer",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "ReopenDisputeResponse": {
        "type": "object",
        "properties": {
          "dispute": {
            "$ref": "#/components/schemas/DisputeSummary"
          }
        }
      },
      "UploadFileResponse": {
        "type": "object"
      }
    },
    "securitySchemes": {
      "api_key": {
        "type": "apiKey",
        "name": "Authorization",
        "in": "header"
      },
      "user_uuid": {
        "type": "apiKey",
        "name": "x-user-uuid",
        "in": "header"
      }
    }
  },
  "x-ext-urls": {}
}