Finix Payments Disputes API

{'$ref': 'api-descriptions/tags/disputes.md'}

OpenAPI Specification

finix-payments-disputes-api-openapi.yml Raw ↑
openapi: 3.0.2
info:
  title: Finix Authorizations Disputes API
  description:
    $ref: api-descriptions/main.md
  contact:
    name: Finix
    url: https://finix.com
    email: support@finixpayments.com
  version: '2022-02-01'
servers:
- description: Sandbox server to be used for testing and development
  url: https://finix.sandbox-payments-api.com
security:
- BasicAuth: []
tags:
- name: Disputes
  description:
    $ref: api-descriptions/tags/disputes.md
paths:
  /disputes:
    get:
      tags:
      - Disputes
      description: Retrieve a list of `Disputes`.
      summary: List Disputes
      operationId: listDisputes
      parameters:
      - $ref: '#/components/parameters/QueryLimit'
      - $ref: '#/components/parameters/QueryCreatedAtGteFilter'
      - $ref: '#/components/parameters/QueryCreatedAtLteFilter'
      - $ref: '#/components/parameters/QueryUpdatedAtGteFilter'
      - $ref: '#/components/parameters/QueryUpdatedAtLteFilter'
      - schema:
          type: string
        in: query
        name: transfer_id
        description: 'Filter by the ID of the `Transfer` that''s being disputed. <br><br>**Note**: If included, all other filter parameters are ignored.'
      - schema:
          type: string
        in: query
        name: adjustment_transfer_id
        description: 'Filter by the ID of the adjustment `Transfer`. <br><br>**Note**: If included, all other filter parameters are ignored.'
      - $ref: '#/components/parameters/QueryAmountFilter'
      - $ref: '#/components/parameters/QueryAmountGteFilter'
      - $ref: '#/components/parameters/QueryAmountGtFilter'
      - $ref: '#/components/parameters/QueryAmountLtFilter'
      - schema:
          type: string
        in: query
        name: state
        description: Filter by the state of the `Dispute`.
      - schema:
          type: string
        in: query
        name: response_state
        description: Filter by the `response_state` of the `Dispute`.
      - schema:
          type: string
        in: query
        name: respond_by.lte
        description: Filter where `respond_by` is before the given date.
      - schema:
          type: string
        in: query
        name: respond_by.gte
        description: Filter where `respond_by` is after the given date.
      - schema:
          type: string
        in: query
        name: instrument_bin
        description: Filter by the Bank Identification Number (BIN). The BIN is the first 6 digits of the masked account number.
      - schema:
          type: string
        in: query
        name: instrument_brand_type
        description: Filter by the card brand used.
      - in: query
        name: merchant_identity_id
        description: Filter by the ID of the `Identity` used by the `Merchant`.
        schema:
          type: string
      - schema:
          type: string
        in: query
        name: merchant_identity_name
        description: Filter by the name used by the `Merchant`.
      - schema:
          type: string
        in: query
        name: instrument_name
        description: Filter by the name of the `Payment Instrument`.
      - schema:
          type: string
        in: query
        name: instrument_type
        description: Filter by `Payment Instrument` type.
      - schema:
          type: string
        in: query
        name: merchant_id
        description: Filter by the ID of the `Merchant`.
      - schema:
          type: string
        in: query
        name: merchant_mid
        description: Filter by the MID of the `Merchant`.
      - schema:
          type: string
        in: query
        name: instrument_card_last4
        description: Filter by the last 4 digits of the card used.
      - schema:
          type: string
        in: query
        name: instrument_card_type
        description: Filter by the card type.
      - schema:
          type: string
        in: query
        name: instrument_fingerprint
        description: Filter by the fingerprint of the `Payment Instrument`.
      - schema:
          type: string
        in: query
        name: before_cursor
        description: Returns every `Dispute` created before the cursor value.
      - $ref: '#/components/parameters/TagsKey'
      - $ref: '#/components/parameters/TagsValue'
      responses:
        '200':
          $ref: '#/components/responses/DisputesList'
        '401':
          $ref: '#/components/responses/ErrorUnauthorized'
        '403':
          $ref: '#/components/responses/ErrorForbidden403'
        '406':
          $ref: '#/components/responses/Error406NotAcceptable'
      x-java-method-name: list
      x-group-parameters: true
      x-codeSamples:
      - lang: cURL
        label: curl
        source: "curl \"https://finix.sandbox-payments-api.com/disputes/\" \\\n  -H \"Finix-Version: 2022-02-01\" \\\n  -u USsRhsHYZGBPnQw8CByJyEQW:8a14c2f9-d94b-4c72-8f5c-a62908e5b30e\n"
      x-python-method-name: list
      x-returns-list: true
  /disputes/{dispute_id}:
    parameters:
    - description: ID of `Dispute`.
      required: true
      in: path
      name: dispute_id
      schema:
        type: string
    get:
      tags:
      - Disputes
      description: Retrieve the details of a previously created `Dispute`.
      summary: Fetch a Dispute
      operationId: getDispute
      responses:
        '200':
          $ref: '#/components/responses/Dispute'
        '401':
          $ref: '#/components/responses/ErrorUnauthorized'
        '403':
          $ref: '#/components/responses/ErrorForbidden403'
        '404':
          $ref: '#/components/responses/ErrorNotFound'
        '406':
          $ref: '#/components/responses/Error406NotAcceptable'
      x-java-method-name: get
      x-codeSamples:
      - lang: cURL
        label: curl
        source: "curl \"https://finix.sandbox-payments-api.com/disputes/DIs7yQRkHDdMYhurzYz72SFk\" \\\n  -H \"Finix-Version: 2022-02-01\" \\\n  -u USsRhsHYZGBPnQw8CByJyEQW:8a14c2f9-d94b-4c72-8f5c-a62908e5b30e\n"
      x-python-method-name: get
    put:
      summary: Update a Dispute
      operationId: updateDispute
      responses:
        '200':
          $ref: '#/components/responses/Dispute'
        '401':
          $ref: '#/components/responses/ErrorUnauthorized'
        '403':
          $ref: '#/components/responses/ErrorForbidden403'
        '404':
          $ref: '#/components/responses/ErrorNotFound'
        '406':
          $ref: '#/components/responses/Error406NotAcceptable'
      description: Update `tags` on `Disputes`.
      requestBody:
        $ref: '#/components/requestBodies/UpdateDisputeEvidence'
      x-java-method: put
      tags:
      - Disputes
      parameters:
      - schema:
          type: string
          default: '2018-01-01'
          example: '2022-02-01'
        in: header
        name: Finix-Version
        description: Specify the API version of your request. For more details, see [Versioning.](/guides/developers/versioning/)
      x-python-method-name: update_dispute
  /disputes/{dispute_id}/evidence:
    parameters:
    - description: ID of `Dispute` to mange evidence for.
      required: true
      in: path
      name: dispute_id
      schema:
        type: string
    post:
      tags:
      - Disputes
      description: 'Upload a file as evidence for a `Dispute`.


        - You can upload up to 8 files; the total size of the uploaded files combined cannot exceed 10 MB.

        - The allowed file formats include JPG, PNG, PDF, or TIFF.

        - Individual PNG and JPEG files can''t exceed 50 KB; PDF and TIFF files can''t exceed 1 MB.'
      summary: Upload Files as Dispute Evidence
      operationId: createDisputeEvidence
      responses:
        '201':
          $ref: '#/components/responses/DisputeEvidence'
        '401':
          $ref: '#/components/responses/ErrorUnauthorized'
        '403':
          $ref: '#/components/responses/ErrorForbidden403'
        '404':
          $ref: '#/components/responses/ErrorNotFound'
        '406':
          $ref: '#/components/responses/Error406NotAcceptable'
      x-codeSamples:
      - lang: cURL
        label: curl
        source:
          $ref: xcode/curl/disputes/uploadevidence.md
      requestBody:
        $ref: '#/components/requestBodies/CreateDisputeEvidenceRequest'
      x-python-method-name: create_dispute_evidence
    get:
      tags:
      - Disputes
      description: Retrieve a list of dispute evidence for a `Dispute`.
      summary: List Dispute Evidence
      operationId: listDisputeEvidence
      responses:
        '200':
          $ref: '#/components/responses/DisputeEvidenceList'
        '401':
          $ref: '#/components/responses/ErrorUnauthorized'
        '403':
          $ref: '#/components/responses/ErrorForbidden403'
        '404':
          $ref: '#/components/responses/ErrorNotFound'
        '406':
          $ref: '#/components/responses/Error406NotAcceptable'
      x-java-method-name: listDisputeEvidenceByDisputeId
      x-group-parameters: true
      parameters:
      - $ref: '#/components/parameters/QueryLimit'
      - $ref: '#/components/parameters/QueryAfterCursor'
      - $ref: '#/components/parameters/QueryBeforeCursor'
      x-codeSamples:
      - lang: cURL
        label: curl
        source: "curl \"https://finix.sandbox-payments-api.com/disputes/DIs7yQRkHDdMYhurzYz72SFk/evidence\" \\\n  -H \"Finix-Version: 2022-02-01\" \\\n  -u USsRhsHYZGBPnQw8CByJyEQW:8a14c2f9-d94b-4c72-8f5c-a62908e5b30e\n"
      x-python-method-name: list_dispute_evidence_by_dispute_id
      x-returns-list: true
  /disputes/{dispute_id}/evidence/{evidence_id}:
    parameters:
    - description: ID of `Dispute` to fetch evidence for.
      required: true
      in: path
      name: dispute_id
      schema:
        type: string
    - description: ID of `evidence` to fetch.
      required: true
      in: path
      name: evidence_id
      schema:
        type: string
    get:
      tags:
      - Disputes
      description: "Fetch evidence uploaded for a `Dispute`. \n\nIf you don't have the Finix Dashboard available, you can fetch the evidence to review the `status` of the upload to confirm the evidence got sent to the processor."
      summary: Fetch Dispute Evidence
      operationId: getDisputeEvidence
      responses:
        '200':
          $ref: '#/components/responses/DisputeEvidence'
        '401':
          $ref: '#/components/responses/ErrorUnauthorized'
        '403':
          $ref: '#/components/responses/ErrorForbidden403'
        '404':
          $ref: '#/components/responses/ErrorNotFound'
        '406':
          $ref: '#/components/responses/Error406NotAcceptable'
      x-codeSamples:
      - lang: cURL
        label: curl
        source: "curl \"https://finix.sandbox-payments-api.com/disputes/DIs7yQRkHDdMYhurzYz72SFk/evidence/DF58kdVTa5eMQUjcXH2F7DH4\" \\\n  -H \"Finix-Version: 2022-02-01\" \\\n  -u USsRhsHYZGBPnQw8CByJyEQW:8a14c2f9-d94b-4c72-8f5c-a62908e5b30e\n"
      x-python-method-name: get_dispute_evidence
    put:
      summary: Update Dispute Evidence
      operationId: updateDisputeEvidence
      responses:
        '200':
          $ref: '#/components/responses/DisputeEvidence'
        '401':
          $ref: '#/components/responses/ErrorUnauthorized'
        '403':
          $ref: '#/components/responses/ErrorForbidden403'
        '404':
          $ref: '#/components/responses/ErrorNotFound'
        '406':
          $ref: '#/components/responses/Error406NotAcceptable'
      description: Update tags on `Dispute` evidence.
      requestBody:
        $ref: '#/components/requestBodies/UpdateDisputeEvidence'
      x-java-method: put
      tags:
      - Disputes
      parameters:
      - schema:
          type: string
          default: '2018-01-01'
          example: '2022-02-01'
        in: header
        name: Finix-Version
        description: Specify the API version of your request. For more details, see [Versioning.](/guides/developers/versioning/)
      x-python-method-name: update_dispute_evidence
  /disputes/{dispute_id}/adjustment_transfers:
    parameters:
    - schema:
        type: string
      name: dispute_id
      in: path
      required: true
      description: ID of the `Dispute` resource.
    get:
      summary: Fetch Dispute Adjustment Transfers
      tags:
      - Disputes
      responses:
        '200':
          $ref: '#/components/responses/AdjustmentTransfersList'
        '401':
          description: Unauthorized
        '403':
          $ref: '#/components/responses/ErrorForbidden403'
        '404':
          $ref: '#/components/responses/ErrorNotFound'
        '406':
          $ref: '#/components/responses/Error406NotAcceptable'
      operationId: listDisputesAdjustments
      description: 'List the adjustment `Transfers` for a `Dispute`. Depending on the stage of the `Dispute`, different adjustment `Transfer` subtypes can be applied.


        There are four available subtypes for adjustment `Transfers` in `Disputes`: <ul><li><strong>PLATFORM\_CREDIT</strong><li><strong>MERCHANT\_DEBIT</strong><li><strong>MERCHANT\_CREDIT</strong><li><strong>PLATFORM\_DEBIT</strong></ul>'
      x-group-parameters: true
      parameters:
      - $ref: '#/components/parameters/QueryLimit'
      - $ref: '#/components/parameters/QueryAfterCursor'
      - $ref: '#/components/parameters/QueryBeforeCursor'
      x-codeSamples:
      - lang: cURL
        label: curl
        source: "curl \"https://finix.sandbox-payments-api.com/disputes/DIs7yQRkHDdMYhurzYz72SFk/adjustment_transfers\" \\\n  -H \"Finix-Version: 2022-02-01\" \\\n  -u USsRhsHYZGBPnQw8CByJyEQW:8a14c2f9-d94b-4c72-8f5c-a62908e5b30e\n"
      x-python-method-name: list_disputes_adjustments
      x-returns-list: true
  /disputes/{dispute_id}/submit:
    parameters:
    - schema:
        type: string
      name: dispute_id
      in: path
      required: true
      description: ID of `Dispute` to move forward and submit evidence.
    post:
      summary: Submit Dispute Evidence
      operationId: submitDisputeEvidence
      responses:
        '200':
          $ref: '#/components/responses/Dispute'
        '401':
          $ref: '#/components/responses/ErrorUnauthorized'
        '403':
          $ref: '#/components/responses/ErrorForbidden403'
        '404':
          $ref: '#/components/responses/ErrorNotFound'
        '406':
          $ref: '#/components/responses/Error406NotAcceptable'
        '422':
          $ref: '#/components/responses/ErrorUnprocessableEntity'
      tags:
      - Disputes
      description: 'You can manually submit evidence to the issuing bank to manually move a dispute forward. Use the `/disputes/DISPUTE_ID/submit` endpoint to submit evidence. Making a POST request lets the issuing bank know the seller has completed submitting evidence and is prepared to move forward with the dispute.


        Related guides: [Responding to Disputes](/guides/after-the-payment/disputes/responding-disputes/).'
      x-java-method-name: post
      x-codeSamples:
      - lang: cURL
        label: curl
        source:
          $ref: xcode/curl/disputes/submit-dispute-evidence.md
      requestBody:
        $ref: '#/components/requestBodies/SubmitDisputeEvidence'
      parameters:
      - schema:
          type: string
          default: '2018-01-01'
          example: '2022-02-01'
        in: header
        name: Finix-Version
        description: Specify the API version of your request. For more details, see [Versioning.](/guides/developers/versioning/)
      x-python-method-name: post
  /disputes/{dispute_id}/accept:
    parameters:
    - schema:
        type: string
      name: dispute_id
      in: path
      required: true
      description: ID of `Dispute` to move forward and submit evidence.
    post:
      summary: Accept a Dispute
      operationId: acceptDispute
      responses:
        '200':
          $ref: '#/components/responses/Dispute'
        '401':
          $ref: '#/components/responses/ErrorUnauthorized'
        '403':
          $ref: '#/components/responses/ErrorForbidden403'
        '404':
          $ref: '#/components/responses/ErrorNotFound'
        '406':
          $ref: '#/components/responses/Error406NotAcceptable'
        '422':
          $ref: '#/components/responses/ErrorUnprocessableEntity'
      description: 'You can accept a `Dispute` to prevent a long (and potentially expensive) process. When you accept a `Dispute`, you concede that the Dispute is not worth challenging or representing.


        Related guides: [Accepting a Dispute](/guides/after-the-payment/disputes/accepting-disputes/)

        '
      x-java-method-name: post
      x-codeSamples:
      - lang: cURL
        label: curl
        source:
          $ref: xcode/curl/disputes/accept-dispute.md
      requestBody:
        $ref: '#/components/requestBodies/AcceptDisputeRequest'
      tags:
      - Disputes
      x-python-method-name: post
  /disputes/{dispute_id}/evidence/{evidence_id}/download:
    parameters:
    - schema:
        type: string
        example: DIpCy4sZTx6im6U1ofBBPzdM
      name: dispute_id
      in: path
      required: true
      description: ID of `Dispute` to download evidence from.
    - schema:
        type: string
        example: DFtiQ1LoNbjBTYiuuxju6tE2
      name: evidence_id
      in: path
      required: true
      description: ID of `evidence` to download.
    get:
      summary: Download Dispute Evidence
      tags:
      - Disputes
      responses:
        '200':
          $ref: '#/components/responses/FileDownload'
        '401':
          $ref: '#/components/responses/ErrorUnauthorized'
        '403':
          $ref: '#/components/responses/ErrorForbidden403'
        '404':
          $ref: '#/components/responses/ErrorNotFound'
        '406':
          $ref: '#/components/responses/Error406NotAcceptable'
      operationId: downloadDisputeEvidence
      description: 'Download a file uploaded as `Dispute Evidence`.


        **Note**: The file extension included in `output` must match the extension of the original uploaded file.'
      x-java-method-name: get
      x-codeSamples:
      - lang: cURL
        label: curl
        source: "curl \"https://finix.sandbox-payments-api.com/disputes/DIpCy4sZTx6im6U1ofBBPzdM/evidence/DFtiQ1LoNbjBTYiuuxju6tE2/download\" \\\n  -H \"Finix-Version: 2022-02-01\" \\\n  -u USsRhsHYZGBPnQw8CByJyEQW:8a14c2f9-d94b-4c72-8f5c-a62908e5b30e \\\n  --output DFtiQ1LoNbjBTYiuuxju6tE2.png\n"
      parameters: []
      x-python-method-name: get
