PayPal Templates API

Use the `/templates` resource to create, list, show details for, update, and delete invoice templates. Use the `/templates` resource when you create a third-party invoicing application. For instance, a business can create a template with predefined invoice data. Later, the business can select the template to populate the invoice data.Note: To upload a logo to display on an invoice, you can use the Template Settings dashboard to create a template. When you create an invoice, you can use the URI for that logo.

Operations 5

GET /v2/invoicing/templates Paypal List templates #
POST /v2/invoicing/templates Paypal Create template #
GET /v2/invoicing/templates/{template_id} Paypal Show template details #
PUT /v2/invoicing/templates/{template_id} Paypal Fully update template #
DELETE /v2/invoicing/templates/{template_id} Paypal Delete template #

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-templates-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-templates-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Paypal Subscriptions Authorizations Templates 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: Templates
  description: Use the `/templates` resource to create, list, show details for, update, and delete invoice templates. Use the `/templates` resource when you create a third-party invoicing application. For instance, a business can create a template with predefined invoice data. Later, the business can select the template to populate the invoice data.<blockquote><strong>Note:</strong> To upload a logo to display on an invoice, you can use the <strong>Template Settings</strong> dashboard to <a href="https://www.paypal.com/invoice/settings/templates">create a template</a>. When you create an invoice, you can use the URI for that logo.</blockquote>
paths:
  /v2/invoicing/templates:
    get:
      summary: Paypal List templates
      description: Lists merchant-created templates with associated details. The associated details include the emails, addresses, and phone numbers from the user's PayPal profile.<br/>The user can select which values to show in the business information section of their template.
      operationId: templates.list
      responses:
        '200':
          description: A successful request returns the HTTP `200 OK` status code and a JSON response body that lists invoices.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/templates'
            multipart/mixed:
              schema:
                $ref: '#/components/schemas/templates'
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/error_400'
                - $ref: '#/components/schemas/400'
            multipart/mixed:
              schema:
                allOf:
                - $ref: '#/components/schemas/error_400'
                - $ref: '#/components/schemas/400'
        '403':
          description: Authorization Error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error_403'
            multipart/mixed:
              schema:
                $ref: '#/components/schemas/error_403'
        default:
          $ref: '#/components/responses/default'
      parameters:
      - $ref: '#/components/parameters/fields'
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/page_size'
      security:
      - Oauth2:
        - https://uri.paypal.com/services/invoicing/invoices/read
      tags:
      - Templates
    post:
      summary: Paypal Create template
      description: Creates an invoice template. You can use details from this template to create an invoice. You can create up to 50 templates.<blockquote><strong>Note:</strong> Every merchant starts with three PayPal system templates that are optimized for the unit type billed. The template includes `Quantity`, `Hours`, and `Amount`.</blockquote>
      operationId: templates.create
      responses:
        '201':
          description: A successful request returns the HTTP `201 Created` status code. A JSON response body that shows template details is returned if you set <code>prefer=return=representation</code>.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/template'
            multipart/mixed:
              schema:
                $ref: '#/components/schemas/template'
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/error_400'
                - $ref: '#/components/schemas/templates.create-400'
            multipart/mixed:
              schema:
                allOf:
                - $ref: '#/components/schemas/error_400'
                - $ref: '#/components/schemas/templates.create-400'
        '422':
          description: Unprocessable Entity.
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/error_422'
                - $ref: '#/components/schemas/templates.create-422'
            multipart/mixed:
              schema:
                allOf:
                - $ref: '#/components/schemas/error_422'
                - $ref: '#/components/schemas/templates.create-422'
        default:
          $ref: '#/components/responses/default'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/template'
        required: true
      security:
      - Oauth2:
        - https://uri.paypal.com/services/invoicing/invoices/readwrite
      tags:
      - Templates
  /v2/invoicing/templates/{template_id}:
    get:
      summary: Paypal Show template details
      description: Shows details for a template, by ID.
      operationId: templates.get
      responses:
        '200':
          description: A successful request returns the HTTP `200 OK` status code and a JSON response body that shows template details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/template'
              examples:
                '0':
                  $ref: '#/components/examples/template'
                '1':
                  $ref: '#/components/examples/template_1'
            multipart/mixed:
              schema:
                $ref: '#/components/schemas/template'
        '403':
          description: Authorization Error.
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/error_403'
                - $ref: '#/components/schemas/templates.get-403'
            multipart/mixed:
              schema:
                allOf:
                - $ref: '#/components/schemas/error_403'
                - $ref: '#/components/schemas/templates.get-403'
        '404':
          description: Resource Not Found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error_404'
            multipart/mixed:
              schema:
                $ref: '#/components/schemas/error_404'
        default:
          $ref: '#/components/responses/default'
      parameters:
      - $ref: '#/components/parameters/template_id'
      security:
      - Oauth2:
        - https://uri.paypal.com/services/invoicing/invoices/read
      tags:
      - Templates
    put:
      summary: Paypal Fully update template
      description: Fully updates a template, by ID. In the JSON request body, include a complete `template` object. This call does not support partial updates.
      operationId: templates.update
      responses:
        '200':
          description: A successful request returns the HTTP `200 OK` status code. A JSON response body that shows template details is returned if you set <code>prefer=return=representation</code>.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/template'
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/error_400'
                - $ref: '#/components/schemas/templates.update-400'
        '403':
          description: Authorization Error.
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/error_403'
                - $ref: '#/components/schemas/403'
        '404':
          description: Resource Not Found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error_404'
        '422':
          description: Unprocessable Entity.
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/error_422'
                - $ref: '#/components/schemas/templates.update-422'
        default:
          $ref: '#/components/responses/default'
      parameters:
      - $ref: '#/components/parameters/template_id'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/template'
        description: A representation of changes to make in the template.
        required: true
      security:
      - Oauth2:
        - https://uri.paypal.com/services/invoicing/invoices/readwrite
      tags:
      - Templates
    delete:
      summary: Paypal Delete template
      description: Deletes a template, by ID.
      operationId: templates.delete
      responses:
        '204':
          description: A successful request returns the HTTP `204 No Content` status code with no JSON response body.
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error_400'
            multipart/mixed:
              schema:
                $ref: '#/components/schemas/error_400'
        '403':
          description: Authorization Error.
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/error_403'
                - $ref: '#/components/schemas/templates.delete-403'
            multipart/mixed:
              schema:
                allOf:
                - $ref: '#/components/schemas/error_403'
                - $ref: '#/components/schemas/templates.delete-403'
        '404':
          description: Resource Not Found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error_404'
            multipart/mixed:
              schema:
                $ref: '#/components/schemas/error_404'
        '422':
          description: Unprocessable Entity.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error_422'
            multipart/mixed:
              schema:
                $ref: '#/components/schemas/error_422'
        default:
          $ref: '#/components/responses/default'
      parameters:
      - $ref: '#/components/parameters/template_id'
      security:
      - Oauth2:
        - https://uri.paypal.com/services/invoicing/invoices/readwrite
      tags:
      - Templates
