Invoices API
Programatically access cloud infrastructure invoices
DoiT Invoices provides you instant visibility into your Google Cloud, Google Workspace, AWS, Office 365 and other invoices without having to scan through separate cloud vendor billing portals.
The Invoices API helps you programmatically obtain your DoiT invoices for supported assets such as Google Cloud projects, Amazon Web Services accounts, Microsoft Azure subscriptions and more.
Required PermissionsInvoice Viewer (part of
AdminandFinance Userpre-built roles)
Invoices API has the following methods:
invoices.list
The invoices.list method returns a list of all invoices available for your billing profile, as described at the Help Center.
You can filter the results using the following parameters:
Parameter | Description |
|---|---|
|
|
|
|
|
Supported filter keys:
|
Example
YOUR_API_KEYReplace "YOUR_API_KEY" with your actual API key as explained at Get Started
Sample invoices.list request using both minCreationTime and filter parameters:
curl --location --request \
GET 'https://api.doit.com/billing/v1/invoices?minCreationTime=1596243660&filter=platform:amazon-web-services|platform:google-cloud' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {YOUR_API_KEY}' \
--data-raw ''Sample invoices.list response:
{
"pageToken": "ZG9pdGRlLURFMTAwMDc4LUlOMjM0MDAxMDYz",
"rowCount": 50,
"invoices": [
{
"id": "IN204004836",
"invoiceDate": 1598832000000,
"platform": "amazon-web-services",
"dueDate": 1601424000000,
"status": "PAST DUE",
"totalAmount": 68991.75,
"balanceAmount": 80720.35,
"currency": "USD",
"url": "https://console.doit.com/customers/{CUSTOMER_ID}/invoices/{BILLING_PROFILE_KEY}/IN204004836"
},
{
"id": "IN204004665",
"invoiceDate": 1598832000000,
"platform": "google-cloud",
"dueDate": 1601424000000,
"status": "PAST DUE",
"totalAmount": 6804.56,
"balanceAmount": 7961.34,
"currency": "USD",
"url": "https://console.doit.com/customers/{CUSTOMER_ID}/invoices/{BILLING_PROFILE_KEY}/IN204004665"
},
]
}invoices.get
Get the full details of an individual invoice using the invoice number.
Example
Sample invoices.get request
curl --location --request GET 'https://api.doit.com/billing/v1/invoices/IN204004836' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {YOUR_API_KEY}' \
--data-raw ''Sample invoices.get response:
{
"id": "IN204004836",
"invoiceDate": 1598832000000,
"platform": "amazon-web-services",
"dueDate": 1601424000000,
"status": "PAST DUE",
"totalAmount": 10464.36,
"balanceAmount": 80720.35,
"currency": "USD",
"url": "https://console.doit.com/customers/{CUSTOMER_ID}/invoices/{BILLING_PROFILE_KEY}/IN204004836",
"lineItems": [
{
"type": "amazon-web-services",
"description": "Amazon Web Services",
"price": 5825.16,
"qty": 1,
"currency": "USD",
"details": "Cover 1 month"
},
{
"type": "amazon-web-services",
"description": "Amazon Web Services",
"price": 4639.2,
"qty": 1,
"currency": "USD",
"details": "Cover 1 month"
}
]
}Response Body
If successful, the response body contains an instance of Invoice
{
"id": string,
"invoiceDate": number,
"platform": string,
"dueDate": number,
"status": string,
"totalAmount": float,
"balanceAmount": float,
"currency": string,
"url": string,
"lineItems": [ object (lineItem) ]
}Every invoice will include at least one or more lineItems:
{
"type": string,
"description": string,
"price": float,
"qty": number,
"currency": string
}Response Body Fields
Field | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Updated 6 days ago
