How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

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.

PayPal Templates API is one of 37 APIs that PayPal publishes on the APIs.io network, described by a machine-readable OpenAPI specification and an AsyncAPI event-driven specification.

Tagged areas include Templates. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, and an AsyncAPI specification.

This API exposes 5 operations across 2 paths, and defines 65 schemas. It is described by OpenAPI 3.0.3, at version 1.6.

Requests are made against 2 base URLs: https://api-m.sandbox.paypal.com, https://api-m.paypal.com.

5 operations 2 paths 65 schemas 1 DELETE2 GET1 POST1 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.0.3
API Version
1.6
Servers
https://api-m.sandbox.paypal.com
https://api-m.paypal.com
Authentication
OAuth 2.0
Resource Areas
1

Authentication & Security 1

PayPal Templates API declares 1 security scheme for authenticating requests. It supports OAuth 2.0 (Oauth2) using the clientCredentials flow, exposing 1 scope.

  • Oauth2 — Oauth 2.0 authentication

Paths & Operations 5

Across 2 paths, the API surfaces 5 operations — 1 DELETE, 2 GET, 1 POST, 1 PUT. Each is listed below with its method, path, parameters, and response codes.

Templates 5

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 applicatio…

GET
/v2/invoicing/templates
Paypal List templates
templates.list 3 params → 200400403default
POST
/v2/invoicing/templates
Paypal Create template
templates.create body → 201400422default
GET
/v2/invoicing/templates/{template_id}
Paypal Show template details
templates.get 1 param → 200403404default
PUT
/v2/invoicing/templates/{template_id}
Paypal Fully update template
templates.update 1 param body → 200400403404422default
DELETE
/v2/invoicing/templates/{template_id}
Paypal Delete template
templates.delete 1 param → 204400403404422default

Schemas 65

The contract defines 65 schemas that model the data the API accepts and returns. The most detailed are address_portable (10 properties), item (9 properties), template_info (8 properties), template (8 properties). Each schema is shown below with its type and property counts.