components:
  schemas:
    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
    template_subtotal_field:
      type: string
      title: Template Subtotal Field
      description: The field names in the template for discount, shipping, and custom amounts.
      enum:
      - DISCOUNT
      - SHIPPING
      - CUSTOM
    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
    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
    custom_amount:
      type: object
      title: Custom Amount
      description: The custom amount to apply to an invoice. If you include a label, you must include a custom amount.
      required:
      - label
      properties:
        label:
          type: string
          description: The label to the custom amount of the invoice.
          maxLength: 50
        amount:
          $ref: '#/components/schemas/money'
          description: The custom amount value. Value is from `-1000000` to `1000000`. Supports up to two decimal places.
    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})$
    unit_of_measure:
      type: string
      description: The unit of measure for the invoiced item.
      enum:
      - QUANTITY
      - HOURS
      - AMOUNT
    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
    amount_with_breakdown:
      type: object
      title: Amount with Breakdown
      description: The breakdown of the amount. Includes total item amount, total tax amount, custom amount, and shipping and discounts, if any.
      properties:
        item_total:
          $ref: '#/components/schemas/money'
          description: The subtotal for all items. Must equal the sum of (`items[].unit_amount` * `items[].quantity`) for all items.
        discount:
          $ref: '#/components/schemas/aggregated_discount'
          description: The discount can be at the item or invoice level, or both. Can be applied as a percent or amount. If you provide both amount and percent, amount takes precedent.
        tax_total:
          $ref: '#/components/schemas/money'
          description: The aggregated amount of the item and shipping taxes.
        shipping:
          $ref: '#/components/schemas/shipping_cost'
          description: The shipping fee for all items. Includes tax on shipping.
        custom:
          $ref: '#/components/schemas/custom_amount'
          description: The custom amount to apply to an invoice. If you include a label, you must include the custom amount.
    item:
      type: object
      title: Invoice Item
      description: An array of invoice line item information. The maximum items for an invoice is `100`.
      properties:
        id:
          type: string
          description: The ID of the invoice line item.
          readOnly: true
          maxLength: 22
        name:
          type: string
          description: The item name for the invoice line item.
          maxLength: 200
        description:
          type: string
          description: The item description for the invoice line item.
          maxLength: 1000
        quantity:
          type: string
          maxLength: 14
          minLength: 0
          description: The quantity of the item that the invoicer provides to the payer. Value is from `-1000000` to `1000000`. Supports up to five decimal places.
        unit_amount:
          $ref: '#/components/schemas/money'
          description: The unit price of the item. This does not include tax and discount. Value is from `-1000000` to `1000000`. Supports up to two decimal places.
        tax:
          $ref: '#/components/schemas/tax'
          description: The tax associated with the item. The tax amount is added to the item total. Value is from `0` to `100`. Supports up to five decimal places.
        item_date:
          $ref: '#/components/schemas/date_no_time'
          description: The date when the item or service was provided, in [Internet date and time format](https://tools.ietf.org/html/rfc3339#section-5.6). For example, *yyyy*-*MM*-*dd*T*z*.
        discount:
          $ref: '#/components/schemas/discount'
          description: Discount as a percent or amount at invoice level. The invoice discount amount is subtracted from the item total.
        unit_of_measure:
          description: The unit of measure for the invoiced item. For `AMOUNT` the `unit_amount` and `quantity` are not shown on the invoice.<blockquote><strong>Note:</strong> If your specify different `unit_of_measure` values for the same invoice, the invoice uses the first value.</blockquote>
          $ref: '#/components/schemas/unit_of_measure'
      required:
      - name
      - quantity
      - unit_amount
    payment_term:
      type: object
      title: Payment Term
      description: The payment term of the invoice. Payment can be due upon receipt, a specified date, or in a set number of days.
      properties:
        term_type:
          description: The payment term. Payment can be due upon receipt, a specified date, or in a set number of days.
          $ref: '#/components/schemas/payment_term_type'
    phone_type:
      type: string
      title: Phone Type
      description: The phone type.
      enum:
      - FAX
      - HOME
      - MOBILE
      - OTHER
      - PAGER
    template_display_preference:
      type: object
      title: Template Display Preference
      description: The template display preference.
      properties:
        hidden:
          type: boolean
          description: Indicates whether to show or hide this field.
          default: false
    partial_payment:
      type: object
      title: Partial Payment
      description: The partial payment details. Includes the minimum amount that the invoicer expects from the payer.
      properties:
        allow_partial_payment:
          type: boolean
          description: Indicates whether the invoice allows a partial payment. If `false`, the invoice must be paid in full. If `true`, the invoice allows partial payments.<blockquote><strong>Note:</strong> This feature is not available for users in `India`, `Brazil`, or `Israel`.</blockquote>
          default: false
        minimum_amount_due:
          $ref: '#/components/schemas/money'
          description: The minimum amount allowed for a partial payment. Valid only when `allow_partial_payment` is `true`.
    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'
    templates.delete-403:
      properties:
        details:
          type: array
          items:
            anyOf:
            - title: PERMISSION_DENIED
              properties:
                issue:
                  type: string
                  enum:
                  - PERMISSION_DENIED
                description:
                  type: string
                  enum:
                  - The requested template is not associated with the requested user.
            - title: CANNOT_DELETE_GLOBAL_TEMPLATE
              properties:
                issue:
                  type: string
                  enum:
                  - CANNOT_DELETE_GLOBAL_TEMPLATE
                description:
                  type: string
                  enum:
                  - Global templates cannot be deleted.
    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:
          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
    detail:
      title: Invoice_Detail
      description: The details of the invoice like notes, terms and conditions, memo, attachments.
      required:
      - currency_code
      properties:
        reference:
          type: string
          description: The reference data. Includes a post office (PO) number.
          maxLength: 120
        currency_code:
          $ref: '#/components/schemas/currency_code'
          description: The [three-character ISO-4217 currency code](/docs/integration/direct/rest/currency-codes/) that identifies the currency.
        note:
          type: string
          description: A note to the invoice recipient. Also appears on the invoice notification email.
          maxLength: 4000
        terms_and_conditions:
          type: string
          description: The general terms of the invoice. Can include return or cancellation policy and other terms and conditions.
          maxLength: 4000
        memo:
          type: string
          description: A private bookkeeping memo for the user.
          maxLength: 500
        attachments:
          type: array
          description: An array of PayPal IDs for the files that are attached to an invoice.
          maximum: 5
          items:
            $ref: '#/components/schemas/file_reference'
    business_name:
      type: object
      title: Business Name
      description: The business name of the party.
      properties:
        business_name:
          type: string
          description: Required. The business name of the party.
          maxLength: 300
    '403':
      properties:
        details:
          type: array
          items:
            anyOf:
            - title: PERMISSION_DENIED
              properties:
                issue:
                  type: string
                  enum:
                  - PERMISSION_DENIED
                description:
                  type: string
                  enum:
                  - The requested invoice is not associated with the requested user.
    templates.create-422:
      properties:
        details:
          type: array
          items:
            anyOf:
            - title: CANNOT_CANCEL_DRAFT_INVOICE
              properties:
                issue:
                  type: string
                  enum:
                  - CANNOT_CANCEL_DRAFT_INVOICE
                description:
                  type: string
                  enum:
                  - Cannot cancel a draft invoice.
    templates:
      type: object
      title: Templates
      minItems: 1
      description: An array of merchant-created templates with associated details that include the emails, addresses, and phone numbers from the user's PayPal profile.
      properties:
        addresses:
          type: array
          description: An array of addresses in the user's PayPal profile.
          items:
            $ref: '#/components/schemas/address_portable'
          readOnly: true
        emails:
          description: An array of emails in the user's PayPal profile.
          $ref: '#/components/schemas/email_address'
          readOnly: true
        phones:
          type: array
          description: An array of phone numbers in the user's PayPal profile.
          items:
            $ref: '#/components/schemas/phone_detail'
        templates:
          type: array
          description: An array of details for each template. If `fields` is `none`, returns only the template name, ID, and default status.
          items:
            $ref: '#/components/schemas/template'
        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
    payment_term_type:
      type: string
      title: Payment Term Type
      description: The payment term. Payment can be due upon receipt, a specified date, or in a set number of days.
      enum:
      - DUE_ON_RECEIPT
      - DUE_ON_DATE_SPECIFIED
      - NET_10
      - NET_15
      - NET_30
      - NET_45
      - NET_60
      - NET_90
      - NO_DUE_DATE
    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'
    template_settings:
      type: object
      title: Template Settings
      description: The template settings. Sets a template as the default template or edit template.
      properties:
        template_item_settings:
          type: array
          description: The template item headers display preference.
          items:
            $ref: '#/components/schemas/template_item_setting'
        template_subtotal_settings:
          type: array
          description: The template subtotal headers display preference.
          items:
            $ref: '#/components/schemas/template_subtotal_setting'
    template_subtotal_setting:
      type: object
      title: Template Subtotal Setting
      description: The template subtotal setting. Includes the field name and display preference.
      properties:
        field_name:
          description: The field name in `template_data` for which to map corresponding display preferences.
          $ref: '#/components/schemas/template_subtotal_field'
        display_preference:
          description: The display preference.
          $ref: '#/components/schemas/template_display_preference'
    template_item_setting:
      type: object
      title: Template Item Setting
      description: The template item setting. Sets a template as the default template or edit template.
      properties:
        field_name:
          description: The field name in `template_data` for which to map corresponding display preferences.
          $ref: '#/components/schemas/template_item_field'
        display_preference:
          description: The display preference.
          $ref: '#/components/schemas/template_display_preference'
    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.

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