Postman
Postman is a platform for building and using APIs. ActiveCampaign provides Postman collections for various APIs to enable quicker and easier development. The eComm GraphQL API Postman collection can be accessed using the following link:
Authentication
The eComm GraphQL API follows the same method as the existing v3 REST API using an API Key with an Api-Token
HTTP header.
Root endpoint
The eComm GraphQL API has the same base URL as the existing v3 REST API but uses /ecom/graphql
as the path to specify the API. Base URLs will vary, but the overall URL structure will look like:
https://<your-account>.api-us1.com/api/3/ecom/graphql
All calls should be made over HTTPS and the URL will remain the same for any operation.
Rate Limits
The eComm GraphQL API follows the same rate limit restriction as the existing v3 REST API of 5 requests per second per account.
Introspection
GraphQL supports introspection which mean you can query the API schema for documentation about itself. There are various queries you can run to return specific details of the API.
- The following query will return all types defined in the schema along with details of each:
query {
__schema {
types {
name
kind
description
fields {
name
}
}
}
}
- The following query will return the details of any specific type:
query {
__type(name: "Order") {
name
kind
description
fields {
name
}
}
}
- The following query will fully introspect the API:
query IntrospectionQuery {
schema {
queryType { name }
mutationType { name }
subscriptionType { name }
types {
...FullType
}
directives {
name
description
locations
args {
...InputValue
}
}
}
}
fragment FullType on Type {
kind
name
description
fields(includeDeprecated: true) {
name
description
args {
...InputValue
}
type {
...TypeRef
}
isDeprecated
deprecationReason
}
inputFields {
...InputValue
}
interfaces {
...TypeRef
}
enumValues(includeDeprecated: true) {
name
description
isDeprecated
deprecationReason
}
possibleTypes {
...TypeRef
}
}
fragment InputValue on InputValue {
name
description
type { ...TypeRef }
defaultValue
}
fragment TypeRef on Type {
kind
name
ofType {
kind
name
ofType {
kind
name
ofType {
kind
name
ofType {
kind
name
ofType {
kind
name
ofType {
kind
name
ofType {
kind
name
}
}
}
}
}
}
}
}