Using Pax8's APIs
Build a custom Pax8 integration by creating API credentials in the Integrations Hub and making your first authenticated API request.
Before you build
- If a pre-built solution already meets your needs, start with Discover apps.
- If you need custom automation for billing, ordering, subscription management, or related workflows, start with Integration Guides.
1. Create API credentials
- Navigate to Pax8 and log in.
- In the left navigation menu, go to Integrations.
- Open API credentials.
- Click + Create API credential.
- Give your application a descriptive name such as
Internal Automationor the name of a specific system, then click Save. - Copy the generated cURL example.
These API credentials are for your internal use only and should never be shared with third-party systems. If a third-party application needs access to Pax8 data, it should use the OAuth 2.0 delegation flow.
2. Get an access token
- Use the copied cURL command in your terminal or an API client such as Postman to call the Access Token endpoint.
- Store the returned access token and use it to authenticate your later API calls.
- You can also log in to this documentation site with your Pax8 credentials to make requests directly from the API reference and review your request history.
3. Make your first request
Start with a simple GET request to confirm connectivity, verify authentication, and inspect the response format. You can test this directly from the API reference after logging in to this documentation site with your Pax8 credentials.
Example Headers for Requests
When making API requests, you'll commonly use the following headers:
Content-Type:application/jsonAuthorization:Bearer ${accessToken}
The ${accessToken} value is the bearer token you obtain when you call the Access Token endpoint.
Dynamic Data
Be aware that some endpoints, such as Product Dependencies, Provisioning Details, and Pricing, return dynamic data that changes periodically. It is recommended to fetch this data each time you need it rather than storing it.
Language Support & Localization
Currently, all Pax8 API responses return product information and metadata in English only. The API does not support Accept-Language headers or locale query parameters for returning translated content.
Recommended Workflow for Localization:
If you require product information in other languages (e.g., French, German, Spanish), we recommend the following pattern:
- Subscribe to Events: Use our event-driven model to subscribe to catalog update events. This ensures you only process data when it actually changes.
- Translate Dynamically: When an update event occurs, fetch the new data and pass the relevant fields through an external translation service (such as Google Cloud Translation, Microsoft Translator, or DeepL).
- Cache Locally: Store the translated results in your local database to reduce latency and cost.
Pagination
All Pax8 API endpoints that return lists support pagination, allowing you to retrieve results in smaller, manageable sections. Refer to the specific endpoint documentation for field names and conventions.
Counting Nuances:
- Page numbers start at
0. - Totals like
size,totalElements, andtotalPagesstart at1.
Note: Continue incrementing the page value up to totalPages – 1 to retrieve all results.
For example, to retrieve the first 10 orders:
curl https://sample.pax8.com/order?limit=10&page=0You can expect a response similar to:
{
"content": [ { ... }, ... ],
"page": {
"size": 10,
"totalElements": 100,
"totalPages": 10,
"number": 0
}
}API Rate Limits
To ensure fair usage and maintain stability, Pax8 APIs are subject to rate limiting. The current limit is 1000 successful calls per minute. Exceeding this will result in an HTTP 429 error until the rate limit window resets. To request a rate limit increase, please email [email protected].
API Status
You can monitor the real-time status of the Pax8 Partner API and subscribe for updates at status.pax8.com. The relevant component will be labeled as "Partner API".
Updated 12 days ago
