PayPal Transaction Search (Reporting) API

The PayPal Transaction Search API provides access to historical transaction details, balances, and account activity for reporting, reconciliation, and accounting use cases.

OpenAPI Specification

paypal-reporting-transactions-openapi-original.yml Raw ↑
openapi: 3.0.3
info:
  title: Paypal Transaction Search
  description: Use the Transaction Search API to get the history of transactions for a PayPal account. To use the API on behalf of third parties, you must be part of the PayPal partner network. Reach out to your partner manager for the next steps. To enroll in the partner program, see <a href="https://www.paypal.com/my/webapps/mpp/partner-program/global-programs">Partner with PayPal</a>. For more information about the API, see the <a href="/docs/transaction-search/">Transaction Search API Integration Guide</a>.<blockquote><strong>Note:</strong> To use the API on behalf of third parties, you must be part of the PayPal partner network. Reach out to your partner manager for the next steps. To enroll in the partner program, see <a href="https://www.paypal.com/my/webapps/mpp/partner-program/global-programs">Partner with PayPal</a>.</blockquote>
  version: '1.9'
  contact: {}
paths:
  "/v1/reporting/transactions":
    get:
      summary: Paypal List transactions
      description: Lists transactions. Specify one or more query parameters to filter the transaction that appear in the response.<blockquote><strong>Notes:</strong> <ul><li>If you specify one or more optional query parameters, the <code>ending_balance</code> response field is empty.</li><li>It takes a maximum of three hours for executed transactions to appear in the list transactions call.</li><li>This call lists transaction for the previous three years.</li></ul></blockquote>
      operationId: search.get
      responses:
        '200':
          description: A successful request returns the HTTP `200 OK` status code and a JSON response body that lists transactions .
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/search_response"
        default:
          "$ref": "#/components/responses/default"
      parameters:
        - "$ref": "#/components/parameters/transaction_id"
        - "$ref": "#/components/parameters/transaction_type"
        - "$ref": "#/components/parameters/transaction_status"
        - "$ref": "#/components/parameters/transaction_amount"
        - "$ref": "#/components/parameters/transaction_currency"
        - "$ref": "#/components/parameters/start_date"
        - "$ref": "#/components/parameters/end_date"
        - "$ref": "#/components/parameters/payment_instrument_type"
        - "$ref": "#/components/parameters/store_id"
        - "$ref": "#/components/parameters/terminal_id"
        - "$ref": "#/components/parameters/fields"
        - "$ref": "#/components/parameters/balance_affecting_records_only"
        - "$ref": "#/components/parameters/page_size"
        - "$ref": "#/components/parameters/page"
      security:
        - Oauth2:
            - https://uri.paypal.com/services/reporting/search/read
      tags:
        - Transactions
  "/v1/reporting/balances":
    get:
      summary: Paypal List all balances
      description: List all balances. Specify date time to list balances for that time that appear in the response.<blockquote><strong>Notes:</strong> <ul><li>It takes a maximum of three hours for balances to appear in the list balances call.</li><li>This call lists balances upto the previous three years.</li></ul></blockquote>
      operationId: balances.get
      responses:
        '200':
          description: A successful request returns the HTTP `200 OK` status code and a JSON response body that lists balances .
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/balances_response"
        '400':
          description: The request is not well-formed, is syntactically incorrect, or violates schema.
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/error_400"
        '403':
          description: Authorization failed due to insufficient permissions.
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/error_403"
        '500':
          description: An internal server error occurred.
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/error_500"
        default:
          "$ref": "#/components/responses/default"
      parameters:
        - "$ref": "#/components/parameters/as_of_time"
        - "$ref": "#/components/parameters/currency_code"
      security:
        - Oauth2:
            - https://uri.paypal.com/services/reporting/balances/read
      tags:
        - Balances
tags:
  - name: Balances
    description: Use the `/balances` resource to list balances.
  - name: Transactions
    description: Use the `/transactions` resource to list transactions.
externalDocs:
  url: https://developer.paypal.com/docs/integration/direct/transaction-search/
servers:
  - url: https://api-m.paypal.com/v1/reporting