file_reference
object
The file reference. Can be a file in PayPal MediaServ, PayPal DMS, or other custom store.
5 properties
templates.update-400
object
1 property
error_404
object
The server has not found anything matching the request URI. This either means that the URI is incorrect or the resource is not available.
5 properties
error_409
object
The server has detected a conflict while processing this request.
5 properties
language
string
The [language tag](https://tools.ietf.org/html/bcp47section-2) for the language in which to localize the error-related strings, such as messages, issues, and s…
payment_term
object
The payment term of the invoice. Payment can be due upon receipt, a specified date, or in a set number of days.
1 property
phone_type
string
The phone type.
403
object
1 property
link_description
object
The request-related [HATEOAS link](/docs/api/reference/api-responses/hateoas-links) information.
3 properties 2 required
item
object
An array of invoice line item information. The maximum items for an invoice is 100.
9 properties 3 required
payment_term_type
string
The payment term. Payment can be due upon receipt, a specified date, or in a set number of days.
date_no_time
string
The stand-alone date, in [Internet date and time format](https://tools.ietf.org/html/rfc3339section-5.6). To represent special legal values, such as a date of…
aggregated_discount
object
The discount. Can be an item- or invoice-level discount, or both. Can be applied as a percent or amount. If you provide both amount and percent, amount takes p…
2 properties
error_403
object
The client is not authorized to access this resource, although it may have valid credentials.
5 properties
error_422
object
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 respons…
5 properties
template_item_field
string
The field names for the invoice line items in the template.
templates.update-422
object
1 property
template_display_preference
object
The template display preference.
1 property
error_details
object
The error details. Required for client-side 4XX errors.
5 properties 1 required
name
object
The name of the party.
7 properties
error_link_description
object
The request-related [HATEOAS link](/api/rest/responses/hateoas-links) information.
3 properties 2 required
phone_detail
object
The phone details. Includes the phone number and type.
1 required
templates.delete-403
object
1 property
template_subtotal_setting
object
The template subtotal setting. Includes the field name and display preference.
2 properties
phone
object
The phone number, in its canonical international [E.164 numbering plan format](https://www.itu.int/rec/T-REC-E.164/en).
3 properties 2 required
templates.get-403
object
1 property
amount_summary_detail
object
The invoice amount summary of item total, discount, tax total, and shipping.
3 properties
template_metadata
object
The audit metadata. Captures all template actions on create and update.
4 properties
error_default
The default error response.
recipient_info
object
The billing and shipping information. Includes name, email, address, phone, and language.
2 properties
partial_payment
object
The partial payment details. Includes the minimum amount that the invoicer expects from the payer.
2 properties
templates.create-422
object
1 property
detail
object
The details of the invoice like notes, terms and conditions, memo, attachments.
6 properties 1 required
400
object
1 property
templates
object
An array of merchant-created templates with associated details that include the emails, addresses, and phone numbers from the user's PayPal profile.
5 properties
discount
object
The discount as a percent or amount at invoice level. The invoice discount amount is subtracted from the item total.
2 properties
money
object
The currency and amount for a financial transaction, such as a balance or payment due.
2 properties 2 required
template
object
The template with invoice details to load with all captured fields.
8 properties
template_info
object
The template details. Includes invoicer business information, invoice recipients, items, and configuration.
8 properties
business_name
object
The business name of the party.
1 property
amount_with_breakdown
object
The breakdown of the amount. Includes total item amount, total tax amount, custom amount, and shipping and discounts, if any.
5 properties
template_configuration
object
The template configuration details. Includes tax information, tip, and partial payment.
4 properties
address_portable
object
The portable international postal address. Maps to [AddressValidationMetadata](https://github.com/googlei18n/libaddressinput/wiki/AddressValidationMetadata) an…
10 properties 1 required
template_subtotal_field
string
The field names in the template for discount, shipping, and custom amounts.
error_503
object
The server is temporarily unable to handle the request, for example, because of planned maintenance or downtime.
4 properties
error_400
object
Request is not well-formed, syntactically incorrect, or violates schema.
5 properties
template_detail
object
The template-related details. Includes notes, terms and conditions, memo, and attachments.
currency_code
string
The [three-character ISO-4217 currency code](/docs/integration/direct/rest/currency-codes/) that identifies the currency.
template_item_setting
object
The template item setting. Sets a template as the default template or edit template.
2 properties
contact_name_address
object
The contact information of the user. Includes name and address.
shipping_cost
object
The shipping fee for all items. Includes tax on shipping.
2 properties
country_code
string
The [two-character ISO 3166-1 code](/docs/integration/direct/rest/country-codes/) that identifies the country or region. Note: The country code for Great Brita…
tax
object
The tax information. Includes the tax name and tax rate of invoice items. The tax amount is added to the item total.
3 properties 2 required
template_settings
object
The template settings. Sets a template as the default template or edit template.
2 properties
error_401
object
Authentication failed due to missing Authorization header, or invalid authentication credentials.
5 properties
billing_info
object
The billing information of the invoice recipient. Includes name, address, email, phone, and language.
templates.create-400
object
1 property
invoicer_info
object
The invoicer business information that appears on the invoice.
error_415
object
The server does not support the request payload's media type.
5 properties
unit_of_measure
string
The unit of measure for the invoiced item.
percentage
string
The percentage, as a fixed-point, signed decimal number. For example, define a 19.99% interest rate as 19.99.
error_500
object
This is either a system or application error, and generally indicates that although the client appeared to provide a correct request, something unexpected has…
4 properties
email_address
string
The internationalized email address. Note: Up to 64 characters are allowed before and 255 characters are allowed after the @ sign. However, the generally accep…
date_time
string
The date and time, in [Internet date and time format](https://tools.ietf.org/html/rfc3339section-5.6). Seconds are required while fractional seconds are option…
custom_amount
object
The custom amount to apply to an invoice. If you include a label, you must include a custom amount.
2 properties 1 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

paypal-templates-api-openapi.yml Raw ↑

Other APIs PayPal publishes across the network.

PayPal Activate API
PayPal Authorizations API
PayPal Balances API
PayPal Billing API
PayPal Cancel API
PayPal Capture API
PayPal Captures API
PayPal Deactivate API
PayPal Disputes-Actions API
PayPal Disputes API
PayPal Invoices API
PayPal Orders API
Where this information came from

This is an independent, third-party profile of PayPal Templates API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.