Skip to main content
POST
/
v2
/
issuer
/
cases
Create a case
curl --request POST \
  --url https://api.decisionly.com/v2/issuer/cases \
  --header 'Authorization: Basic <encoded-value>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "reason": "product_not_received",
  "cardholder": {
    "name": "Susie Chargeback",
    "email": "susie@example.com",
    "issuer_id": "9529456289",
    "type": "individual"
  },
  "merchant": {
    "name": "FoodHub",
    "category_code": "5734",
    "issuer_id": "8201132789"
  },
  "transaction": {
    "arn": "48162855246353338636162",
    "switch_serial_number": "242025095",
    "issuer_id": "85cfda4d06b8440db3ec15af04061c98",
    "date": "2025-11-26T13:12:18.198-08:00",
    "amount": 299,
    "currency": "USD",
    "system": "dual_message",
    "card": {
      "network": "mastercard",
      "last4": "4242",
      "expiry_month": 6,
      "expiry_year": 2028,
      "type": "credit",
      "issuer_id": "b5te350d5135ab64a8t3c1097tadetd9ettb"
    }
  },
  "dispute": {
    "date": "2025-11-26T13:12:18.198-08:00",
    "amount": 299,
    "currency": "USD",
    "raised_by": "cardholder"
  },
  "issuer_evidence": {
    "cardholder_explanation": "I never received this order"
  },
  "custom_fields": {
    "card_program": "CardHub",
    "wallet_type": "mobile"
  }
}
'
{
"case_id": "case_abc123",
"reason": "product_not_received",
"cardholder": {
"name": "Susie Chargeback",
"email": "susie@example.com",
"issuer_id": "9529456289",
"type": "individual"
},
"merchant": {
"name": "FoodHub",
"category_code": "5734"
},
"transaction": {
"arn": "48162855246353338636162",
"date": "2025-11-26T13:12:18.198-08:00",
"amount": 299,
"currency": "USD",
"card": {
"network": "mastercard",
"last4": "4242",
"expiry_month": 6,
"expiry_year": 2028
}
},
"dispute": {
"date": "2025-11-26T13:12:18.198-08:00",
"amount": 299,
"currency": "USD",
"raised_by": "cardholder"
},
"status": "created",
"created": "2025-02-01T00:00:00.000Z"
}

Authorizations

Authorization
string
header
required

Use your API key as the username. No password is required.

Body

application/json

Case data for creating a new case.

reason
enum<string>
required

The reason for the dispute.

Available options:
invalid_authorization,
fraud,
product_not_received,
product_not_as_described,
product_counterfeit,
subscription_canceled,
credit_not_processed,
duplicate_charge,
incorrect_amount,
cash_not_received,
canceled_or_returned,
other
Example:

"fraud"

cardholder
object
required

Details of the cardholder.

merchant
object
required

Details of the merchant.

transaction
object
required

Details of the disputed transaction. Either arn or switch_serial_number is required.

dispute
object
required

Dispute details for the case.

case_id
string | null

Optional unique identifier for the case. If not provided, one will be generated automatically.

Maximum string length: 126
Example:

"case_abc123"

issuer_evidence
object

Issuer evidence for the dispute.

custom_fields
object

Custom key-value pairs for storing additional data with your cases. See Custom Fields documentation for more details.

Response

Returns the newly created case.

case_id
string

Unique identifier for the case.

Example:

"case_abc123"

reason
enum<string>

The reason for the dispute.

Available options:
invalid_authorization,
fraud,
product_not_received,
product_not_as_described,
product_counterfeit,
subscription_canceled,
credit_not_processed,
duplicate_charge,
incorrect_amount,
cash_not_received,
canceled_or_returned,
other
Example:

"fraud"

cardholder
object

Details of the cardholder.

merchant
object

Details of the merchant.

transaction
object

Details of the disputed transaction. Either arn or switch_serial_number is required.

dispute
object

Dispute details for the case.

issuer_evidence
object

Issuer evidence for the dispute.

custom_fields
object

Custom key-value pairs for storing additional data with your cases. See Custom Fields documentation for more details.

status
enum<string>

The status of the case.

Available options:
created,
chargeback_filed,
chargeback_represented,
prearb_filed,
prearb_rebutted,
arbitration_filed,
closed,
won,
lost
Example:

"created"

closed_reason
enum<string> | null

The reason the case was closed.

Available options:
accepted,
rejected,
expired,
withdrawn
Example:

null

created
string<date-time>

When the case was created. ISO 8601 format.

Example:

"2025-02-01T00:00:00.000Z"