Introduction
The API surface consists of
commands: endpoints built on REST principles with JSON payloads, with an OpenAPI 2.0 compatible specification file. There are libraries for every major platform supporting code generation based on the specification. Commands can opt into the idempotency feature to facilitate the ability to perform safe retries of commands (e. g. ensuring a single logical exchange only gets created once, even when retried).
queries: endpoints conforming to the OASIS OData standard. There are libraries for every major platform supporting the standard.
webhook callbacks: notifications being published when certain events occur in the system. This enables near real time integration with freemarket, and - as opposed to periodic polling - is the recommended method of integration.
Environments
There are 2 API environments accessible to customers: sandbox and production. Every environment is split into 3 logical hosts/subsystems:
- Authentication endpoints
- V1 API endpoints (please note that the endpoint base path for V1 APIs is not root (/) but /api)
- V2 API endpoints
The endpoint paths are the same across both environments, only the host name changes.
Sandbox
- Authentication host: identity-sandbox.wearefreemarket.com
- V1 API host: sandbox.wearefreemarket.com
- V2 API host: api-sandbox.wearefreemarket.com
Production
- Authentication host: identity.wearefreemarket.com
- V1 API host: portal.wearefreemarket.com
- V2 API host: api.wearefreemarket.com
Document conventions
- curly braces are used throughout the documentation to denote placeholders for variables, e. g.
{accountId}
,{clientId}
. The integrating party needs to replace these with values specific to the context.