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-authorizations-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: 3.2.0
info:
title: Paypal Subscriptions Authorizations 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: Authorizations
description: Use the `/authorizations` resource to show details for, capture payment for, reauthorize, and void authorized payments.
paths:
/v2/payments/authorizations/{authorization_id}:
get:
summary: Paypal Show details for authorized payment
description: Shows details for an authorized payment, by ID.
operationId: authorizations.get
parameters:
- $ref: '#/components/parameters/authorization_id'
responses:
'200':
description: A successful request returns the HTTP <code>200 OK</code> status code and a JSON response body that shows authorization details.
content:
application/json:
schema:
$ref: '#/components/schemas/authorization-2'
'401':
description: Authentication failed due to missing authorization header, or invalid authentication credentials.
content:
application/json:
schema:
$ref: '#/components/schemas/error_401'
'403':
description: The request failed because the caller has insufficient permissions.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/error_403'
- $ref: '#/components/schemas/403'
'404':
description: The request failed because the resource does not exist.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/error_404'
- $ref: '#/components/schemas/404'
'500':
description: The request failed because an internal server error occurred.
default:
$ref: '#/components/responses/default'
tags:
- Authorizations
security:
- Oauth2:
- https://uri.paypal.com/services/payments/payment/authcapture
/v2/payments/authorizations/{authorization_id}/capture:
post:
summary: Paypal Capture authorized payment
description: Captures an authorized payment, by ID.
operationId: authorizations.capture
parameters:
- $ref: '#/components/parameters/authorization_id'
- $ref: '#/components/parameters/paypal_request_id'
- $ref: '#/components/parameters/prefer'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/capture_request'
examples:
capture_request:
value:
amount:
value: '10.99'
currency_code: USD
invoice_id: INVOICE-123
final_capture: true
note_to_payer: If the ordered color is not available, we will substitute with a different color free of charge.
soft_descriptor: Bob's Custom Sweaters
responses:
'201':
description: A successful request returns the HTTP <code>201 Created</code> status code and a JSON response body that shows captured payment details.
content:
application/json:
schema:
$ref: '#/components/schemas/capture-2'
'400':
description: The request failed because it is not well-formed or is syntactically incorrect or violates schema.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/error_400'
- $ref: '#/components/schemas/400'
'401':
description: Authentication failed due to missing authorization header, or invalid authentication credentials.
content:
application/json:
schema:
$ref: '#/components/schemas/error_401'
'403':
description: The request failed because the caller has insufficient permissions.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/error_403'
- $ref: '#/components/schemas/403'
'404':
description: The request failed because the resource does not exist.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/error_404'
- $ref: '#/components/schemas/404'
'422':
description: The request failed because it is semantically incorrect or failed business validation.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/error_422'
- $ref: '#/components/schemas/422'
'500':
description: The request failed because an internal server error occurred.
default:
$ref: '#/components/responses/default'
tags:
- Authorizations
security:
- Oauth2:
- https://uri.paypal.com/services/payments/payment/authcapture
/v2/payments/authorizations/{authorization_id}/reauthorize:
post:
summary: Paypal Reauthorize authorized payment
description: Reauthorizes an authorized PayPal account payment, by ID. To ensure that funds are still available, reauthorize a payment after its initial three-day honor period expires. Within the 29-day authorization period, you can issue multiple re-authorizations after the honor period expires.<br/><br/>If 30 days have transpired since the date of the original authorization, you must create an authorized payment instead of reauthorizing the original authorized payment.<br/><br/>A reauthorized payment itself has a new honor period of three days.<br/><br/>You can reauthorize an authorized payment from 4 to 29 days after the 3-day honor period. The allowed amount depends on context and geography, for example in US it is up to 115% of the original authorized amount, not to exceed an increase of $75 USD.<br/><br/>Supports only the `amount` request parameter.<blockquote><strong>Note:</strong> This request is currently not supported for Partner use cases.</blockquote>
operationId: authorizations.reauthorize
parameters:
- $ref: '#/components/parameters/authorization_id'
- $ref: '#/components/parameters/paypal_request_id'
- $ref: '#/components/parameters/prefer'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/reauthorize_request'
examples:
reauthorize_request:
value:
amount:
value: '10.99'
currency_code: USD
responses:
'201':
description: A successful request returns the HTTP <code>201 Created</code> status code and a JSON response body that shows the reauthorized payment details.
content:
application/json:
schema:
$ref: '#/components/schemas/authorization-2'
'400':
description: The request failed because it is not well-formed or is syntactically incorrect or violates schema.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/error_400'
- $ref: '#/components/schemas/authorizations.reauthorize-400'
'401':
description: Authentication failed due to missing authorization header, or invalid authentication credentials.
content:
application/json:
schema:
$ref: '#/components/schemas/error_401'
'403':
description: The request failed because the caller has insufficient permissions.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/error_403'
- $ref: '#/components/schemas/403'
'404':
description: The request failed because the resource does not exist.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/error_404'
- $ref: '#/components/schemas/404'
'422':
description: The request failed because it either is semantically incorrect or failed business validation.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/error_422'
- $ref: '#/components/schemas/authorizations.reauthorize-422'
'500':
description: The request failed because an internal server error occurred.
default:
$ref: '#/components/responses/default'
tags:
- Authorizations
security:
- Oauth2:
- https://uri.paypal.com/services/payments/payment/authcapture
/v2/payments/authorizations/{authorization_id}/void:
post:
summary: Paypal Void authorized payment
description: Voids, or cancels, an authorized payment, by ID. You cannot void an authorized payment that has been fully captured.
operationId: authorizations.void
parameters:
- $ref: '#/components/parameters/authorization_id'
- $ref: '#/components/parameters/paypal_auth_assertion'
- $ref: '#/components/parameters/prefer'
responses:
'200':
description: A successful request returns the HTTP <code>200 OK</code> status code and a JSON response body that shows authorization details. This response is returned when the Prefer header is set to return=representation.
content:
application/json:
schema:
$ref: '#/components/schemas/authorization-2'
'204':
description: A successful request returns the HTTP <code>204 No Content</code> status code with no JSON response body. This response is returned when the Prefer header is set to return=minimal.
'400':
description: The request failed because it is not well-formed or is syntactically incorrect or violates schema.
content:
application/json:
schema:
$ref: '#/components/schemas/error_400'
'401':
description: Authentication failed due to missing authorization header, or invalid authentication credentials.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/error_401'
- $ref: '#/components/schemas/401'
'403':
description: The request failed because the caller has insufficient permissions.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/error_403'
- $ref: '#/components/schemas/403'
'404':
description: The request failed because the resource does not exist.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/error_404'
- $ref: '#/components/schemas/404'
'409':
description: The request failed because a previous call for the given resource is in progress.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/error_409'
- $ref: '#/components/schemas/409'
'422':
description: The request failed because it either is semantically incorrect or failed business validation.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/error_422'
- $ref: '#/components/schemas/authorizations.void-422'
'500':
description: The request failed because an internal server error occurred.
default:
$ref: '#/components/responses/default'
tags:
- Authorizations
security:
- Oauth2:
- https://uri.paypal.com/services/payments/payment/authcapture
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
link_description:
type: object
title: Link Description
description: The request-related [HATEOAS link](/api/rest/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
capture-2:
type: object
title: Capture
description: A captured payment.
allOf:
- $ref: '#/components/schemas/capture'
- properties:
supplementary_data:
description: An object that provides supplementary/additional data related to a payment transaction.
readOnly: true
$ref: '#/components/schemas/supplementary_data'
payee:
description: The details associated with the merchant for this transaction.
$ref: '#/components/schemas/payee_base'
readOnly: true
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](/api/rest/reference/currency-codes/).
maxLength: 32
pattern: ^((-?[0-9]+)|(-?([0-9]+)?[.][0-9]+))$
required:
- currency_code
- value
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})$
'404':
properties:
details:
type: array
items:
anyOf:
- title: INVALID_RESOURCE_ID
properties:
issue:
type: string
enum:
- INVALID_RESOURCE_ID
description:
type: string
enum:
- Specified resource ID does not exist. Please check the resource ID and try again.
account_id:
type: string
title: PayPal Account Identifier
description: The account identifier for a PayPal account.
format: ppaas_payer_id_v3
minLength: 13
maxLength: 13
pattern: ^[2-9A-HJ-NP-Z]{13}$
currency_code:
description: The [three-character ISO-4217 currency code](/api/rest/reference/currency-codes/) that identifies the currency.
type: string
format: ppaas_common_currency_code_v2
minLength: 3
maxLength: 3
seller_receivable_breakdown:
type: object
title: Seller Receivable Breakdown
description: The detailed breakdown of the capture activity. This is not available for transactions that are in pending state.
properties:
gross_amount:
description: The amount for this captured payment in the currency of the transaction.
$ref: '#/components/schemas/money'
paypal_fee:
description: The applicable fee for this captured payment in the currency of the transaction.
$ref: '#/components/schemas/money'
paypal_fee_in_receivable_currency:
description: The applicable fee for this captured payment in the receivable currency. Returned only in cases the fee is charged in the receivable currency. Example 'CNY'.
$ref: '#/components/schemas/money'
net_amount:
description: The net amount that the payee receives for this captured payment in their PayPal account. The net amount is computed as <code>gross_amount</code> minus the <code>paypal_fee</code> minus the <code>platform_fees</code>.
$ref: '#/components/schemas/money'
receivable_amount:
description: The net amount that is credited to the payee's PayPal account. Returned only when the currency of the captured payment is different from the currency of the PayPal account where the payee wants to credit the funds. The amount is computed as <code>net_amount</code> times <code>exchange_rate</code>.
$ref: '#/components/schemas/money'
exchange_rate:
description: The exchange rate that determines the amount that is credited to the payee's PayPal account. Returned when the currency of the captured payment is different from the currency of the PayPal account where the payee wants to credit the funds.
$ref: '#/components/schemas/exchange_rate'
platform_fees:
type: array
description: An array of platform or partner fees, commissions, or brokerage fees that associated with the captured payment.
minItems: 0
maxItems: 1
items:
$ref: '#/components/schemas/platform_fee'
required:
- gross_amount
payee_base:
type: object
title: Merchant Base
description: The details for the merchant who receives the funds and fulfills the order. The merchant is also known as the payee.
properties:
email_address:
description: The email address of merchant.
$ref: '#/components/schemas/email'
merchant_id:
description: The encrypted PayPal account ID of the merchant.
$ref: '#/components/schemas/account_id'
email:
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: merchant_common_email_address_v2
maxLength: 254
minLength: 3
pattern: (?:[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*|(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-zA-Z0-9-]*[a-zA-Z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])
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'
supplementary_purchase_data:
type: object
title: Capture Identifier
description: The capture identification-related fields. Includes the invoice ID, custom ID, note to payer, and soft descriptor.
properties:
invoice_id:
description: The API caller-provided external invoice number for this order. Appears in both the payer's transaction history and the emails that the payer receives.
type: string
maxLength: 127
minLength: 1
pattern: ^.{1,127}$
note_to_payer:
type: string
description: An informational note about this settlement. Appears in both the payer's transaction history and the emails that the payer receives.
maxLength: 255
minLength: 1
pattern: ^.{1,255}$
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
platform_fee:
type: object
title: Platform Fee
description: The platform or partner fee, commission, or brokerage fee that is associated with the transaction. Not a separate or isolated transaction leg from the external perspective. The platform fee is limited in scope and is always associated with the original payment for the purchase unit.
properties:
amount:
description: The fee for this transaction.
$ref: '#/components/schemas/money'
payee:
description: The recipient of the fee for this transaction. If you omit this value, the default is the API caller.
$ref: '#/components/schemas/payee_base'
required:
- amount
exchange_rate:
description: The exchange rate that determines the amount to convert from one currency to another currency.
type: object
title: Exchange Rate
properties:
source_currency:
description: The source currency from which to convert an amount.
$ref: '#/components/schemas/currency_code'
target_currency:
description: The target currency to which to convert an amount.
$ref: '#/components/schemas/currency_code'
value:
description: The target currency amount. Equivalent to one unit of the source currency. Formatted as integer or decimal value with one to 15 digits to the right of the decimal point.
type: string
readOnly: true
'401':
properties:
details:
type: array
items:
anyOf:
- title: INVALID_ACCOUNT_STATUS
properties:
issue:
type: string
enum:
- INVALID_ACCOUNT_STATUS
description:
type: string
enum:
- Account validations failed for the user.
'403':
properties:
details:
type: array
items:
anyOf:
- title: PERMISSION_DENIED
properties:
issue:
type: string
enum:
- PERMISSION_DENIED
description:
type: string
enum:
- You do not have permission to access or perform operations on this resource.
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'
activity_timestamps:
type: object
description: The date and time stamps that are common to authorized payment, captured payment, and refund transactions.
title: Transaction Date and Time Stamps
properties:
create_time:
description: The date and time when the transaction occurred, in [Internet date and time format](https://tools.ietf.org/html/rfc3339#section-5.6).
readOnly: true
$ref: '#/components/schemas/date_time'
update_time:
description: The date and time when the transaction was last updated, in [Internet date and time format](https://tools.ietf.org/html/rfc3339#section-5.6).
readOnly: true
$ref: '#/components/schemas/date_time'
disbursement_mode:
type: string
title: Disbursement Mode
description: The funds that are held on behalf of the merchant.
default: INSTANT
minLength: 1
maxLength: 16
pattern: ^[A-Z_]+$
enum:
- INSTANT
- DELAYED
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'
reauthorize_request:
title: Reauthorize Request
type: object
description: Reauthorizes an authorized PayPal account payment, by ID. To ensure that funds are still available, reauthorize a payment after its initial three-day honor period expires. You can reauthorize a payment only once from days four to 29.<br/><br/>If 30 days have transpired since the date of the original authorization, you must create an authorized payment instead of reauthorizing the original authorized payment.<br/><br/>A reauthorized payment itself has a new honor period of three days.<br/><br/>You can reauthorize an authorized payment once. The allowed amount depends on context and geography, for example in US it is up to 115% of the original authorized amount, not to exceed an increase of $75 USD.<br/><br/>Supports only the `amount` request parameter.<blockquote><strong>Note:</strong> This request is currently not supported for Partner use cases.</blockquote>
properties:
amount:
description: The amount to reauthorize for an authorized payment.
$ref: '#/components/schemas/money'
seller_protection:
type: object
description: The level of protection offered as defined by [PayPal Seller Protection for Merchants](https://www.paypal.com/us/webapps/mpp/security/seller-protection).
title: Seller Protection
properties:
status:
type: string
description: Indicates whether the transaction is eligible for seller protection. For information, see [PayPal Seller Protection for Merchants](https://www.paypal.com/us/webapps/mpp/security/seller-protection).
readOnly: true
enum:
- ELIGIBLE
- PARTIALLY_ELIGIBLE
- NOT_ELIGIBLE
dispute_categories:
type: array
description: An array of conditions that are covered for the transaction.
items:
type: string
description: The condition that is covered for the transaction.
enum:
- ITEM_NOT_RECEIVED
- UNAUTHORIZED_TRANSACTION
readOnly: true
payment_instruction:
type: object
title: Payment Instruction
description: Any additional payment instructions to be consider during payment processing. This processing instruction is applicable for Capturing an order or Authorizing an Order.
properties:
platform_fees:
type: array
description: An array of various fees, commissions, tips, or donations. This field is only applicable to merchants that been enabled for PayPal Commerce Platform for Marketplaces and Platforms capability.
minItems: 0
maxItems: 1
items:
$ref: '#/components/schemas/platform_fee'
disbursement_mode:
description: The funds that are held payee by the marketplace/platform. This field is only applicable to merchants that been ena
# --- truncated at 32 KB (75 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/paypal/refs/heads/main/openapi/paypal-authorizations-api-openapi.yml