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.

**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`.

**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`: ' 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: