The ShipBob Billing API provides endpoints to manage and retrieve billing-related data, including invoices, transactions, and transaction fees. All requests require a Personal Access Token (PAT) with the billing_read scope. This guide details the four available endpoints, including sample requests and responses.
To access the Billing API endpoints, you must use a valid Personal Access Token (PAT) with the billing_read scope. If you encounter access issues (e.g., 403 Forbidden errors), follow these steps:
Verify billing_read Scope:
GET /2026-01/channels endpoint to confirm your PAT includes the billing_read scope.billing_read scope is missing, generate a new PAT.Generate a New PAT:
billing_read scope enabled.Retrieves a list of invoices within a specified date range.
Endpoint
GET /2026-01/invoices
Query Parameters
Headers
Sample Request
Sample Response
Queries transactions based on specified criteria, such as date range or transaction type.
Endpoint
POST /2026-01/transactions:query
Headers
Request Body
Sample Request
Sample Response
To retrieve all charges associated with a specific ShipBob shipment, make a POST request to /2026-01/transactions:query and filter by the shipment’s reference_id.
Endpoint
POST /2026-01/transactions:query
Some fees are not immediately available via the API after a label is generated in ShipBob. Depending on the fee type, it may take up to 6 hours before the fee data becomes available through the API.
Headers
Request Body
Sample Request
Sample Response
reference_ids array to retrieve fees for several shipments in a single request. Each transaction in the response includes transaction_fee (the fee type), amount, charge_date, and additional_details for line-item context like PO numbers and per-unit rates.Retrieves all transactions associated with a specific invoice ID.
Endpoint
GET /2026-01/invoices/{invoiceId}/transactions
Path Parameters
Query Parameters
Headers
Sample Request
Sample Response
Retrieves a list of available transaction fee types.
Endpoint
GET /2026-01/transaction-fees
Headers
Sample Request
Sample Response
YYYY-MM-DD format.Page and PageSize parameters (default: 100, max: 100).billing_read scope is required for all endpoints. Requests without it will fail with an authorization error.