Pandium API
Last updated
Was this helpful?
Last updated
Was this helpful?
Welcome to the Pandium API! Our API enables your team flexibility in managing your integrations hosted on Pandium. The Pandium API uses standard REST conventions and standard HTTP methods and response codes for a simple and intuitive workflow.
With the Pandium API, native Pandium resources (integrations, tenants, and runs) are accessible via a generated API key, and allow for triggering runs externally - no login to the Pandium Integration Hub needed. As we expand the Pandium API, check back for additional functionality, or stay up to date on our product updates page.
Below you'll find the base URLs used when working with the Pandium API:
For using the Pandium API with a Production Pandium account: http://api.pandium.io/
For using the Pandium API with a Sandbox Pandium account: http://api.sandbox.pandium.com/
To generate an API Key, navigate to the 'Settings' sidebar resource in the Pandium Integration Hub, then head over to the "API Access" tab. Here, you can give your key a name and generate it.
API Keys are only viewable at creation, so store and keep your key(s) secure.
To use the generated key, attach it to your request under an x-api-key
header, like so:
In Pandium, the integration object can be thought of as the primary record for any application on the platform. This record holds the necessary components to run syncs between systems, and the content that a given application utilizes for marketplace views.
Integration IDs can be found in the Integration Hub on the Integration Detail page.
In Pandium, a tenant is a single instance of an integration, associated with a single set of user credentials for each connected system.
Whenever a user installs an integration, a tenant is created within Pandium and is automatically given a tenant ID, which is viewable in the Integration Hub directly on the Tenant Detail page.
An endpoint that allows a user to make a call to an external API (REST, SOAP, or XML) on behalf of a tenant.
A run is a specific record of a sync: a single execution of integration code using the credentials provided by a tenant of that integration, at a specific point in time. The runs endpoints are by nature read-only.
More run information can be seen by viewing the logging information from within the Integration Hub.
Get all your integrations on Pandium.
/v2/integrations
format is {field}__ASC or {field}__DESC
default is 100, max is 500
paging support: this is the number of records to skip. Normally you want page_number*limit. default is 0
set this to true to fetch archived integrations
Get a single release for a specific integration.
/v2/integrations/{integration_id}/releases/{release_id}
Unique identifier for an integration
Unique identifier for a release
Get the default release for an integration
/v2/integrations/{integration_id}/releases/default
Unique identifier for an integration
Request a sync for an existing tenant based on an integration ID and a user name. For this to work, the user must have installed the integration via the Pandium In-App Marketplace, which creates a tenant associated with that user's username. To sync a tenant created in the Pandium Integration Hub, use the sync by tenant id endpoint.
/v2/integrations/{integration_id}/sync
Unique identifier for an integration
must be one of 'init' or 'normal'
init
, normal
must correspond to the user id sent from your system to the Pandium In-App Marketplace when the user installed this integration
fields determined by the integration
Get all your tenants on Pandium.
/v2/tenants
format is {field}__ASC or {field}__DESC
default is 100, max is 500
paging support: this is the number of records to skip. Normally you want page_number*limit. default is 0
filter tenants by integration
must correspond to a user id connected to at least one of the connected systems for a tenant
set this to true to fetch archived integrations
Request a sync when the tenant id is known.
/v2/tenants/{tenant_id}/sync
Unique identifier for a tenant
must be one of 'init' or 'normal'
init
, normal
fields determined by the integration
Update a tenant's name, configs, user_schedule, or paused status. Configs are validated against the tenant's current integration release and any dynamic configs. User_schedule is randomized to create the tenant's schedule.
/v2/tenants/{tenant_id}
Unique identifier for a tenant
must be a valid cron string
Lowercase alphanumeric string; '-' is allowed but not at the start or end of the string
Get the tenant's current integration release. Available dynamic configs will be populated.
/v2/tenants/{tenant_id}/release
unique identifier for a tenant
Create a new, unconnected tenant. The tenant will be paused. If no schedule or release is provided, integration defaults will apply.
/v2/tenants
Lowercase alphanumeric string; '-' is allowed but not at the start or end of the string
Must be a valid cron string
You may pass in an integration release id OR a channel
You may pass in an integration release id OR a channel
Will be validated against the tenant's integration release
Proxy a synchronous connector call.
/v2/tenants/{tenant_id}/connectors/{connector_name}/call
Unique identifier for a tenant
Name of the tenant's authenticated connector
HTTP Method
Endpoint for the proxied request
Query params needed for the proxied request
Body of the proxied request
Headers needed for the proxied request
Proxy a synchronous connector call to a SOAP endpoint.
/v2/tenants/{tenant_id}/connectors/{connector_name}/soap
Unique identifier for a tenant
Name of the tenant's authenticated connector
HTTP Method
Endpoint for the proxied request
Query params needed for the proxied request
XML data for the proxied request. Authentication will be handled by Pandium and doesn't need to be included in the request.
Headers needed for the proxied request
Proxy a synchronous connector call to an XML endpoint.
/v2/tenants/{tenant_id}/connectors/{connector_name}/xml
Unique identifier for a tenant
Name of the tenant's authenticated connector
HTTP Method
Endpoint for the proxied request
Query params needed for the proxied request
XML data for the proxied request. Authentication will be handled by Pandium and doesn't need to be included in the request.
Headers needed for the proxied request
Returns status information for a run associated with the provided trigger id, if that run exists. Triggers are are debounced, so run status information may not be immediately available. If no status information is yet available, this endpoint will return a 404.
/v2/runs/triggers/{trigger_id}/status
Returned from Pandium after a sync request in the response payload