PayPal Disputes API

Use the `/disputes` resource to list disputes, create disputes, show dispute details, and partially a dispute. Normally, an agent at PayPal creates disputes but now you can run test cases in the sandbox that create disputes.

Operations 3

GET /v1/customer/disputes Paypal List disputes #
GET /v1/customer/disputes/{id} Paypal Show dispute details #
PATCH /v1/customer/disputes/{id} Paypal Partially update dispute #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/paypal-disputes-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

paypal-disputes-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Paypal Subscriptions Authorizations Disputes API
  description: You can use billing plans and subscriptions to create subscriptions that process recurring PayPal payments for physical or digital goods, or services. A plan includes pricing and billing cycle information that defines the amount and frequency of charge for a subscription. You can also define a fixed plan, such as a $5 basic plan or a volume- or graduated-based plan with pricing tiers based on the quantity purchased. For more information, see <a href="/docs/subscriptions/">Subscriptions Overview</a>.
  version: '1.6'
  contact: {}
servers:
- url: https://api-m.sandbox.paypal.com
  description: PayPal Sandbox Environment
- url: https://api-m.paypal.com
  description: PayPal Live Environment
tags:
- name: Disputes
  description: Use the `/disputes` resource to list disputes, create disputes, show dispute details, and partially a dispute. Normally, an agent at PayPal creates disputes but now you can run test cases in the sandbox that create disputes.
paths:
  /v1/customer/disputes:
    get:
      summary: Paypal List disputes
      description: Lists disputes with a summary set of details, which shows the <code>dispute_id</code>, <code>reason</code>, <code>status</code>, <code>dispute_state</code>, <code>dispute_life_cycle_stage</code>, <code>dispute_channel</code>, <code>dispute_amount</code>, <code>create_time</code> and <code>update_time</code> fields.<br/><br/>To filter the disputes in the response, specify one or more optional query parameters. To limit the number of disputes in the response, specify the <code>page_size</code> query parameter.<br/><br/>To list multiple disputes, set these query parameters in the request:<ul><li><code>page_size=2</code></li><li><code>start_time</code> instead of <code>disputed_transaction_id</code></li></ul><br/>If the response contains more than two disputes, it lists two disputes and includes a HATEOAS link to the next page of results.
      operationId: disputes.list
      responses:
        '200':
          description: A successful request returns the HTTP <code>200 OK</code> status code and a JSON response body that lists disputes with a full or summary set of details. Default is a summary set of details, which shows the <code>dispute_id</code>, <code>reason</code>, <code>status</code>, <code>dispute_amount</code>, <code>create_time</code>, and <code>update_time</code> fields for each dispute.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/dispute_search'
        '400':
          description: The request failed due to a validation error. The request returns the HTTP `400 Bad Request` status code.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        default:
          description: The error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      parameters:
      - $ref: '#/components/parameters/start_time'
      - $ref: '#/components/parameters/disputed_transaction_id'
      - $ref: '#/components/parameters/page_size'
      - $ref: '#/components/parameters/next_page_token'
      - $ref: '#/components/parameters/dispute_state'
      - $ref: '#/components/parameters/update_time_before'
      - $ref: '#/components/parameters/update_time_after'
      security:
      - Oauth2:
        - https://uri.paypal.com/services/disputes/read-buyer
      - Oauth2:
        - https://uri.paypal.com/services/disputes/read-seller
      - Oauth2:
        - https://uri.paypal.com/services/disputes/read-ebay
      - Oauth2:
        - https://uri.paypal.com/services/disputes/read
      - Oauth2:
        - https://uri.paypal.com/services/disputes/read-partner
      tags:
      - Disputes
  /v1/customer/disputes/{id}:
    get:
      summary: Paypal Show dispute details
      description: Shows details for a dispute, by ID.<blockquote><strong>Note:</strong> The fields that appear in the response depend on the access. For example, if the merchant requests shows dispute details, the customer's email ID does not appear.</blockquote>
      operationId: disputes.get
      responses:
        '200':
          description: A successful request returns the HTTP `200 OK` status code and a JSON response body that shows dispute details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/dispute'
        '500':
          description: An internal server error occurred. The request returns the HTTP `500 Internal Server Error` status code.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        default:
          description: The error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      parameters:
      - $ref: '#/components/parameters/id'
      security:
      - Oauth2:
        - https://uri.paypal.com/services/disputes/read-buyer
      - Oauth2:
        - https://uri.paypal.com/services/disputes/read-seller
      - Oauth2:
        - https://uri.paypal.com/services/disputes/read-ebay
      - Oauth2:
        - https://uri.paypal.com/services/disputes/read
      - Oauth2:
        - https://uri.paypal.com/services/disputes/read-partner
      tags:
      - Disputes
    patch:
      summary: Paypal Partially update dispute
      description: Partially updates a dispute, by ID. Seller can update the `communication_detail` value or The partner can add the `partner action` information.
      operationId: disputes.patch
      responses:
        '202':
          description: A successfully accepted request returns the HTTP `202 Accepted` status code and a JSON response body that includes a [HATEOAS link](/docs/api/reference/api-responses/#hateoas-links) to the ID of the request. The Clients can choose webhook option as well to receive dispute update notification.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/subsequent_action'
        '204':
          description: A successful request returns the HTTP `204 No Content` status code with no JSON response body.
        '400':
          description: The request failed due to a validation error. The request returns the HTTP `400 Bad Request` status code.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        '422':
          description: The requested action could not be completed. The request returns the HTTP `422 Unprocessable Entity` status code.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        '500':
          description: An internal server error occurred. The request returns the HTTP `500 Internal Server Error` status code.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        default:
          description: The error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      parameters:
      - $ref: '#/components/parameters/id'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/patch_request'
          multipart/related:
            schema:
              $ref: '#/components/schemas/patch_request'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/patch_request'
          multipart/mixed:
            schema:
              $ref: '#/components/schemas/patch_request'
      security:
      - Oauth2:
        - https://uri.paypal.com/services/disputes/update-seller
      tags:
      - Disputes
components:
  schemas:
    link_description:
      type: object
      title: Link Description
      description: The request-related [HATEOAS link](/docs/api/reference/api-responses/#hateoas-links) information.
      required:
      - href
      - rel
      properties:
        href:
          type: string
          description: The complete target URL. To make the related call, combine the method with this [URI Template-formatted](https://tools.ietf.org/html/rfc6570) link. For pre-processing, include the `$`, `(`, and `)` characters. The `href` is the key HATEOAS component that links a completed call with a subsequent call.
        rel:
          type: string
          description: The [link relation type](https://tools.ietf.org/html/rfc5988#section-4), which serves as an ID for a link that unambiguously describes the semantics of the link. See [Link Relations](https://www.iana.org/assignments/link-relations/link-relations.xhtml).
        method:
          type: string
          description: The HTTP method required to make the related call.
          enum:
          - GET
          - POST
          - PUT
          - DELETE
          - HEAD
          - CONNECT
          - OPTIONS
          - PATCH
    currency_code:
      description: The [three-character ISO-4217 currency code](/docs/api/reference/currency-codes/) that identifies the currency.
      type: string
      format: ppaas_common_currency_code_v2
      minLength: 3
      maxLength: 3
    dispute:
      type: object
      title: Dispute Details
      description: The dispute details.
      properties:
        dispute_id:
          type: string
          minLength: 1
          maxLength: 255
          pattern: ^[A-Za-z0-9-]+$
          readOnly: true
          description: The ID of the dispute.
        create_time:
          readOnly: true
          $ref: '#/components/schemas/date_time'
          description: The date and time when the dispute was created, in [Internet date and time format](https://tools.ietf.org/html/rfc3339#section-5.6). For example, *`yyyy`*-*`MM`*-*`dd`*`T`*`HH`*:*`mm`*:*`ss`*.*`SSS`*`Z`.
        update_time:
          readOnly: true
          $ref: '#/components/schemas/date_time'
          description: The date and time when the dispute was last updated, in [Internet date and time format](https://tools.ietf.org/html/rfc3339#section-5.6). For example, *`yyyy`*-*`MM`*-*`dd`*`T`*`HH`*:*`mm`*:*`ss`*.*`SSS`*`Z`.
        disputed_transactions:
          type: array
          minItems: 1
          maxItems: 1000
          description: An array of transactions for which disputes were created.
          items:
            $ref: '#/components/schemas/transaction_info'
        reason:
          $ref: '#/components/schemas/dispute_reason'
        status:
          readOnly: true
          $ref: '#/components/schemas/status'
        dispute_amount:
          $ref: '#/components/schemas/money'
          description: The amount in the transaction that the customer originally disputed. Because customers can sometimes dispute only part of the payment, the disputed amount might be different from the total gross or net amount of the original transaction.
        dispute_asset:
          description: The asset in the transaction that the customer disputed.
          $ref: '#/components/schemas/cryptocurrency'
        fee_policy:
          readOnly: true
          description: Policy that determines whether the fee needs to be charged, retained or returned while moving the money as part of dispute process.
          $ref: '#/components/schemas/fee_policy'
        external_reason_code:
          type: string
          minLength: 1
          maxLength: 2000
          description: The code that identifies the reason for the credit card chargeback. Each card issuer follows their own standards for defining reason type, code, and its format. For more details about the external reason code, see the card issue site. Available for only unbranded transactions.
        dispute_outcome:
          readOnly: true
          $ref: '#/components/schemas/dispute_outcome'
        adjudications:
          type: array
          minItems: 1
          maxItems: 10
          description: The Teammate Adjudication details for the dispute.
          items:
            $ref: '#/components/schemas/adjudication'
        money_movements:
          type: array
          minItems: 1
          maxItems: 50
          description: The Money movement details for the dispute.
          items:
            $ref: '#/components/schemas/money_movement'
        dispute_life_cycle_stage:
          readOnly: true
          $ref: '#/components/schemas/dispute_lifecycle_stage'
        dispute_channel:
          $ref: '#/components/schemas/dispute_channel'
        messages:
          type: array
          minItems: 1
          maxItems: 1000
          description: An array of customer- or merchant-posted messages for the dispute.
          items:
            $ref: '#/components/schemas/message'
        extensions:
          $ref: '#/components/schemas/extensions'
        evidences:
          type: array
          minItems: 1
          maxItems: 100
          description: An array of evidence documents.
          items:
            $ref: '#/components/schemas/evidence'
        buyer_response_due_date:
          readOnly: true
          $ref: '#/components/schemas/date_time'
          description: The date and time by when the customer must respond to the dispute, in [Internet date and time format](https://tools.ietf.org/html/rfc3339#section-5.6). If the customer does not respond by this date and time, the dispute is closed in the merchant's favor. For example, *`yyyy`*-*`MM`*-*`dd`*`T`*`HH`*:*`mm`*:*`ss`*.*`SSS`*`Z`.
        seller_response_due_date:
          readOnly: true
          $ref: '#/components/schemas/date_time'
          description: The date and time by when the merchant must respond to the dispute, in [Internet date and time format](https://tools.ietf.org/html/rfc3339#section-5.6). If the merchant does not respond by this date and time, the dispute is closed in the customer's favor. For example, *`yyyy`*-*`MM`*-*`dd`*`T`*`HH`*:*`mm`*:*`ss`*.*`SSS`*`Z`.
        offer:
          readOnly: true
          $ref: '#/components/schemas/offer'
        refund_details:
          readOnly: true
          $ref: '#/components/schemas/refund_details'
        communication_details:
          $ref: '#/components/schemas/communication_details'
        supporting_info:
          type: array
          readOnly: true
          minItems: 1
          maxItems: 100
          description: An array of all the supporting information that are associated to this dispute.
          items:
            $ref: '#/components/schemas/supporting_info'
        allowed_response_options:
          readOnly: true
          $ref: '#/components/schemas/allowed_response_options'
        links:
          type: array
          minItems: 1
          maxItems: 10
          description: An array of request-related [HATEOAS links](/docs/api/reference/api-responses/#hateoas-links/).
          readOnly: true
          items:
            $ref: '#/components/schemas/link_description'
            readOnly: true
    dispute_reason:
      type: string
      minLength: 1
      maxLength: 255
      pattern: ^[0-9A-Z_]+$
      title: Dispute Reason
      description: The reason for the item-level dispute. For information about the required information for each dispute reason and associated evidence type, see <a href="/docs/integration/direct/customer-disputes/integration-guide/#dispute-reasons">dispute reasons</a>.
      enum:
      - MERCHANDISE_OR_SERVICE_NOT_RECEIVED
      - MERCHANDISE_OR_SERVICE_NOT_AS_DESCRIBED
      - UNAUTHORISED
      - CREDIT_NOT_PROCESSED
      - DUPLICATE_TRANSACTION
      - INCORRECT_AMOUNT
      - PAYMENT_BY_OTHER_MEANS
      - CANCELED_RECURRING_BILLING
      - PROBLEM_WITH_REMITTANCE
      - OTHER
    dispute_channel:
      readOnly: true
      type: string
      minLength: 1
      maxLength: 255
      description: The channel where the customer created the dispute.
      enum:
      - INTERNAL
      - EXTERNAL
      - ALERT
    offer_type:
      type: string
      minLength: 1
      maxLength: 255
      pattern: ^[0-9A-Z_]+$
      title: Offer Type
      description: The merchant-proposed offer type for the dispute.
      enum:
      - REFUND
      - REFUND_WITH_RETURN
      - REFUND_WITH_REPLACEMENT
      - REPLACEMENT_WITHOUT_REFUND
    buyer:
      type: object
      title: Customer
      description: The details for the customer who funds the payment. For example, the customer's first name, last name, and email address.
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 2000
          pattern: ^[^~!@#$%^*()_{}:|\t\n/]+$
          description: The customer's name.
    item_booking_details: {}
    item_cancellation_details: {}
    accept_claim_response_options:
      type: object
      title: Accept Claim Response Options
      description: The allowed response options when the merchant is accepting the claim.
      properties:
        accept_claim_types:
          type: array
          description: The types of refund the merchant can provide the customer.
          minItems: 1
          maxItems: 10
          items:
            $ref: '#/components/schemas/accept_claim_type'
    evidence_info:
      type: object
      title: Evidence Information
      description: The evidence-related information.
      properties:
        tracking_info:
          type: array
          minItems: 1
          maxItems: 10
          description: An array of relevant tracking information for the transaction involved in this dispute.
          items:
            $ref: '#/components/schemas/tracking_info'
        refund_ids:
          type: array
          minItems: 1
          maxItems: 100
          description: An array of refund IDs for the transaction involved in this dispute.
          items:
            type: string
            minLength: 1
            maxLength: 255
            description: The ID of the refunded transaction.
    merchant_contacted_outcome:
      type: string
      minLength: 1
      maxLength: 255
      pattern: ^[0-9A-Z_]+$
      title: Merchant Contacted Outcome
      description: The outcome when the customer has contacted the merchant.
      enum:
      - NO_RESPONSE
      - FIXED
      - NOT_FIXED
    cryptocurrency_symbol:
      description: The Cryptocurrency ticker symbol / code as assigned by liquidity providers (exchanges).
      type: string
      minLength: 1
      maxLength: 10
      pattern: ^[0-9A-Za-z]{1,10}$
      enum:
      - BTC
      - ETH
      - BCH
      - LTC
    service_details:
      type: object
      title: Service Details
      description: The service details.
      properties:
        description:
          description: The service description.
          type: string
          minLength: 1
          maxLength: 2000
        service_started:
          description: Indicates whether the service was started or cancelled.
          type: string
          minLength: 1
          maxLength: 255
          pattern: ^[0-9A-Z_]+$
          enum:
          - 'YES'
          - 'NO'
          - CANCELLED
        note:
          description: The customer specified note about the service usage.
          type: string
          minLength: 1
          maxLength: 2000
        sub_reasons:
          description: An array of sub-reasons for the service issue.
          type: array
          items:
            description: The sub-reason for the service issue.
            type: string
            minLength: 1
            maxLength: 255
            pattern: ^[0-9A-Z_]+$
            enum:
            - DAMAGED
            - DIFFERENT
            - INCOMPLETE
            - OTHER
        purchase_url:
          type: string
          format: uri
          description: The URL of the merchant or marketplace site where the customer purchased the service.
    extensions:
      type: object
      title: Extensions
      description: The extended properties for the dispute. Includes additional information for a dispute category, such as billing disputes, the original transaction ID, and the correct amount.
      properties:
        merchant_contacted:
          type: boolean
          description: Indicates that the merchant was contacted.
        merchant_contacted_outcome:
          $ref: '#/components/schemas/merchant_contacted_outcome'
        merchant_contacted_time:
          description: The date and time when merchant was contacted.
          $ref: '#/components/schemas/date_time'
        merchant_contacted_mode:
          description: The method used to contact the merchant.
          $ref: '#/components/schemas/merchant_contacted_mode'
        buyer_contacted_time:
          description: The date and time when the buyer contacted the partner to file a dispute, in [Internet date and time format](https://tools.ietf.org/html/rfc3339#section-5.6). For example, *`yyyy`*-*`MM`*-*`dd`*`T`*`HH`*:*`mm`*:*`ss`*.*`SSS`*`Z`.
          $ref: '#/components/schemas/date_time'
        buyer_contacted_channel:
          type: string
          minLength: 1
          maxLength: 255
          description: The channel through which the buyer contacted the partner to file a dispute. Partners that allow buyers to create dispute from multiple channels can use this field to help identify which channel was used for each individual dispute.
        billing_dispute_properties:
          $ref: '#/components/schemas/billing_disputes_properties'
        merchandize_dispute_properties:
          $ref: '#/components/schemas/merchandize_dispute_properties'
    error:
      type: object
      title: Error
      description: The error details.
      properties:
        name:
          type: string
          description: The human-readable, unique name of the error.
        message:
          type: string
          description: The message that describes the error.
        debug_id:
          type: string
          description: The PayPal internal ID. Used for correlation purposes.
        information_link:
          type: string
          description: The information link, or URI, that shows detailed information about this error for the developer.
          readOnly: true
        details:
          type: array
          description: An array of additional details about the error.
          items:
            $ref: '#/components/schemas/error_details-2'
        links:
          type: array
          description: An array of request-related [HATEOAS links](/docs/api/reference/api-responses/#hateoas-links).
          readOnly: true
          items:
            $ref: '#/components/schemas/link_description'
            readOnly: true
      required:
      - name
      - message
      - debug_id
    allowed_response_options:
      type: object
      title: Allowed Response Options
      description: The allowed response options for the buyer/seller update actions.
      properties:
        acknowledge_return_item:
          $ref: '#/components/schemas/acknowledge_return_item_response_options'
        accept_claim:
          $ref: '#/components/schemas/accept_claim_response_options'
        make_offer:
          $ref: '#/components/schemas/make_offer_response_options'
    payment_processor: {}
    make_offer_response_options:
      type: object
      title: Make Offer Response Options
      description: The allowed response options when the merchant makes offer to the customer.
      properties:
        offer_types:
          type: array
          description: The types of offer the merchant can offer the customer.
          minItems: 1
          maxItems: 10
          items:
            $ref: '#/components/schemas/offer_type'
    acknowledge_return_item_response_options:
      type: object
      title: Acknowledge Return Item Response Options
      description: The allowed response options when the seller acknowledges that the buyer has returned an item for the dispute.
      properties:
        acknowledgement_types:
          type: array
          description: The types of response when the merchant acknowledges a returned item.
          minItems: 1
          maxItems: 10
          items:
            $ref: '#/components/schemas/acknowledgement_type'
    credit_not_processed:
      type: object
      title: Credit Not Processed
      description: The credit not processed details.
      properties:
        issue_type:
          type: string
          minLength: 1
          maxLength: 255
          pattern: ^[0-9A-Z_]+$
          description: The issue type.
          enum:
          - PRODUCT
          - SERVICE
        expected_refund:
          $ref: '#/components/schemas/money'
        cancellation_details:
          $ref: '#/components/schemas/cancellation_details'
        product_details:
          $ref: '#/components/schemas/product_details'
        service_details:
          $ref: '#/components/schemas/service_details'
        agreed_refund_details:
          $ref: '#/components/schemas/agreed_refund_details'
    cancellation_details:
      type: object
      title: Cancellation Details
      description: The cancellation details.
      properties:
        cancellation_date:
          description: The date and time of the cancellation, in [Internet date and time format](http://tools.ietf.org/html/rfc3339#section-5.6).
          $ref: '#/components/schemas/date_time'
        cancellation_number:
          description: The cancellation number.
          type: string
          minLength: 1
          maxLength: 127
          pattern: ^[A-Za-z0-9]+$
        cancelled:
          type: boolean
          description: Indicates whether the dispute was canceled.
        cancellation_mode:
          description: Indicates the mode used for order cancellation.
          type: string
          minLength: 1
          maxLength: 255
          pattern: ^[0-9A-Z_]+$
          enum:
          - CANCELLED_PAYPAL_BILLING_AGREEMENT
          - WEBSITE
          - PHONE
          - EMAIL
          - WRITTEN
          - IN_PERSON
    message:
      type: object
      title: Message
      description: A customer- or merchant-posted message for the dispute.
      properties:
        posted_by:
          type: string
          minLength: 1
          maxLength: 255
          pattern: ^[0-9A-Z_]+$
          description: Indicates whether the customer, merchant, or dispute arbiter posted the message.
          readOnly: true
          enum:
          - BUYER
          - SELLER
          - ARBITER
        time_posted:
          readOnly: true
          $ref: '#/components/schemas/date_time'
          description: The date and time when the message was posted, in [Internet date and time format](https://tools.ietf.org/html/rfc3339#section-5.6).
        content:
          type: string
          description: The message text.
          maxLength: 2000
          minLength: 0
        documents:
          type: array
          readOnly: true
          description: An array of metadata for the documents which contains any additional info about the message posted.
          items:
            $ref: '#/components/schemas/document'
          minItems: 1
          maxItems: 10
    refund_details:
      type: object
      title: Refund Details
      description: The refund details.
      properties:
        allowed_refund_amount:
          $ref: '#/components/schemas/money'
          description: The maximum refundable amount.
    item_digital_download_details: {}
    duplicate_transaction:
      type: object
      title: Duplicate Transaction
      description: The duplicate transaction details.
      properties:
        received_duplicate:
          type: boolean
          description: If `true`, indicates that a duplicate transaction was received.
        original_transaction:
          $ref: '#/components/schemas/transaction_info'
          description: The transaction details for the original transaction, when the dispute reason is `DUPLICATE_TRANSACTION`. Currently, contains only the date and amount.
    communication_details:
      type: object
      title: Contact Details
      description: The contact details that a merchant provides to the customer to use to share their evidence documents.
      properties:
        email:
          $ref: '#/components/schemas/email_address'
          description: The email address that is provided by the merchant where the customer can share the evidences.
        note:
          type: string
          minLength: 1
          maxLength: 2000
          description: The merchant provided notes that are visible to both the customer and PayPal.
        time_posted:
          $ref: '#/components/schemas/date_time'
          description: The date and time when the contact details were posted, in [Internet date and time format](https://tools.ietf.org/html/rfc3339#section-5.6).
          readOnly: true
    error_details-2:
      title: Error Details
      type: object
      description: The error details. Required for client-side `4XX` errors.
      properties:
        field:
          type: string
          description: The field that caused the error. If this field is in the body, set this value to the field's JSON pointer value. Required for client-side errors.
        value:
          type: string
          description: The value of the field that caused the error.
        location:
          type: string
          description: The location of the field that caused the error. Value is `body`, `path`, or `query`.
          default: body
        issue:
          type: string
          description: The unique, fine-grained application-level error code.
        description:
          type: string
          description: The human-readable description for an issue. The description can change over the lifetime of an API, so clients must not depend on this value.
      required:
      - issue
    action_info:
      type: object
      title: Evidence Extensions
      description: The extended properties for a evidence. Includes additional information such as the action for which the evidence was requested/submitted, and whether the evidence is mandatory.
      properties:
        action:
          type: string
          minLength: 1
          maxLength: 255
          pattern: ^[A-Z_]+$
          description: The action for which the evidence was requested or submitted.
          enum:
          - ACKNOWLEDGE_RETURN_ITEM
          - ACCEPT_CLAIM
          - PROVIDE_EVIDENCE
          - APPEAL
          - CANCEL
          - CHANGE_REASON
          - ESCALATE
        response_option:
          type: string
          minLength: 1
          maxLength: 255
          pattern: ^[A-Z_]+$
          description: The response option for the corresponding action. Possible values:<ul><li><a href="/docs/api/customer-disputes/v1/#definition-acknowledgement_type">Acknowledgement Types</a></li><li><a href="/docs/api/customer-disputes/v1/#definition-response-accept_claim_type">Accept Claim types</a></li></ul>.
        mandatory:
          type: boolean
          description: Indicates whether the evidence is mandatory for the corresponding action and response option.
    seller:
      type: object
      title: Merchant
      description: The details for the merchant who receives the funds and fulfills the order. For example, merchant ID, and contact email address.
      properties:
        email:
          $ref: '#/components/schemas/email_address'
          description: The email address for the merchant's PayPal account.
        merchant_id:
          type: string
          minLength: 1
          maxLength: 255
          description: The PayPal account ID for the merchant.
          pattern: ^[0-9A-Za-z]+$
        name:
          type: string
          minLength: 1
          maxLength: 2000
          pattern: ^[^~!@#$%^*()_{}:|\t\n/]+$
          description: The name of the merchant.
    item_product_details: {}
    merchandize_dispute_properties:
      type: object
      title: Merchandise Dispute Properties
      description: The customer-provided merchandise issue details for the dispute.
      properties:
        issue_type:
          type: string
          minLength: 1
          maxLength: 255
          pattern: ^[0-9A-Z_]+$
          description: The issue type.
          enum:
          - PRODUCT
          - SERVICE
        product_details:
          $ref: '#/components/schemas/product_details'
        service_details:
          $ref: '#/components/schemas/service_details'
        cancellation_details:
          $ref: '#/components/schemas/cancellation_details'
        return

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