View as Markdown
API Spec (JSON)
API Spec (YAML)
Compact modeHides field descriptions and other prose for a more compact, scannable view of the API reference.Notes:.
- API caller can change/modify recipient only 2 times in 72 hours.
Client CredentialsToken URLhttps://api-m.sandbox.paypal.com/v1/oauth2/tokenInheaderScopes
https://uri.paypal.com/services/invoicing/invoices/readwriteapplication/json
TypeScript Definitions
Use the request body type in TypeScript.
detailobject<invoice_detail>Requiredreferencestring<currency_code>Optionalcurrency_codestring<currency_code>Requirednotestring<currency_code>Optionalterms_and_conditionsstring<currency_code>Optionalmemostring<currency_code>Optionalattachmentsobject<file_reference>[]Optionalcreate_timestring<date_time>OptionalNote: The regular expression provides guidance but does not reject all invalid dates.
tip_presetsobject<tip_preset>[]Optionalorder_detailsstring<currency_code>Optionalproject_detailsstring<currency_code>Optionalservice_detailsstring<currency_code>Optionalpayment_termsstring<currency_code>Optionalreturn_policystring<currency_code>Optionalcancellation_policystring<currency_code>Optionalservice_agreementstring<currency_code>Optionalinvoice_numberstring<currency_code>Optionalinvoice_datestring<date_no_time>Optionalpayment_termobject<invoice_payment_term>Optionalterm_typeenum<payment_term_type>Optionalconditional_rulesobject<payment_term_conditional_rules>Optionalearly_payment_discountobject<early_payment_discount>Optionaldiscount_end_datestring<date_no_time>Optionalpercentstring<percentage>Optionalamountobject<money>Optionalcurrency_codestring<currency_code>Requiredvaluestring<percentage>Requiredauto_cancellationobject<auto_cancellation>Optionalcancel_by_datestring<date_no_time>Optionaldue_datestring<date_no_time>Optionalinvoicerobject<invoicer_info>Optionalorthographyenum<orthography>Optionalnameobject<person_name>Optionalorthographyenum<orthography>Optionaladdressobject<address_portable>Optionaladmin_area_4stringOptionaladmin_area_3stringOptionaladmin_area_1stringOptionalcountry_codestring<country_code>RequiredNote: The country code for Great Britain isGBand notUKas used in the top-level domain names for that country. Use the `C2` country code for China worldwide for comparable uncontrolled price (CUP) method, bank card, and cross-border transactions.
address_detailsobject<Address Details>Optionalemail_addressstring<restrictive_email_address>OptionalNote: Up to 64 characters are allowed before and 255 characters are allowed after the@sign. However, the generally accepted maximum length for an email address is 254 characters. The pattern verifies that an unquoted@sign exists.
phonesobject<phone_detail>[]Optionalcountry_codestringRequirednational_numberstringRequiredadditional_notesstring<currency_code>Optionalprimary_recipientsobject<recipient_info>[]Optionalbilling_infoobject<billing_info>Optionalorthographyenum<orthography>Optionalnameobject<person_name>Optionalorthographyenum<orthography>Optionaladdressobject<address_portable>Optionaladmin_area_4stringOptionaladmin_area_3stringOptionaladmin_area_1stringOptionalcountry_codestring<country_code>RequiredNote: The country code for Great Britain isGBand notUKas used in the top-level domain names for that country. Use the `C2` country code for China worldwide for comparable uncontrolled price (CUP) method, bank card, and cross-border transactions.
address_detailsobject<Address Details>Optionalemail_addressstring<restrictive_email_address>OptionalNote: Up to 64 characters are allowed before and 255 characters are allowed after the@sign. However, the generally accepted maximum length for an email address is 254 characters. The pattern verifies that an unquoted@sign exists.
phonesobject<phone_detail>[]Optionalcountry_codestringRequirednational_numberstringRequiredadditional_infostring<currency_code>Optionallanguagestring<language>Optionalshipping_infoobject<contact_name_address>Optionalorthographyenum<orthography>Optionalnameobject<person_name>Optionalorthographyenum<orthography>Optionaladdressobject<address_portable>Optionaladmin_area_4stringOptionaladmin_area_3stringOptionaladmin_area_1stringOptionalcountry_codestring<country_code>RequiredNote: The country code for Great Britain isGBand notUKas used in the top-level domain names for that country. Use the `C2` country code for China worldwide for comparable uncontrolled price (CUP) method, bank card, and cross-border transactions.
address_detailsobject<Address Details>Optionaladditional_recipientsarray<email_address>OptionalNote: Valid values are email addresses in the `additional_recipients` value associated with the invoice.
namestring<currency_code>Requireddescriptionstring<currency_code>Optionalunit_amountobject<money>Requiredcurrency_codestring<currency_code>Requiredvaluestring<percentage>Requiredtaxobject<tax>Optionalpercentstring<percentage>Requireditem_datestring<date_no_time>Optionaldiscountobject<discount>Optionalpercentstring<percentage>Optionalamountobject<money>Optionalcurrency_codestring<currency_code>Requiredvaluestring<percentage>Requiredunit_of_measureenum<unit_of_measure>Optionalconfigurationobject<configuration>Optionalallow_tipbooleanOptionalNote: This feature is not available for users in `Hong Kong`, `Taiwan`, `India`, or `Japan`.
partial_paymentobject<partial_payment>Optionalminimum_amount_dueobject<money>Optionalcurrency_codestring<currency_code>Requiredvaluestring<percentage>Requireddiscount_mode_preferenceenum<discount_mode_preference>Optionalthemeobject<configurable_theme>Optionaltemplate_idstring<currency_code>OptionalNote: This is an optional field. If you wish to customize the invoice layout using a specific template, provide a valid template ID here. You can either use an existing template ID or create a new template via the create template API and then use the newly created template's ID.
payment_method_overridesobject<override_payment_method_detail>[]OptionalNote: Payment method availability depends on the merchant's country, the buyer's country, and the invoice amount. Override configurations only take effect if the specified payment method is available for the invoice.
payment_method_typeenum<override_payment_method_type>OptionalNote: To usePAY_BY_BANK, you must first complete the onboarding process. Visit the onboarding page to get started. Once onboarding is complete, you can configurePAY_BY_BANKas a payment method.
rulesobject<override_payment_method_rule>[]Optionalrule_typeenum<override_payment_method_rule_type>RequiredSystem-defined threshold limits by payment method:
- PAY_BY_BANK - $1000
amountobject<amount_summary_detail>Optionalcurrency_codestring<currency_code>Optionalvaluestring<percentage>Optionalbreakdownobject<amount_with_breakdown>Optionalitem_totalobject<money>Optionalcurrency_codestring<currency_code>Requiredvaluestring<percentage>Requireddiscountobject<aggregated_discount>Optionalinvoice_discountobject<discount>Optionalpercentstring<percentage>Optionalamountobject<money>Optionalcurrency_codestring<currency_code>Requiredvaluestring<percentage>Requireditem_discountobject<money>Optionalcurrency_codestring<currency_code>Requiredvaluestring<percentage>Requiredtax_totalobject<money>Optionalcurrency_codestring<currency_code>Requiredvaluestring<percentage>Requiredshippingobject<shipping_cost>Optionalamountobject<money>Optionalcurrency_codestring<currency_code>Requiredvaluestring<percentage>Requiredtaxobject<tax>Optionalpercentstring<percentage>Requiredcustomobject<custom_amount>Optionallabelstring<currency_code>Requiredamountobject<money>Optionalcurrency_codestring<currency_code>Requiredvaluestring<percentage>Requiredsettingsobject<invoice_settings>Optionalinvoice_item_settingsobject<invoice_item_setting>[]Optionalfield_nameenum<invoice_item_field>Optionaldisplay_preferenceobject<display_preference>Optionalinvoice_additional_settingsobject<invoice_additional_setting>[]Optionalfield_nameenum<invoice_additional_settings_field>Optionaldisplay_preferenceobject<display_preference>Optionalinvoice_policy_and_agreement_settingsobject<invoice_policy_and_agreement_setting>[]Optionalfield_nameenum<invoice_policy_and_agreement_settings_field>Optionaldisplay_preferenceobject<display_preference>Optionalinvoice_details_settingsobject<invoice_details_setting>[]Optionalfield_nameenum<invoice_details_settings_field>Optionaldisplay_preferenceobject<display_preference>Optionalpaymentsobject<payments>OptionalNo fields are defined.
effective_invoice_totalobject<money>Optionalcurrency_codestring<currency_code>Requiredvaluestring<percentage>Requiredeffective_due_amountobject<money>Optionalcurrency_codestring<currency_code>Requiredvaluestring<percentage>Requiredrefundsobject<refunds>OptionalNo fields are defined.
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X PUT "https://example.com/v2/invoicing/invoices/INV2-Z56S-5LLA-Q52L-CPZ5" \ -H "Authorization: Bearer A21AAGHr9qtiRRXH4oYcQokQgV99rGqEIfgrr8xHCclP0OzmD9KVgg5ppIIg1jzJgQkV4wd02svIvBJyg6cLFJjFow_SjBhxQ" \ -H "Content-Type: application/json" \ -d '{ "id": "INV2-C82X-JNN9-Y6S5-CNXW", "status": "DRAFT", "detail": { "invoice_number": "#123", "reference": "deal-refernce-update", "invoice_date": "2018-11-12", "currency_code": "USD", "note": "Thank you for your business.", "term": "No refunds after 30 days.", "memo": "This is a long contract", "payment_term": { "term_type": "NET_10", "due_date": "2018-11-22" }, "order_details": "Updated order #12345 details from Jan 15, 2023.", "project_details": "Updated website redesign project for XYZ Corp - added mobile optimization.", "service_details": "Additional consulting services Jan-Apr 2023.", "cancellation_policy": "Updated: Services may be cancelled with 30-day notice.", "payment_terms": "Updated: Payment due within 15 days of invoice date.", "return_policy": "Updated: All sales are final. No returns accepted after 15 days.", "service_agreement": "Updated: Services provided as per revised agreement dated Feb 1, 2023.", "tip_presets": [ { "percent": "15" }, { "percent": "20" }, { "percent": "25" } ] }, "invoicer": { "name": { "given_name": "David", "surname": "Larusso" }, "address": { "address_line_1": "1234 First Street", "address_line_2": "337673 Hillside Court", "admin_area_2": "Anytown", "admin_area_1": "CA", "postal_code": "98765", "country_code": "US" }, "email_address": "merchant@example.com", "phones": [ { "country_code": "001", "national_number": "4085551234", "phone_type": "MOBILE" } ], "website": "www.test.com", "tax_id": "ABcNkWSfb5ICTt73nD3QON1fnnpgNKBy-Jb5SeuGj185MNNw6g", "logo_url": "https://example.com/logo.PNG", "additional_notes": "2-4" }, "primary_recipients": [ { "billing_info": { "name": { "given_name": "Stephanie", "surname": "Meyers" }, "address": { "address_line_1": "1234 Main Street", "admin_area_2": "Anytown", "admin_area_1": "CA", "postal_code": "98765", "country_code": "US" }, "email_address": "bill-me@example.com", "phones": [ { "country_code": "001", "national_number": "4884551234", "phone_type": "HOME" } ], "additional_info_value": "add-info" }, "shipping_info": { "name": { "given_name": "Stephanie", "surname": "Meyers" }, "address": { "address_line_1": "1234 Main Street", "admin_area_2": "Anytown", "admin_area_1": "CA", "postal_code": "98765", "country_code": "US" } } } ], "items": [ { "name": "Yoga Mat", "description": "Elastic mat to practice yoga.", "quantity": "1", "unit_amount": { "currency_code": "USD", "value": "50.00" }, "tax": { "name": "Sales Tax", "percent": "7.25", "tax_note": "Reduced tax rate", "amount": { "currency_code": "USD", "value": "3.27" } }, "discount": { "percent": "5", "amount": { "currency_code": "USD", "value": "2.5" } }, "unit_of_measure": "QUANTITY" }, { "name": "Yoga t-shirt", "quantity": "1", "unit_amount": { "currency_code": "USD", "value": "10.00" }, "tax": { "name": "Sales Tax", "percent": "7.25", "amount": { "currency_code": "USD", "value": "0.34" } }, "discount": { "amount": { "currency_code": "USD", "value": "5.00" } }, "unit_of_measure": "QUANTITY" } ], "configuration": { "partial_payment": { "allow_partial_payment": true, "minimum_amount_due": { "currency_code": "USD", "value": "20.00" } }, "allow_tip": true, "tax_calculated_after_discount": true, "tax_inclusive": false, "show_additional_item_fields": true, "template_id": "TEMP-19V05281TU309413B" }, "amount": { "currency_code": "USD", "value": "74.21", "breakdown": { "item_total": { "currency_code": "USD", "value": "60.00" }, "custom": { "label": "Packing Charges", "amount": { "currency_code": "USD", "value": "10.00" } }, "shipping": { "amount": { "currency_code": "USD", "value": "10.00" }, "tax": { "name": "Sales Tax", "percent": "7.25", "amount": { "currency_code": "USD", "value": "0.73" } } }, "discount": { "item_discount": { "currency_code": "USD", "value": "-7.50" }, "invoice_discount": { "percent": "5", "amount": { "currency_code": "USD", "value": "-2.63" } } }, "tax_total": { "currency_code": "USD", "value": "4.34" } } }, "settings": { "invoice_item_settings": [ { "field_name": "ITEM_DESCRIPTION", "display_preference": { "hidden": false } }, { "field_name": "ITEM_DATE", "display_preference": { "hidden": true } }, { "field_name": "ITEM_TAX", "display_preference": { "hidden": false } }, { "field_name": "ITEM_DISCOUNT", "display_preference": { "hidden": true } } ], "invoice_additional_settings": [ { "field_name": "ATTACHMENT", "display_preference": { "hidden": false } }, { "field_name": "MEMO", "display_preference": { "hidden": false } }, { "field_name": "REFERENCE", "display_preference": { "hidden": true } } ], "invoice_policy_and_agreement_settings": [ { "field_name": "TERMS_AND_CONDITIONS", "display_preference": { "hidden": false } }, { "field_name": "PAYMENT_TERMS", "display_preference": { "hidden": false } }, { "field_name": "CANCELLATION_POLICY", "display_preference": { "hidden": false } } ], "invoice_details_settings": [ { "field_name": "SERVICE_DETAILS", "display_preference": { "hidden": false } } ] } }'{ "id": "INV2-C82X-JNN9-Y6S5-CNXW", "status": "DRAFT", "detail": { "invoice_number": "#123", "reference": "deal-refernce-update", "invoice_date": "2018-11-12", "currency_code": "USD", "note": "Thank you for your business.", "term": "No refunds after 30 days.", "memo": "This is a long contract", "payment_term": { "term_type": "NET_10", "due_date": "2018-11-22" }, "order_details": "Updated order #12345 details from Jan 15, 2023.", "project_details": "Updated website redesign project for XYZ Corp - added mobile optimization.", "service_details": "Additional consulting services Jan-Apr 2023.", "cancellation_policy": "Updated: Services may be cancelled with 30-day notice.", "payment_terms": "Updated: Payment due within 15 days of invoice date.", "return_policy": "Updated: All sales are final. No returns accepted after 15 days.", "service_agreement": "Updated: Services provided as per revised agreement dated Feb 1, 2023.", "tip_presets": [ { "percent": "15" }, { "percent": "20" }, { "percent": "25" } ], "metadata": { "create_time": "2018-11-12T08:00:20Z", "recipient_view_url": "https://www.api-m.paypal.com/invoice/p#Z56S5LLAQ52LCPZ5", "invoicer_view_url": "https://www.api-m.paypal.com/invoice/details/INV2-Z56S-5LLA-Q52L-CPZ5" } }, "invoicer": { "name": { "given_name": "David", "surname": "Larusso" }, "address": { "address_line_1": "1234 First Street", "address_line_2": "337673 Hillside Court", "admin_area_2": "Anytown", "admin_area_1": "CA", "postal_code": "98765", "country_code": "US" }, "email_address": "merchant@example.com", "phones": [ { "country_code": "001", "national_number": "4085551234", "phone_type": "MOBILE" } ], "website": "https://example.com", "tax_id": "ABcNkWSfb5ICTt73nD3QON1fnnpgNKBy-Jb5SeuGj185MNNw6g", "logo_url": "https://example.com/logo.PNG", "additional_notes": "2-4" }, "primary_recipients": [ { "billing_info": { "name": { "given_name": "Stephanie", "surname": "Meyers" }, "address": { "address_line_1": "1234 Main Street", "admin_area_2": "Anytown", "admin_area_1": "CA", "postal_code": "98765", "country_code": "US" }, "email_address": "bill-me@example.com", "phones": [ { "country_code": "001", "national_number": "4884551234", "phone_type": "HOME" } ], "additional_info_value": "add-info" }, "shipping_info": { "name": { "given_name": "Stephanie", "surname": "Meyers" }, "address": { "address_line_1": "1234 Main Street", "admin_area_2": "Anytown", "admin_area_1": "CA", "postal_code": "98765", "country_code": "US" } } } ], "items": [ { "name": "Yoga Mat", "description": "Elastic mat to practice yoga.", "quantity": "1", "unit_amount": { "currency_code": "USD", "value": "50.00" }, "tax": { "name": "Sales Tax", "percent": "7.25", "amount": { "currency_code": "USD", "value": "3.27" } }, "discount": { "percent": "5", "amount": { "currency_code": "USD", "value": "2.5" } }, "unit_of_measure": "QUANTITY" }, { "name": "Yoga t-shirt", "quantity": "1", "unit_amount": { "currency_code": "USD", "value": "10.00" }, "tax": { "name": "Sales Tax", "percent": "7.25", "amount": { "currency_code": "USD", "value": "0.34" } }, "discount": { "amount": { "currency_code": "USD", "value": "5.00" } }, "unit_of_measure": "QUANTITY" } ], "configuration": { "partial_payment": { "allow_partial_payment": true, "minimum_amount_due": { "currency_code": "USD", "value": "20.00" } }, "allow_tip": true, "allow_only_pay_by_bank": true, "tax_calculated_after_discount": true, "show_additional_item_fields": true, "tax_inclusive": false, "template_id": "TEMP-19V05281TU309413B" }, "amount": { "currency_code": "USD", "value": "74.21", "breakdown": { "item_total": { "currency_code": "USD", "value": "60.00" }, "custom": { "label": "Packing Charges", "amount": { "currency_code": "USD", "value": "10.00" } }, "shipping": { "amount": { "currency_code": "USD", "value": "10.00" }, "tax": { "name": "Sales Tax", "percent": "7.25", "amount": { "currency_code": "USD", "value": "0.73" } } }, "discount": { "item_discount": { "currency_code": "USD", "value": "-7.50" }, "invoice_discount": { "percent": "5", "amount": { "currency_code": "USD", "value": "-2.63" } } }, "tax_total": { "currency_code": "USD", "value": "4.34" } } }, "due_amount": { "currency_code": "USD", "value": "74.21" }, "settings": { "invoice_item_settings": [ { "field_name": "ITEM_DESCRIPTION", "display_preference": { "hidden": false } }, { "field_name": "ITEM_DATE", "display_preference": { "hidden": true } }, { "field_name": "ITEM_TAX", "display_preference": { "hidden": false } }, { "field_name": "ITEM_DISCOUNT", "display_preference": { "hidden": false } } ] }, "links": [ { "href": "https://api-m.paypal.com/v2/invoicing/invoices/INV2-Z56S-5LLA-Q52L-CPZ5", "rel": "self", "method": "GET" }, { "href": "https://api-m.paypal.com/v2/invoicing/invoices/INV2-Z56S-5LLA-Q52L-CPZ5/send", "rel": "send", "method": "POST" }, { "href": "https://api-m.paypal.com/v2/invoicing/invoices/INV2-Z56S-5LLA-Q52L-CPZ5/update", "rel": "replace", "method": "PUT" }, { "href": "https://api-m.paypal.com/v2/invoicing/invoices/INV2-Z56S-5LLA-Q52L-CPZ5", "rel": "delete", "method": "DELETE" } ]}