POST /v1/installations/{integrationConfigurationId}/billing/invoices
This endpoint allows the partner to submit an invoice to Vercel. The invoice is created in Vercel's billing system and sent to the customer. Depending on the type of billing plan, the invoice can be sent at a time of signup, at the start of the billing period, or at the end of the billing period.
Use the credentials.access_token
we provided in the Upsert Installation body to authorize this request.
There are several limitations to the invoice submission:
1. A resource can only be billed once per the billing period and the billing plan.
2. The billing plan used to bill the resource must have been active for this resource during the billing period.
3. The billing plan used must be a subscription plan.
4. The interim usage data must be sent hourly for all types of subscriptions. See Send subscription billing and usage data API on how to send interim billing and usage data.
Servers
- https://api.vercel.com
Path parameters
Name | Type | Required | Description |
---|---|---|---|
integrationConfigurationId |
String | Yes |
Request headers
Name | Type | Required | Description |
---|---|---|---|
Content-Type |
String | Yes |
The media type of the request body.
Default value: "application/json" |
Request body fields
Name | Type | Required | Description |
---|---|---|---|
discounts[] |
Array | No | |
discounts[].billingPlanId |
String | Yes |
Partner's billing plan ID. |
discounts[].end |
String | No |
Start and end are only needed if different from the period's start/end. |
discounts[].name |
String | Yes | |
discounts[].resourceId |
String | No |
Partner's resource ID. |
discounts[].amount |
String | Yes |
Currency amount as a decimal string. |
discounts[].start |
String | No |
Start and end are only needed if different from the period's start/end. |
discounts[].details |
String | No | |
test |
Object | No |
Test mode |
test.validate |
Boolean | No | |
test.result |
String | No |
Possible values:
|
externalId |
String | No | |
period |
Object | Yes |
Subscription period for this billing cycle. |
period.end |
String | Yes | |
period.start |
String | Yes | |
invoiceDate |
String | Yes |
Invoice date. Must be within the period's start and end. |
items[] |
Array | Yes | |
items[].billingPlanId |
String | Yes |
Partner's billing plan ID. |
items[].units |
String | Yes | |
items[].end |
String | No |
Start and end are only needed if different from the period's start/end. |
items[].price |
String | Yes |
Currency amount as a decimal string. |
items[].name |
String | Yes | |
items[].resourceId |
String | No |
Partner's resource ID. |
items[].quantity |
Number | Yes | |
items[].start |
String | No |
Start and end are only needed if different from the period's start/end. |
items[].details |
String | No | |
items[].total |
String | Yes |
Currency amount as a decimal string. |
memo |
String | No |
Additional memo for the invoice. |
How to start integrating
- Add HTTP Task to your workflow definition.
- Search for the API you want to integrate with and click on the name.
- This loads the API reference documentation and prepares the Http request settings.
- Click Test request to test run your request to the API and see the API's response.