components:
  securitySchemes:
    Oauth2:
      type: oauth2
      description: Oauth 2.0 authentication
      flows:
        clientCredentials:
          tokenUrl: https://api-m.paypal.com/v1/oauth2/token
          scopes:
            https://uri.paypal.com/services/reporting/search/read: Transactions Search
            https://uri.paypal.com/services/reporting/balances/read: List Balances
  responses:
    default:
      description: The default response.
      content:
        application/json:
          schema:
            "$ref": "#/components/schemas/error_default"
  schemas:
    error_details:
      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:
          "$ref": "#/components/schemas/error_location"
        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
    error_location:
      type: string
      description: The location of the field that caused the error. Value is `body`, `path`, or `query`.
      enum:
        - body
        - path
        - query
      default: body
    error_default:
      description: The default error response.
      oneOf:
        - "$ref": "#/components/schemas/error_400"
        - "$ref": "#/components/schemas/error_401"
        - "$ref": "#/components/schemas/error_403"
        - "$ref": "#/components/schemas/error_404"
        - "$ref": "#/components/schemas/error_409"
        - "$ref": "#/components/schemas/error_415"
        - "$ref": "#/components/schemas/error_422"
        - "$ref": "#/components/schemas/error_500"
        - "$ref": "#/components/schemas/error_503"
    error_link_description:
      title: Link Description
      description: The request-related [HATEOAS link](/api/rest/responses/#hateoas-links) information.
      type: object
      required:
        - href
        - rel
      properties:
        href:
          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.
          type: string
          minLength: 0
          maxLength: 20000
          pattern: "^.*$"
        rel:
          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).
          type: string
          minLength: 0
          maxLength: 100
          pattern: "^.*$"
        method:
          description: The HTTP method required to make the related call.
          type: string
          minLength: 3
          maxLength: 6
          pattern: "^[A-Z]*$"
          enum:
            - GET
            - POST
            - PUT
            - DELETE
            - PATCH
    error_400:
      type: object
      title: Bad Request Error
      description: Request is not well-formed, syntactically incorrect, or violates schema.
      properties:
        name:
          type: string
          enum:
            - INVALID_REQUEST
        message:
          type: string
          enum:
            - Request is not well-formed, syntactically incorrect, or violates schema.
        details:
          type: array
          items:
            "$ref": "#/components/schemas/error_details"
        debug_id:
          type: string
          description: The PayPal internal ID. Used for correlation purposes.
        links:
          description: An array of request-related [HATEOAS links](https://en.wikipedia.org/wiki/HATEOAS).
          type: array
          minItems: 0
          maxItems: 10000
          items:
            "$ref": "#/components/schemas/error_link_description"
    error_401:
      type: object
      title: Unauthorized Error
      description: Authentication failed due to missing Authorization header, or invalid authentication credentials.
      properties:
        name:
          type: string
          enum:
            - AUTHENTICATION_FAILURE
        message:
          type: string
          enum:
            - Authentication failed due to missing authorization header, or invalid authentication credentials.
        details:
          type: array
          items:
            "$ref": "#/components/schemas/error_details"
        debug_id:
          type: string
          description: The PayPal internal ID. Used for correlation purposes.
        links:
          description: An array of request-related [HATEOAS links](https://en.wikipedia.org/wiki/HATEOAS).
          type: array
          minItems: 0
          maxItems: 10000
          items:
            "$ref": "#/components/schemas/error_link_description"
    error_403:
      type: object
      title: Not Authorized Error
      description: 'The client is not authorized to access this resource, although it may have valid credentials. '
      properties:
        name:
          type: string
          enum:
            - NOT_AUTHORIZED
        message:
          type: string
          enum:
            - Authorization failed due to insufficient permissions.
        details:
          type: array
          items:
            "$ref": "#/components/schemas/error_details"
        debug_id:
          type: string
          description: The PayPal internal ID. Used for correlation purposes.
        links:
          description: An array of request-related [HATEOAS links](https://en.wikipedia.org/wiki/HATEOAS).
          type: array
          minItems: 0
          maxItems: 10000
          items:
            "$ref": "#/components/schemas/error_link_description"
    error_404:
      type: object
      title: Not found Error
      description: The server has not found anything matching the request URI. This either means that the URI is incorrect or the resource is not available.
      properties:
        name:
          type: string
          enum:
            - RESOURCE_NOT_FOUND
        message:
          type: string
          enum:
            - The specified resource does not exist.
        details:
          type: array
          items:
            "$ref": "#/components/schemas/error_details"
        debug_id:
          type: string
          description: The PayPal internal ID. Used for correlation purposes.
        links:
          description: An array of request-related [HATEOAS links](https://en.wikipedia.org/wiki/HATEOAS).
          type: array
          minItems: 0
          maxItems: 10000
          items:
            "$ref": "#/components/schemas/error_link_description"
    error_409:
      type: object
      title: Resource Conflict Error
      description: The server has detected a conflict while processing this request.
      properties:
        name:
          type: string
          enum:
            - RESOURCE_CONFLICT
        message:
          type: string
          enum:
            - The server has detected a conflict while processing this request.
        details:
          type: array
          items:
            "$ref": "#/components/schemas/error_details"
        debug_id:
          type: string
          description: The PayPal internal ID. Used for correlation purposes.
        links:
          description: An array of request-related [HATEOAS links](https://en.wikipedia.org/wiki/HATEOAS).
          type: array
          minItems: 0
          maxItems: 10000
          items:
            "$ref": "#/components/schemas/error_link_description"
    error_415:
      type: object
      title: Unsupported Media Type Error
      description: The server does not support the request payload's media type.
      properties:
        name:
          type: string
          enum:
            - UNSUPPORTED_MEDIA_TYPE
        message:
          type: string
          enum:
            - The server does not support the request payload's media type.
        details:
          type: array
          items:
            "$ref": "#/components/schemas/error_details"
        debug_id:
          type: string
          description: The PayPal internal ID. Used for correlation purposes.
        links:
          description: An array of request-related [HATEOAS links](https://en.wikipedia.org/wiki/HATEOAS).
          type: array
          minItems: 0
          maxItems: 10000
          items:
            "$ref": "#/components/schemas/error_link_description"
    error_422:
      type: object
      title: Unprocessable Entity Error
      description: The requested action cannot be performed and may require interaction with APIs or processes outside of the current request. This is distinct from a 500 response in that there are no systemic problems limiting the API from performing the request.
      properties:
        name:
          type: string
          enum:
            - UNPROCESSABLE_ENTITY
        message:
          type: string
          enum:
            - The requested action could not be performed, semantically incorrect, or failed business validation.
        details:
          type: array
          items:
            "$ref": "#/components/schemas/error_details"
        debug_id:
          type: string
          description: The PayPal internal ID. Used for correlation purposes.
        links:
          description: An array of request-related [HATEOAS links](https://en.wikipedia.org/wiki/HATEOAS).
          type: array
          minItems: 0
          maxItems: 10000
          items:
            "$ref": "#/components/schemas/error_link_description"
    error_500:
      type: object
      title: Internal Server Error
      description: This is either a system or application error, and generally indicates that although the client appeared to provide a correct request, something unexpected has gone wrong on the server.
      properties:
        name:
          type: string
          enum:
            - INTERNAL_SERVER_ERROR
        message:
          type: string
          enum:
            - An internal server error occurred.
        debug_id:
          type: string
          description: The PayPal internal ID. Used for correlation purposes.
        links:
          description: An array of request-related [HATEOAS links](https://en.wikipedia.org/wiki/HATEOAS).
          type: array
          minItems: 0
          maxItems: 10000
          items:
            "$ref": "#/components/schemas/error_link_description"
      example:
        name: INTERNAL_SERVER_ERROR
        message: An internal server error occurred.
        debug_id: 90957fca61718
        links:
          - href: https://developer.paypal.com/api/orders/v2/#error-INTERNAL_SERVER_ERROR
            rel: information_link
    error_503:
      type: object
      title: Service Unavailable Error
      description: The server is temporarily unable to handle the request, for example, because of planned maintenance or downtime.
      properties:
        name:
          type: string
          enum:
            - SERVICE_UNAVAILABLE
        message:
          type: string
          enum:
            - Service Unavailable.
        debug_id:
          type: string
          description: The PayPal internal ID. Used for correlation purposes.
        links:
          description: An array of request-related [HATEOAS links](https://en.wikipedia.org/wiki/HATEOAS).
          type: array
          minItems: 0
          maxItems: 10000
          items:
            "$ref": "#/components/schemas/error_link_description"
      example:
        name: SERVICE_UNAVAILABLE
        message: Service Unavailable.
        debug_id: 90957fca61718
        information_link: https://developer.paypal.com/docs/api/orders/v2/#error-SERVICE_UNAVAILABLE
    date_time:
      type: string
      description: The date and time, in [Internet date and time format](https://tools.ietf.org/html/rfc3339#section-5.6). Seconds are required while fractional seconds are optional.<blockquote><strong>Note:</strong> The regular expression provides guidance but does not reject all invalid dates.</blockquote>
      format: ppaas_date_time_v3
      minLength: 20
      maxLength: 64
      pattern: "^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])[T,t]([0-1][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)([.][0-9]+)?([Zz]|[+-][0-9]{2}:[0-9]{2})$"
    currency_code:
      description: The [three-character ISO-4217 currency code](/docs/integration/direct/rest/currency-codes/) that identifies the currency.
      type: string
      format: ppaas_common_currency_code_v2
      minLength: 3
      maxLength: 3
    money:
      type: object
      title: Money
      description: The currency and amount for a financial transaction, such as a balance or payment due.
      properties:
        currency_code:
          "$ref": "#/components/schemas/currency_code"
        value:
          type: string
          description: The value, which might be:<ul><li>An integer for currencies like `JPY` that are not typically fractional.</li><li>A decimal fraction for currencies like `TND` that are subdivided into thousandths.</li></ul>For the required number of decimal places for a currency code, see [Currency Codes](/docs/integration/direct/rest/currency-codes/).
          maxLength: 32
          pattern: "^((-?[0-9]+)|(-?([0-9]+)?[.][0-9]+))$"
      required:
        - currency_code
        - value
    percentage:
      type: string
      description: The percentage, as a fixed-point, signed decimal number. For example, define a 19.99% interest rate as `19.99`.
      format: ppaas_common_percentage_v2
      pattern: "^((-?[0-9]+)|(-?([0-9]+)?[.][0-9]+))$"
    transaction_info:
      type: object
      title: Transaction Information
      description: The transaction information.
      properties:
        paypal_account_id:
          type: string
          description: The ID of the PayPal account of the counterparty.
          minLength: 1
          maxLength: 24
          pattern: "^[a-zA-Z0-9]*$"
        transaction_id:
          type: string
          description: The PayPal-generated transaction ID.
          readOnly: true
          minLength: 1
          maxLength: 24
          pattern: "^[a-zA-Z0-9]*$"
        paypal_reference_id:
          type: string
          description: The PayPal-generated base ID. PayPal exclusive. Cannot be altered. Defined as a related, pre-existing transaction or event.
          minLength: 1
          maxLength: 24
          pattern: "^[a-zA-Z0-9]*$"
        paypal_reference_id_type:
          type: string
          description: The PayPal reference ID type.
          minLength: 3
          maxLength: 3
          pattern: "^[a-zA-Z0-9]*$"
          enum:
            - ODR
            - TXN
            - SUB
            - PAP
        transaction_event_code:
          type: string
          minLength: 1
          maxLength: 5
          pattern: "^[a-zA-Z0-9]*$"
          description: A five-digit transaction event code that classifies the transaction type based on money movement and debit or credit. For example, <code>T0001</code>. See [Transaction event codes](/docs/integration/direct/transaction-search/transaction-event-codes/).
        transaction_initiation_date:
          description: The date and time when work on a transaction began in the PayPal system, as expressed in the time zone of the account on this side of the payment. Specify the value in [Internet date and time format](https://tools.ietf.org/html/rfc3339#section-5.6).
          "$ref": "#/components/schemas/date_time"
        transaction_updated_date:
          description: The date and time when the transaction was last changed, as expressed in the time zone of the account on this side of the payment. Specify the value in [Internet date and time format](https://tools.ietf.org/html/rfc3339#section-5.6).
          "$ref": "#/components/schemas/date_time"
        transaction_amount:
          "$ref": "#/components/schemas/money"
          description: The all-inclusive gross transaction amount that was transferred between the sender and receiver through PayPal.
        fee_amount:
          "$ref": "#/components/schemas/money"
          description: The PayPal fee amount. All transaction fees are included in this amount, which is the record of fee associated with the transaction.<blockquote><strong>Note:</strong> This field contains a value only when a transaction fee is applied and processed for this transaction.</blockquote>
        discount_amount:
          "$ref": "#/components/schemas/money"
          description: The reduction in price offered for goods or services purchased.<blockquote><strong>Note:</strong> This discount is for a price reduction that is offered for other than that at a individual item level.</blockquote>
        insurance_amount:
          "$ref": "#/components/schemas/money"
          description: An insurance charge. Guarantees the quality or delivery of a product.
        sales_tax_amount:
          "$ref": "#/components/schemas/money"
          description: The PayPal- or merchant-reported sales tax amount for the transaction.
        shipping_amount:
          "$ref": "#/components/schemas/money"
          description: The PayPal- or merchant-reported shipping amount for the transaction.
        shipping_discount_amount:
          "$ref": "#/components/schemas/money"
          description: The discount on the shipping amount.
        shipping_tax_amount:
          "$ref": "#/components/schemas/money"
          description: The tax on the shipping service.
        other_amount:
          "$ref": "#/components/schemas/money"
          description: The special amount that is added to the transaction.
        tip_amount:
          "$ref": "#/components/schemas/money"
          description: The tip.
        transaction_status:
          type: string
          description: A code that indicates the transaction status. Value is:<table><thead><tr><th>Status&nbsp;code</th><th>Description</th></tr></thead><tbody><tr><td><code>D</code></td><td>PayPal or merchant rules denied the transaction.</td></tr><tr><td><code>P</code></td><td>The transaction is pending. The transaction was created but waits for another payment process to complete, such as an ACH transaction, before the status changes to <code>S</code>.</td></tr><tr><td><code>S</code></td><td>The transaction successfully completed without a denial and after any pending statuses.</td></tr><tr><td><code>V</code></td><td>A successful transaction was fully reversed and funds were refunded to the original sender.</td></tr></tbody></table>
          minLength: 1
          maxLength: 1
          pattern: "^[a-zA-Z0-9]*$"
        transaction_subject:
          type: string
          description: The subject of payment. The payer passes this value to the payee. The payer controls this data through the interface through which he or she sends the data.
          minLength: 1
          maxLength: 256
          pattern: ^[a-zA-Z0-9_'\-., ":;\!?]*$
        transaction_note:
          type: string
          description: A special note that the payer passes to the payee. Might contain special customer requests, such as shipping instructions.
          minLength: 1
          maxLength: 4000
          pattern: ^[a-zA-Z0-9_'\-., ":;\!?]*$
        payment_tracking_id:
          type: string
          description: The payment tracking ID, which is a unique ID that partners specify to either get information about a payment or request a refund.
          minLength: 1
          maxLength: 127
          pattern: "^[a-zA-Z0-9]*$"
        bank_reference_id:
          type: string
          description: The bank reference ID. The bank provides this value for an ACH transaction.
          minLength: 1
          maxLength: 127
          pattern: "^[a-zA-Z0-9]*$"
        ending_balance:
          "$ref": "#/components/schemas/money"
          description: The ending balance.<blockquote><strong>Note:</strong> If you specify one or more optional query parameters, the <code>ending_balance</code> response field is empty.</blockquote>
        available_balance:
          "$ref": "#/components/schemas/money"
          description: The available amount of transaction currency during the completion of this transaction.
        invoice_id:
          type: string
          description: The invoice ID that is sent by the merchant with the transaction.<blockquote><strong>Note:</strong> If an invoice ID was sent with the capture request, the value is reported. Otherwise, the invoice ID of the authorizing transaction is reported.</blockquote>
          minLength: 1
          maxLength: 127
          pattern: ^[a-zA-Z0-9_'\-., ":;\!?]*$
        custom_field:
          type: string
          description: The merchant-provided custom text.<blockquote><strong>Note:</strong> Usually, this field includes the unique ID for payments made with MassPay type transaction.</blockquote>
          minLength: 1
          maxLength: 127
          pattern: ^[a-zA-Z0-9_'\-., ":;\!?]*$
        protection_eligibility:
          type: string
          description: Indicates whether the transaction is eligible for protection. Value is:<ul><li><code>01</code>. Eligible.</li><li><code>02</code>. Not eligible</li><li><code>03</code>. Partially eligible.</li></ul>
          minLength: 1
          maxLength: 2
          pattern: "^[a-zA-Z0-9]*$"
        credit_term:
          type: string
          description: The credit term. The time span covered by the installment payments as expressed in the term length plus the length time unit code.
          minLength: 1
          maxLength: 25
          pattern: "^[a-zA-Z0-9.]*$"
        credit_transactional_fee:
          "$ref": "#/components/schemas/money"
          description: The overall amount of the credit transaction fee.
        credit_promotional_fee:
          "$ref": "#/components/schemas/money"
          description: The overall amount of the credit promotional fee.
        annual_percentage_rate:
          "$ref": "#/components/schemas/percentage"
          description: The annual percentage rate (APR). Determines the amount of interest a consumer pays to finance a purchase at a merchant.
        payment_method_type:
          type: string
          minLength: 1
          maxLength: 20
          pattern: "^[a-zA-Z0-9-]*$"
          description: The payment method that was used for a transaction. Value is <code>PUI</code>, <code>installment</code>, or <code>mEFT</code>.<blockquote><strong>Note:</strong> Appears only for pay upon invoice (PUI), installment, and mEFT transactions. Merchants and partners in the EMEA region can use this attribute to note transactions that attract turn-over tax.</blockquote>
        instrument_type:
          type: string
          minLength: 1
          maxLength: 64
          description: A high-level classification of the type of financial instrument that was used to fund a payment. The pattern is not provided because the value is defined by an external party. E.g. PAYPAL, CREDIT_CARD, DEBIT_CARD, APPLE_PAY, BANK , VENMO ,Pay Upon Invoice, Pay Later  or <a href="https://developer.paypal.com/docs/checkout/integration-features/alternative-payment-methods/" title="Link to available APM list">Alternative Payment Methods (APM)</a>.
        instrument_sub_type:
          type: string
          minLength: 1
          maxLength: 64
          description: A finer-grained classification of the financial instrument that was used to fund a payment. For example, `Visa card` or a `Mastercard` for a credit card, BANKCARD ,DISCOVER etc. The pattern is not provided because the value is defined by an external party.
    email_address:
      type: string
      description: The internationalized email address.<blockquote><strong>Note:</strong> Up to 64 characters are allowed before and 255 characters are allowed after the <code>@</code> sign. However, the generally accepted maximum length for an email address is 254 characters. The pattern verifies that an unquoted <code>@</code> sign exists.</blockquote>
      format: ppaas_common_email_address_v2
      minLength: 3
      maxLength: 254
      pattern: ^.+@[^"\-].+$
    phone:
      type: object
      title: Phone
      description: The phone number, in its canonical international [E.164 numbering plan format](https://www.itu.int/rec/T-REC-E.164/en).
      properties:
        country_code:
          type: string
          description: The country calling code (CC), in its canonical international [E.164 numbering plan format](https://www.itu.int/rec/T-REC-E.164/en). The combined length of the CC and the national number must not be greater than 15 digits. The national number consists of a national destination code (NDC) and subscriber number (SN).
          minLength: 1
          maxLength: 3
          pattern: "^[0-9]{1,3}?$"
        national_number:
          type: string
          description: The national number, in its canonical international [E.164 numbering plan format](https://www.itu.int/rec/T-REC-E.164/en). The combined length of the country calling code (CC) and the national number must not be greater than 15 digits. The national number consists of a national destination code (NDC) and subscriber number (SN).
          minLength: 1
          maxLength: 14
          pattern: "^[0-9]{1,14}?$"
        extension_number:
          type: string
          description: The extension number.
          minLength: 1
          maxLength: 15
          pattern: "^[0-9]{1,15}?$"
      required:
        - country_code
        - national_number
    name:
      type: object
      title: Name
      description: The name of the party.
      properties:
        prefix:
          type: string
          description: The prefix, or title, to the party's name.
          maxLength: 140
        given_name:
          type: string
          description: When the party is a person, the party's given, or first, name.
          maxLength: 140
        surname:
          type: string
          description: When the party is a person, the party's surname or family name. Also known as the last name. Required when the party is a person. Use also to store multiple surnames including the matronymic, or mother's, surname.
          maxLength: 140
        middle_name:
          type: string
          description: When the party is a person, the party's middle name. Use also to store multiple middle names including the patronymic, or father's, middle name.
          maxLength: 140
        suffix:
          type: string
          description: The suffix for the party's name.
          maxLength: 140
        alternate_full_name:
          type: string
          description: DEPRECATED. The party's alternate name. Can be a business name, nickname, or any other name that cannot be split into first, last name. Required when the party is a business.
          maxLength: 300
        full_name:
          type: string
          description: When the party is a person, the party's full name.
          maxLength: 300
    country_code:
      type: string
      description: The [two-charac

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