Overall API Concepts
The APIs are split into 3 different categories based on the area of the business they interact with: DemandHQ, Supplier, and Shared (both).
Domains
The APIs, and generally concepts, are split into areas of context (domains):
- Admin Identity: This API is not specific to Supply or Demand, and instead provide cross cutting functionality, having to do with "who am I".
- Supply: In general, these APIs are used to interact with Suppliers, and can be used to manage inventory or purchase orders.
- Demand: This includes a Demand HQ Admin API, as well as a Storefront API. These APIs can be used to interact with Demand HQ's. This is either directly, in the case of the Admin API, or to populate a storefront, in the case of the Storefront and Search APIs.
Each API is further split into domain groups, and details on these can be found in the API documentation.
Apps
Apps can be created for, and installed on, both Suppliers and DemandHQs. Inside the DemandHQ domain, you can create either Admin or Storefront apps. Apps will be specific to one of these three, however, and cannot cross the boundary to have more than one purpose.
IDs
IDs are prefixed with a 5-character type, split by a dash, and then have a date created at, sortable, random ID appended to it. i.e. prdct-adthcnhT234podvntae%g
. All IDs are globally unique to the platform.
Two IDs are UUIDs due to case insensitivity, and these are User IDs (UserNames) and App Client IDs.
GraphQL
All APIs (with a few exceptions) for the platform are based on GraphQL.
GraphQL Developer Tools
GraphQL related developer tools are a very common way to discover API functionality, and we support any of them that use the GraphQL introspection query. This includes:
Note that you must authenticate in order to use these tools, however. A token can be obtained in the Identity Portal Developer Settings.
Reference documentation is also generated directly here for easy reference.