Casap Disputes API
The Disputes API from Casap — 4 operation(s) for disputes.
The Disputes API from Casap — 4 operation(s) for disputes.
openapi: 3.1.1
info:
title: Casap Auth Disputes API
version: 0.1.0
servers:
- url: http://api.casaphq.com
security:
- api_key: []
user_uuid: []
tags:
- name: Disputes
paths:
/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
components:
schemas:
TransactionAuditLogRecordFinalDecisionDenied:
type: object
properties:
type:
$ref: '#/components/schemas/TransactionAuditLogRecordFinalDecisionDeniedType'
TransactionAuditLogIssueProvisionalCredit:
type: object
properties:
amount:
$ref: '#/components/schemas/Amount'
actions:
type: array
items:
$ref: '#/components/schemas/Action'
TransactionStatus:
type: string
enum:
- TRANSACTION_STATUS_UNKNOWN
- TRANSACTION_STATUS_PENDING
- TRANSACTION_STATUS_SETTLED
default: TRANSACTION_STATUS_UNKNOWN
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
protobufAny:
type: object
properties:
'@type':
type: string
additionalProperties: {}
TransactionNetwork:
type: string
enum:
- TRANSACTION_NETWORK_UNKNOWN
- TRANSACTION_NETWORK_VISA
- TRANSACTION_NETWORK_MASTERCARD
- TRANSACTION_NETWORK_AMEX
default: TRANSACTION_NETWORK_UNKNOWN
DisputeAuditLogCreateDispute:
type: object
properties:
actions:
type: array
items:
$ref: '#/components/schemas/Action'
TransactionAuditLogRecordFinalDecisionAcceptedMerchantCredited:
type: object
properties:
amount:
$ref: '#/components/schemas/Amount'
date:
type: string
format: int64
TransactionAuditLogRecordFinalDecisionCanceled:
type: object
properties:
type:
$ref: '#/components/schemas/TransactionAuditLogRecordFinalDecisionCanceledType'
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'
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
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
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
TransactionAuditLogRecordFinalDecisionAccepted:
type: object
properties:
type:
$ref: '#/components/schemas/TransactionAuditLogRecordFinalDecisionAcceptedType'
merchantCredited:
$ref: '#/components/schemas/TransactionAuditLogRecordFinalDecisionAcceptedMerchantCredited'
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
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'
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
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
DisputeStatus:
type: string
enum:
- DISPUTE_STATUS_UNKNOWN
- DISPUTE_STATUS_OPEN
- DISPUTE_STATUS_CLOSED
default: DISPUTE_STATUS_UNKNOWN
DisputeAuditLog:
type: object
properties:
timestamp:
type: string
format: int64
eventType:
$ref: '#/components/schemas/DisputeEventType'
agentEmail:
type: string
createDispute:
$ref: '#/components/schemas/DisputeAuditLogCreateDispute'
googlerpcStatus:
type: object
properties:
code:
type: integer
format: int32
message:
type: string
details:
type: array
items:
$ref: '#/components/schemas/protobufAny'
Action:
type: string
enum:
- ACTION_NONE
- ACTION_ISSUE_PROVISIONAL_CREDIT
- ACTION_ISSUE_FINAL_CREDIT
- ACTION_REVERSE_PROVISIONAL_CREDIT
- ACTION_REPLACE_CARD
default: ACTION_NONE
ReopenDisputeResponse:
type: object
properties:
dispute:
$ref: '#/components/schemas/DisputeSummary'
Amount:
type: object
properties:
amountInCents:
type: integer
format: int32
currency:
type: string
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'
GetDisputeStatusResponse:
type: object
properties:
dispute:
$ref: '#/components/schemas/DisputeSummary'
UploadFileResponse:
type: object
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
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'
CreateDisputeResponse:
type: object
properties:
dispute:
$ref: '#/components/schemas/DisputeSummary'
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
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
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
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'
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'
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"
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'
CreateDisputeRequestQuestionnaireAnswer:
type: object
properties:
question:
type: string
answer:
type: string
questionId:
type: string
DisputesReopenDisputeBody:
type: object
properties:
transactionUuids:
type: array
items:
type: string
CardType:
type: string
enum:
- CARD_TYPE_UNKNOWN
- CARD_TYPE_PHYSICAL
- CARD_TYPE_VIRTUAL
default: CARD_TYPE_UNKNOWN
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
securitySchemes:
api_key:
type: apiKey
name: Authorization
in: header
user_uuid:
type: apiKey
name: x-user-uuid
in: header
x-ext-urls: {}