components:
  schemas:
    SubmitDisputeEvidence:
      title: SubmitDisputeEvidence
      x-stoplight:
        id: 3ea63d77b21a4
      type: object
      properties:
        note:
          type: string
          description: 'Include a note or custom metadata to reference the `Dispute` '
          example: '"Submitting Dispute Evidence: July 23rd Receipt"'
      required:
      - note
    AcceptDispute:
      title: AcceptDispute
      type: object
      x-stoplight:
        id: 47d1ecd88c757
      properties:
        note:
          type: string
          description: 'Include a note or custom metadata to reference the `Dispute`. '
          example: '"Accepting Dispute: Mistaken Charge"'
      required:
      - note
    Error406NotAcceptable:
      type: object
      properties:
        total:
          type: integer
        _embedded:
          type: object
          properties:
            errors:
              type: array
              items:
                type: object
                additionalProperties: true
                properties:
                  code:
                    type: string
                    enum:
                    - NOT_FOUND
                  logref:
                    $ref: '#/components/schemas/LogRef'
                  message:
                    type: string
                  _links:
                    type: object
                    properties:
                      source:
                        type: object
                        properties:
                          href:
                            type: string
      title: ''
    AdditionalHealthcareData:
      title: AdditionalHealthcareData
      x-stoplight:
        id: ibznc087ymmit
      type: object
      description: Optional object detailing [specific healthcare amounts](/guides/making-a-payment/hsa-fsa/).
      nullable: true
      properties:
        clinic_amount:
          type: integer
          description: The amount used for clinic and office visits such as a copay amount.
          nullable: true
        dental_amount:
          type: integer
          description: The amount used for dental related expenses.
          nullable: true
        prescription_amount:
          type: integer
          description: The amount used to purchase perscriptions and medications.
          nullable: true
        vision_amount:
          type: integer
          description: The amount used for vision related expenses.
          nullable: true
    Raw:
      title: Raw
      description: Raw response from the processor.
      x-examples: {}
      type: object
      nullable: true
    Currency:
      type: string
      description: ISO 4217 3 letter currency code.
      enum:
      - AED
      - AFN
      - ALL
      - AMD
      - ANG
      - AOA
      - ARS
      - AUD
      - AWG
      - AZN
      - BAM
      - BBD
      - BDT
      - BGN
      - BHD
      - BIF
      - BMD
      - BND
      - BOB
      - BOV
      - BRL
      - BSD
      - BTN
      - BWP
      - BYR
      - BZD
      - CAD
      - CDF
      - CHE
      - CHF
      - CHW
      - CLF
      - CLP
      - CNY
      - COP
      - COU
      - CRC
      - CUC
      - CUP
      - CVE
      - CZK
      - DJF
      - DKK
      - DOP
      - DZD
      - EGP
      - ERN
      - ETB
      - EUR
      - FJD
      - FKP
      - GBP
      - GEL
      - GHS
      - GIP
      - GMD
      - GNF
      - GTQ
      - GYD
      - HKD
      - HNL
      - HRK
      - HTG
      - HUF
      - IDR
      - ILS
      - INR
      - IQD
      - IRR
      - ISK
      - JMD
      - JOD
      - JPY
      - KES
      - KGS
      - KHR
      - KMF
      - KPW
      - KRW
      - KWD
      - KYD
      - KZT
      - LAK
      - LBP
      - LKR
      - LRD
      - LSL
      - LTL
      - LYD
      - MAD
      - MDL
      - MGA
      - MKD
      - MMK
      - MNT
      - MOP
      - MRO
      - MUR
      - MVR
      - MWK
      - MXN
      - MXV
      - MYR
      - MZN
      - NAD
      - NGN
      - NIO
      - NOK
      - NPR
      - NZD
      - OMR
      - PAB
      - PEN
      - PGK
      - PHP
      - PKR
      - PLN
      - PYG
      - QAR
      - RON
      - RSD
      - RUB
      - RWF
      - SAR
      - SBD
      - SCR
      - SDG
      - SEK
      - SGD
      - SHP
      - SLL
      - SOS
      - SRD
      - SSP
      - STD
      - SVC
      - SYP
      - SZL
      - THB
      - TJS
      - TMT
      - TND
      - TOP
      - TRY
      - TTD
      - TWD
      - TZS
      - UAH
      - UGX
      - USD
      - USN
      - UYI
      - UYU
      - UZS
      - VEF
      - VND
      - VUV
      - WST
      - XAF
      - XAG
      - XAU
      - XBA
      - XBB
      - XBC
      - XBD
      - XCD
      - XDR
      - XOF
      - XPD
      - XPF
      - XPT
      - XSU
      - XTS
      - XUA
      - XXX
      - YER
      - ZAR
      - ZMW
      - ZWL
    Error401Unauthorized:
      type: object
      properties:
        total:
          type: integer
        _embedded:
          type: object
          properties:
            errors:
              type: array
              items:
                type: object
                additionalProperties: true
                properties:
                  code:
                    type: string
                    enum:
                    - UNKNOWN
                  logref:
                    $ref: '#/components/schemas/LogRef'
                  message:
                    type: string
                  _links:
                    type: object
                    additionalProperties: true
                    properties:
                      self:
                        type: object
                        properties:
                          href:
                            type: string
                      source:
                        type: object
                        properties:
                          href:
                            type: string
    DisputeEvidenceList:
      type: object
      title: ''
      properties:
        page:
          $ref: '#/components/schemas/PageCursor'
        _embedded:
          type: object
          description: List of `evidence` created for a `Dispute`.
          properties:
            evidences:
              type: array
              minItems: 0
              uniqueItems: true
              description: '`Evidence` objects.'
              items:
                $ref: '#/components/schemas/DisputeEvidence'
        _links:
          type: object
          description: For your convenience, every response includes several URLs which link to resources relevant to the request. You can use these `_links` to make your follow-up requests and quickly access relevant IDs.
          properties:
            self:
              type: object
              description: Link to the resource that was used in the request.
              properties:
                href:
                  type: string
    UpdateDisputeEvidence:
      title: UpdateDisputeEvidence
      x-stoplight:
        id: 20436cd87ffb5
      type: object
      properties:
        tags:
          $ref: '#/components/schemas/Tags'
      required:
      - tags
    Dispute:
      type: object
      title: Dispute
      description: A `Dispute` objected created for a chargeback or customer disputes.
      properties:
        id:
          type: string
          example: DIxxxxxxxxxxxxxxxxxx
          description: The ID of the `Dispute` resource.
        created_at:
          $ref: '#/components/schemas/CreatedAt'
        updated_at:
          $ref: '#/components/schemas/UpdatedAt'
        action:
          type: string
          description: The next `action` required to move forward with the `Dispute`.
          nullable: true
        amount:
          type: integer
          description: The total amount of the `Dispute` (in cents).
          nullable: true
        application:
          type: string
          description: The ID of the `Application` resource that the `Dispute` was created under.
        dispute_details:
          description: Details about the `Dispute` received by the `Processor`. Any data from the processor can get included.
          type: object
          properties:
            case_id:
              type: string
              description: The case number the `Processor` has given the dispute in their internal database.
              nullable: true
            pin_debit_adjustment_number:
              type: string
              description: Used by the processor to identify the funds that are getting disputed.
              nullable: true
            reason_code:
              type: string
              description: Used by the processor and card networks to identify why the dispute got filed.
              nullable: true
        evidence_submitted:
          type: string
          enum:
          - CHARGEBACK
          - NOT_SUPPORTED
          - NONE
          - UNKNOWN
          - INQUIRY
          description: The status of the uploaded evidence. [See `Dispute#response_details` for the next steps to move the `Dispute` forward](/api/tag/Disputes/#tag/Disputes/operation/getDispute!c=200&path=response_state&t=response).
        identity:
          type: string
          description: '- The ID of the seller''s `Identity` resource.

            - This is the `Identity` resource that was used to create the seller''s `Merchant`.'
        merchant:
          type: string
          description: "- The ID of the seller's `Merchant` resource. \n- This is the `Merchant` account the `Dispute` was filed against."
        message:
          type: string
          description: Message field that provides additional details. This field is typically **null**.
          nullable: true
        occurred_at:
          type: string
          description: Point in time when the `Transfer` that's getting disputed got created.
          format: date-time
          nullable: true
        reason:
          type: string
          enum:
          - CLERICAL
          - FRAUD
          - INQUIRY
          - QUALITY
          - TECHNICAL
          description: The system-defined reason for the `Dispute`. Available values include:<ul><li>**INQUIRY**<li>**QUALITY**<li>**FRAUD**
        respond_by:
          type: string
          format: date-time
          description: Point in time, the `Merchant` needs to respond to the dispute by.
          nullable: true
        response_state:
          type: string
          enum:
          - NEEDS_RESPONSE
          - RESPONDED
          - ACCEPTED
          - NO_RESPONSE_ALLOWED
          - UNKNOWN
          description: 'Details the state of the `Dispute` and what action the `Merchant` needs to take.

            - **NEEDS_RESPONSE**: The `Merchant` needs to respond to the `Dispute` by `Dispute#respond_by`. For details on how to respond to a `Dispute`, see [Responding to Disputes](/guides/after-the-payment/disputes/responding-disputes/).

            - **RESPONDED**: The issuing bank has received the evidence and actively reviewing it. No action needed from the `Merchant`.

            - **ACCEPTED**: The `Merchant` has accepted the `Dispute`. When a `Dispute` is accepted, you concede that the dispute is not worth challenging or representing. For details on how to accept a `Dispute`, see [Accepting a Dispute](/guides/after-the-payment/disputes/accepting-disputes/).

            - **NO_RESPONSE_ALLOWED**: The final `Dispute#response_state` when a `Dispute` is either **WON** or **LOST**.

            - **UNKNOWN**: `Dispute` details couldn''t be submitted to the processor. Comes up when testing `Disputes` in sandbox or on the **DUMMY_V1** processor.'
        state:
          type: string
          enum:
          - INQUIRY
          - PENDING
          - WON
          - LOST
          description: The current state of the `Dispute`.
        tags:
          $ref: '#/components/schemas/Tags'
        transfer:
          type: string
          description: ID of the `Transfer` resource.
          example: TRxxxxxxxxxxxxxxxxxx
        _links:
          type: object
          description: For your convenience, every response includes several URLs which link to resources relevant to the request. You can use these `_links` to make your follow-up requests and quickly access relevant IDs.
          properties:
            adjustment_transfers:
              type: object
              properties:
                href:
                  type: string
            application:
              type: object
              description: Link to the `Application` the resource was created under.
              properties:
                href:
                  type: string
            evidence:
              type: object
              properties:
                href:
                  type: string
            self:
              type: object
              description: Link to the resource that was used in the request.
              properties:
                href:
                  type: string
            transfer:
              type: object
              description: Link to the `Transfers` realted to the `Dispute`.
              properties:
                href:
                  type: string
    ErrorGeneric:
      type: object
      properties:
        total:
          type: integer
        _embedded:
          type: object
          properties:
            errors:
              type: array
              items:
                type: object
                additionalProperties: true
                properties:
                  code:
                    type: string
                    enum:
                    - FORBIDDEN
                  logref:
                    $ref: '#/components/schemas/LogRef'
                  message:
                    type: string
                  _links:
                    type: object
                    properties:
                      source:
                        type: object
                        properties:
                          href:
                            type: string
    Amount:
      type: integer
      title: Amount
      description: The total amount that will be debited in cents (e.g. 100 cents to debit $1.00).
      format: int64
    Tags:
      type: obj

# --- truncated at 32 KB (89 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/finix-payments/refs/heads/main/openapi/finix-payments-disputes-api-openapi.yml