openapi: 3.2.0 info: version: '2.0' title: Dispute Management Endpoints API description: The Dispute management API allows you to manage all disputes and chargebacks. contact: name: API Support email: help@vopay.com servers: - url: https://earthnode-dev.vopay.com/api/v2 tags: - name: Dispute Management Endpoints paths: /dispute-management/generate-embed-url: post: description: This endpoint generates a unique URL to embed into your application using an iFrame. summary: dispute-management/generate-embed-url tags: - Dispute Management Endpoints operationId: DisputeManagementGenerateEmbedURLPOST deprecated: false requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: AccountID: description: Your account ID type: string Key: description: API key for the account type: string Signature: description: Hashed signature for the request type: string StylesheetUrl: description: Stylesheet URL for the iframe type: string Language: description: The language for the iframe. 'en' for English, 'fr' for French. Defaults to 'en'. type: string DarkMode: description: Whether to use dark mode for the iframe. Defaults to false. type: boolean required: - AccountID - Key - Signature required: true responses: '200': description: '' content: application/json: schema: type: object properties: Success: type: boolean description: True if the request was successful, false if it failed example: 'true' ErrorMessage: type: string description: Contains a description of the error if the request failed example: '' Link: type: string description: The URL to embed into your application using an iFrame. example: https://dispute-management.vopay.com/?Token=3s77vg2nwta8c3qc2rwpmmk8w03elfa7rmrsug3l IframeKey: type: string description: A unique key for the iFrame. example: 3s77vg2nwta8c3qc2rwpmmk8w03elfa7rmrsug3l /dispute-management/list: get: description: This endpoint allows you to fetch a list of your disputes and chargebacks. summary: dispute-management/list tags: - Dispute Management Endpoints operationId: DisputeManagementListGET deprecated: false parameters: - name: AccountID in: query required: true description: Your account ID schema: type: string - name: Key in: query required: true description: API key for the account schema: type: string - name: Signature in: query required: true description: Hashed signature for the request schema: type: string - name: DisputeStatus in: query required: false description: 'Filters results by status: UnderReview, WitMerchant, or Closed. Default is null (i.e., all disputes are returned).' schema: type: string - name: DisputeStage in: query required: false description: Filters results by stage. Default is null (i.e., all disputes are returned). schema: type: string - name: DisputeID in: query required: false description: Filters results by dispute ID schema: type: string - name: Currency in: query required: false description: Filters results by currency. Default is null (i.e., all disputes are returned). schema: type: string - name: CardBrand in: query required: false description: 'Filters results by card brand: visa, mastercard, amex, discover. Default is null (i.e., all disputes are returned).' schema: type: string - name: FromDate in: query required: false description: Filters results that occurred on or after this date/time. Must be specified in YYYY-MM-DD format. Default is 30 days ago. schema: type: string - name: ToDate in: query required: false description: Filters results that occurred on or before this date/time. Must be specified in either YYYY-MM-DD format. Default is the current date/time. schema: type: string responses: '200': description: '' content: application/json: schema: type: object properties: Success: type: boolean description: True if the request was successful, false if it failed example: 'true' ErrorMessage: type: string description: Contains a description of the error if the request failed example: '' Disputes: type: object description: A collection of disputes properties: '0': type: object properties: DisputeID: type: string description: The ID associated with the dispute example: '1' DisputeCreatedOn: type: string description: The date and time the dispute was created example: '2019-01-01T00:00:00' DisputeStatus: type: string description: The status of the dispute example: UnderReview DisputeStage: type: string description: The stage of the dispute example: First Chargeback DisputeAmount: type: number description: The amount of the dispute example: '1.00' DisputeCurrency: type: string description: The currency of the dispute example: USD DisputeReason: type: string description: The reason for the dispute example: Damaged goods DisputeReasonCode: type: string description: The reason code for the dispute example: '1' DisputeResult: type: string description: The result of the dispute example: Won DisputeReplyByDate: type: string description: The date and time the dispute is due for a response example: '2019-01-01T00:00:00' DaysLeftToRespond: type: number description: The number of days left to respond to the dispute example: '1' DisputeCardBrand: type: string description: The brand of the card used for the dispute example: Visa DisputeCardLast4: type: string description: The last 4 digits of the card used for the dispute example: '1234' DisputeARN: type: string description: The ARN associated with the dispute example: '123456789' /dispute-management/detail: get: description: This endpoint allows you to fetch details for a dispute. summary: dispute-management/detail tags: - Dispute Management Endpoints operationId: DisputeManagementDetailGET deprecated: false parameters: - name: AccountID in: query required: true description: Your account ID schema: type: string - name: Key in: query required: true description: API key for the account schema: type: string - name: Signature in: query required: true description: Hashed signature for the request schema: type: string - name: DisputeID in: query required: true description: The ID associated with the dispute schema: type: string responses: '200': description: '' content: application/json: schema: type: object properties: Success: type: boolean description: True if the request was successful, false if it failed example: 'true' ErrorMessage: type: string description: Contains a description of the error if the request failed example: '' Dispute: type: object description: A dispute object properties: '0': type: object properties: DisputeID: type: string description: The ID associated with the dispute example: '1' DisputeCreatedOn: type: string description: The date and time the dispute was created example: '2019-01-01T00:00:00' DisputeStatus: type: string description: The status of the dispute example: UnderReview DisputeStage: type: string description: The stage of the dispute example: First Chargeback DisputeAmount: type: number description: The amount of the dispute example: '1.00' DisputeCurrency: type: string description: The currency of the dispute example: USD DisputeReason: type: string description: The reason for the dispute example: Damaged goods DisputeReasonCode: type: string description: The reason code for the dispute example: '1' DisputeResult: type: string description: The result of the dispute example: Won DisputeReplyByDate: type: string description: The date and time the dispute is due for a response example: '2019-01-01T00:00:00' DaysLeftToRespond: type: number description: The number of days left to respond to the dispute example: '1' DisputeCardDetails: type: object properties: DisputeCardBrand: type: string description: The brand of the card used for the dispute example: Visa DisputeCardLast4: type: string description: The last 4 digits of the card used for the dispute example: '1234' AccountHolderName: type: string description: The name of the account holder example: John Doe TransactionDetails: type: object properties: TransactionID: type: string description: The ID associated with the transaction example: '123456789' TransactionAmount: type: number description: The amount of the transaction example: '1.00' TransactionCurrency: type: string description: The currency of the transaction example: USD TransactionDate: type: string description: The date and time of the transaction example: '2019-01-01T00:00:00' DisputeARN: type: string description: The ARN associated with the dispute example: '123456789' LastUpdatedDate: type: string description: The date and time the dispute was last updated example: '2019-01-01T00:00:00' Notes: type: object description: An array of notes associated with the dispute properties: '0': type: object properties: Note: type: string description: The note example: This is a note NoteDate: type: string description: The date and time the note was created example: '2019-01-01T00:00:00' Documents: type: object description: An array of documents associated with the dispute properties: '0': type: object properties: DocumentID: type: string description: The ID associated with the document example: '123456789' DocumentType: type: string description: The type of the document example: Receipt /dispute-management/document: get: description: This endpoint allows you to fetch the document for a dispute. summary: dispute-management/document tags: - Dispute Management Endpoints operationId: DisputeManagementDocumentGET deprecated: false parameters: - name: AccountID in: query required: true description: Your account ID schema: type: string - name: Key in: query required: true description: API key for the account schema: type: string - name: Signature in: query required: true description: Hashed signature for the request schema: type: string - name: DisputeID in: query required: true description: The ID associated with the dispute schema: type: string - name: DocumentID in: query required: true description: The ID associated with the document schema: type: string responses: '200': description: '' content: application/json: schema: type: object properties: Success: type: boolean description: True if the request was successful, false if it failed example: 'true' ErrorMessage: type: string description: Contains a description of the error if the request failed example: '' Document: type: object description: An array of documents associated with the dispute properties: '0': type: object properties: DocumentID: type: string description: The ID associated with the document example: '123456789' Document: type: string description: Base 64 encoded document example: eyExadf123== /dispute-management/accept: post: description: This endpoint allows you to accept a dispute. summary: dispute-management/accept tags: - Dispute Management Endpoints operationId: DisputeManagementAcceptPOST deprecated: false requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: AccountID: description: Your account ID type: string Key: description: API key for the account type: string Signature: description: Hashed signature for the request type: string DisputeID: description: The ID associated with the dispute type: string required: - AccountID - Key - Signature - DisputeID required: true responses: '200': description: '' content: application/json: schema: type: object properties: Success: type: boolean description: True if the request was successful, false if it failed example: 'true' ErrorMessage: type: string description: Contains a description of the error if the request failed example: '' Dispute: type: object description: A dispute object properties: '0': type: object properties: DisputeID: type: string description: The ID associated with the dispute example: '1' DisputeCreatedOn: type: string description: The date and time the dispute was created example: '2019-01-01T00:00:00' DisputeStatus: type: string description: The status of the dispute example: UnderReview DisputeStage: type: string description: The stage of the dispute example: First Chargeback DisputeAmount: type: number description: The amount of the dispute example: '1.00' DisputeCurrency: type: string description: The currency of the dispute example: USD DisputeReason: type: string description: The reason for the dispute example: Damaged goods DisputeReasonCode: type: string description: The reason code for the dispute example: '1' DisputeResult: type: string description: The result of the dispute example: Lost DisputeReplyByDate: type: string description: The date and time the dispute is due for a response example: '2019-01-01T00:00:00' DaysLeftToRespond: type: number description: The number of days left to respond to the dispute example: '1' DisputeCardDetails: type: object properties: DisputeCardBrand: type: string description: The brand of the card used for the dispute example: Visa DisputeCardLast4: type: string description: The last 4 digits of the card used for the dispute example: '1234' AccountHolderName: type: string description: The name of the account holder example: John Doe TransactionDetails: type: object properties: TransactionID: type: string description: The ID associated with the transaction example: '123456789' TransactionAmount: type: number description: The amount of the transaction example: '1.00' TransactionCurrency: type: string description: The currency of the transaction example: USD TransactionDate: type: string description: The date and time of the transaction example: '2019-01-01T00:00:00' DisputeARN: type: string description: The ARN associated with the dispute example: '123456789' LastUpdatedDate: type: string description: The date and time the dispute was last updated example: '2019-01-01T00:00:00' Notes: type: object description: An array of notes associated with the dispute properties: '0': type: object properties: Note: type: string description: The note example: This is a note NoteDate: type: string description: The date and time the note was created example: '2019-01-01T00:00:00' Documents: type: object description: An array of documents associated with the dispute properties: '0': type: object properties: DocumentID: type: string description: The ID associated with the document example: '123456789' DocumentType: type: string description: The type of the document example: Receipt /dispute-management/challenge: post: description: This endpoint allows you to challenge a dispute. summary: dispute-management/challenge tags: - Dispute Management Endpoints operationId: DisputeManagementChallengePOST deprecated: false requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: Token: description: The token associated with the dispute type: string AccountID: description: Your account ID type: string Key: description: API key for the account type: string Signature: description: Hashed signature for the request type: string DisputeID: description: The ID associated with the dispute type: string Document: description: Base 64 encoded document associated with the dispute type: string required: - Token - AccountID - Key - Signature - DisputeID - Document required: true responses: '200': description: '' content: application/json: schema: type: object properties: Success: type: boolean description: True if the request was successful, false if it failed example: 'true' ErrorMessage: type: string description: Contains a description of the error if the request failed example: '' Dispute: type: object description: A dispute object properties: '0': type: object properties: DisputeID: type: string description: The ID associated with the dispute example: '1' DisputeCreatedOn: type: string description: The date and time the dispute was created example: '2019-01-01T00:00:00' DisputeStatus: type: string description: The status of the dispute example: UnderReview DisputeStage: type: string description: The stage of the dispute example: First Chargeback DisputeAmount: type: number description: The amount of the dispute example: '1.00' DisputeCurrency: type: string description: The currency of the dispute example: USD DisputeReason: type: string description: The reason for the dispute example: Damaged goods DisputeReasonCode: type: string description: The reason code for the dispute example: '1' DisputeResult: type: string description: The result of the dispute example: Pending DisputeReplyByDate: type: string description: The date and time the dispute is due for a response example: '2019-01-01T00:00:00' DaysLeftToRespond: type: number description: The number of days left to respond to the dispute example: '1' DisputeCardDetails: type: object properties: DisputeCardBrand: type: string description: The brand of the card used for the dispute example: Visa DisputeCardLast4: type: string description: The last 4 digits of the card used for the dispute example: '1234' AccountHolderName: type: string description: The name of the account holder example: John Doe TransactionDetails: type: object properties: TransactionID: type: string description: The ID associated with the transaction example: '123456789' TransactionAmount: type: number description: The amount of the transaction example: '1.00' TransactionCurrency: type: string description: The currency of the transaction example: USD TransactionDate: type: string description: The date and time of the transaction example: '2019-01-01T00:00:00' DisputeARN: type: string description: The ARN associated with the dispute example: '123456789' LastUpdatedDate: type: string description: The date and time the dispute was last updated example: '2019-01-01T00:00:00' Notes: type: object description: An array of notes associated with the dispute properties: '0': type: object properties: Note: type: string description: The note example: This is a note NoteDate: type: string description: The date and time the note was created example: '2019-01-01T00:00:00' Documents: type: object description: An array of documents associated with the dispute properties: '0': type: object properties: DocumentID: type: string description: The ID associated with the document example: '123456789' DocumentType: type: string description: The type of the document example: Receipt /dispute-management/respond: post: description: This endpoint allows you to respond to a retrieval request. summary: dispute-management/respond tags: - Dispute Management Endpoints operationId: DisputeManagementRespondPOST deprecated: false requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: Token: description: The token associated with the dispute type: string AccountID: description: Your account ID type: string Key: description: API key for the account type: string Signature: description: Hashed signature for the request type: string DisputeID: description: The ID associated with the dispute type: string Document: description: Base 64 encoded document associated with the retrieval request type: string required: - Token - AccountID - Key - Signature - DisputeID - Document required: true responses: '200': description: '' content: application/json: schema: type: object properties: Success: type: boolean description: True if the request was successful, false if it failed example: 'true' ErrorMessage: type: string description: Contains a description of the error if the request failed example: '' Dispute: type: object description: A dispute object properties: '0': type: object properties: DisputeID: type: string description: The ID associated with the dispute example: '1' DisputeCreatedOn: type: string description: The date and time the dispute was created example: '2019-01-01T00:00:00' DisputeStatus: type: string description: The status of the dispute example: UnderReview DisputeStage: type: string description: The stage of the dispute example: First Chargeback DisputeAmount: type: number description: The amount of the dispute example: '1.00' DisputeCurrency: type: string description: The currency of the dispute example: USD DisputeReason: type: string description: The reason for the dispute example: Damaged goods DisputeReasonCode: type: string description: The reason code for the dispute example: '1' DisputeResult: type: string description: The result of the dispute example: Pending DisputeReplyByDate: type: string description: The date and time the dispute is due for a response example: '2019-01-01T00:00:00' DaysLeftToRespond: type: number description: The number of days left to respond to the dispute example: '1' DisputeCardDetails: type: object properties: DisputeCardBrand: type: string description: The brand of the card used for the dispute example: Visa DisputeCardLast4: type: string description: The last 4 digits of the card used for the dispute example: '1234' AccountHolderName: type: string description: The name of the account holder example: John Doe TransactionDetails: type: object properties: TransactionID: type: string description: The ID associated with the transaction example: '123456789' TransactionAmount: type: number description: The amount of the transaction example: '1.00' TransactionCurrency: type: string description: The currency of the transaction example: USD TransactionDate: type: string description: The date and time of the transaction example: '2019-01-01T00:00:00' DisputeARN: type: string description: The ARN associated with the dispute example: '123456789' LastUpdatedDate: type: string description: The date and time the dispute was last updated example: '2019-01-01T00:00:00' Notes: type: object description: An array of notes associated with the dispute properties: '0': type: object properties: Note: type: string description: The note example: This is a note NoteDate: type: string description: The date and time the note was created example: '2019-01-01T00:00:00' Documents: type: object description: An array of documents associated with the dispute properties: '0': type: object properties: DocumentID: type: string description: The ID associated with the document example: '123456789' DocumentType: type: string description: The type of the document example: Receipt /dispute-management/add-note: post: description: This endpoint allows you to add a note to a dispute. summary: dispute-management/add-note tags: - Dispute Management Endpoints operationId: DisputeManagementAddNotePOST deprecated: false requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: AccountID: description: Your account ID type: string Key: description: API key for the account type: string Signature: description: Hashed signature for the request type: string DisputeID: description: The ID associated with the dispute type: string Note: description: The note to add to the dispute type: string required: - AccountID - Key - Signature - DisputeID - Note required: true responses: '200': description: '' content: application/json: schema: type: object properties: Success: type: boolean description: True if the request was successful, false if it failed example: 'true' ErrorMessage: type: string description: Contains a description of the error if the request failed example: '' Dispute: type: object description: A dispute object properties: '0': type: object properties: DisputeID: type: string description: The ID associated with the dispute example: '1' DisputeCreatedOn: type: string description: The date and time the dispute was created example: '2019-01-01T00:00:00' DisputeStatus: type: string description: The status of the dispute example: UnderReview DisputeStage: type: string description: The stage of the dispute example: First Chargeback DisputeAmount: type: number description: The amount of the dispute example: '1.00' DisputeCurrency: type: string description: The currency of the dispute example: USD DisputeReason: type: string description: The reason for the dispute example: Damaged goods DisputeReasonCode: type: string description: The reason code for the dispute example: '1' DisputeResult: type: string description: The result of the dispute example: Pending DisputeReplyByDate: type: string description: The date and time the dispute is due for a response example: '2019-01-01T00:00:00' DaysLeftToRespond: type: number description: The number of days left to respond to the dispute example: '1' DisputeCardDetails: type: object properties: DisputeCardBrand: type: string description: The brand of the card used for the dispute example: Visa DisputeCardLast4: type: string description: The last 4 digits of the card used for the dispute example: '1234' AccountHolderName: type: string description: The name of the account holder example: John Doe TransactionDetails: type: object properties: TransactionID: type: string description: The ID associated with the transaction example: '123456789' TransactionAmount: type: number description: The amount of the transaction example: '1.00' TransactionCurrency: type: string description: The currency of the transaction example: USD TransactionDate: type: string description: The date and time of the transaction example: '2019-01-01T00:00:00' DisputeARN: type: string description: The ARN associated with the dispute example: '123456789' LastUpdatedDate: type: string description: The date and time the dispute was last updated example: '2019-01-01T00:00:00' Notes: type: object description: An array of notes associated with the dispute properties: '0': type: object properties: Note: type: string description: The note example: This is a note NoteDate: type: string description: The date and time the note was created example: '2019-01-01T00:00:00' Documents: type: object description: An array of documents associated with the dispute properties: '0': type: object properties: DocumentID: type: string description: The ID associated with the document example: '123456789' DocumentType: type: string description: The type of the document example: Receipt /dispute-management/report/dispute-overview: get: description: This endpoint returns a summary overview of all disputes and chargebacks. summary: dispute-management/report/dispute-overview tags: - Dispute Management Endpoints operationId: DisputeManagementReportDisputeOverviewGET deprecated: false parameters: - name: AccountID in: query required: true description: Your account ID schema: type: string - name: Key in: query required: true description: API key for the account schema: type: string - name: Signature in: query required: true description: API signature for the account schema: type: string responses: '200': description: '' content: application/json: schema: type: object properties: Success: type: boolean description: True if the request was successful, false if it failed example: 'true' ErrorMessage: type: string description: Contains a description of the error if the request failed example: '' DisputeOverview: type: object description: A dispute overview object properties: NeedsResponse: type: number description: The number of disputes requiring a response from the merchant example: '1' UnderReview: type: number description: The number of disputes requiring a response from the customer example: '2' Won: type: number description: The number of won disputes example: '3' Lost: type: number description: The number of lost disputes example: '4' /dispute-management/report/dispute-reasons: get: description: This endpoint returns a summary of all current dispute reasons. summary: dispute-management/report/dispute-reasons tags: - Dispute Management Endpoints operationId: DisputeManagementReportDisputeReasonsGET deprecated: false parameters: - name: AccountID in: query required: true description: Your account ID schema: type: string - name: Key in: query required: true description: API key for the account schema: type: string - name: Signature in: query required: true description: API signature for the account schema: type: string responses: '200': description: '' content: application/json: schema: type: object properties: Success: type: boolean description: True if the request was successful, false if it failed example: 'true' ErrorMessage: type: string description: Contains a description of the error if the request failed example: '' DisputeReasons: type: object description: A dispute reasons object properties: {} /dispute-management/report/dispute-stages: get: description: This endpoint returns a summary of all current dispute stages. summary: dispute-management/report/dispute-stages tags: - Dispute Management Endpoints operationId: DisputeManagementReportDisputeStagesGET deprecated: false parameters: - name: AccountID in: query required: true description: Your account ID schema: type: string - name: Key in: query required: true description: API key for the account schema: type: string - name: Signature in: query required: true description: API signature for the account schema: type: string responses: '200': description: '' content: application/json: schema: type: object properties: Success: type: boolean description: True if the request was successful, false if it failed example: 'true' ErrorMessage: type: string description: Contains a description of the error if the request failed example: '' DisputeStages: type: array description: An array of dispute stage objects items: type: object properties: StageID: type: string description: The unique identifier for the dispute stage example: CHARGEBACK StageName: type: string description: The human-readable name of the dispute stage example: Chargeback