API Usage
ChannelApe provides a wide range of APIs that allow for platform extension and integration with other systems and platforms.
Available APIs
We have a V1 and V2 API which behave slightly different. Please read below for details.
REST API V1
Our initial API which is being deprecated by our REST API V2 and GraphQL API. There are a few endpoints that only exist on the V1 REST API awaiting migration to the new API. You can find the API Reference here.
Authentication
The API works with a valid API Account Private Key or JWT passed as a header. Either option is valid to interface with the API.
API Account Private Key Header
A valid API Account Private Key associated with the businesses you are acting on. Pass this value to the X-Channel-Ape-Authorization-Token
header with every request.
To generate a new API Account Private Key login to the ChannelApe App and create an API Account for your business from the Business Settings page.
curl 'https://api.channelape.com/v1/orders/1b11843b-98d9-49c5-bc72-ea63b4118a40' \
-H "X-Channel-Ape-Authorization-Token: YOUR_KEY" \
JWT Header
A valid JWT associated with your username. Pass this value to the X-Channel-Ape-Jwt
header with every request.
curl 'https://api.channelape.com/v1/orders/1b11843b-98d9-49c5-bc72-ea63b4118a40' \
-H "X-Channel-Ape-Jwt: YOUR_KEY" \
REST API V2 and GraphQL API
Our latest APIs which are accessible via REST or GraphQL. We are actively working on adding support for all endpoints within REST API V1. You can find the API reference for the REST API V2 here. and the API reference for the GraphQL API here.
Authentication
The API works through a mixture of JWT and Key auth.
If no Authorization header is included, the API will assume that you are making a request with an anonymous user.
If an Authorization header is included, the API will "switch" to the role of the user making the request. See the User Management section for more details.
ANON_KEY
- The public API key shared by all users. Required by all API calls.YOUR_KEY
- The JSON Web Token (JWT) associated with your username. Required to call any APIs specific to a business.
Example request:
curl 'https://api.channelape.io/rest/v1/webhook_actions' \
-H "apikey: ANON_KEY" \
-H "Authorization: Bearer YOUR_KEY"
JSON Web Tokens (JWTs)
JWTs expire after a certain amount of time and need to be refreshed before they expire. If you need require long term API Access and are unable to refresh your JWT regularly please email support@channelape.com.
Rate Limiting
API users are restricted to a rate limit. ChannelApe businesses have a default limit of 5 requests per second across all of the API Accounts of a business. When a request is rate limited, a 429 level status code will be returned. If you need an increased rate limit, please email support@channelape.com.