Create and Manage Integrations
This document walks you through the workflow for creating and managing integrations. IFX integrations can be managed using the API or the Arc XP CLI.
CLI Guide
IFX offers a CLI for you to manage integrations all in one place. Navigate to the IFX CLI page for instructions on getting started.
API Guide
Create an Integration
You will need to create your integration for each environment.
POST /admin/integration/
The payload:
{ "integrationName": "{integrationName}", "description": "{description}", "email": "{email}"}
Download Starter Package
Once you create an integration, a starter package is created for you, deployed, and available to download.
To get the name of your new bundle, start by listing the bundles for your integration:
/ifx/api/v1/admin/integration
Using the -o option in a cURL allows you to specify where to download the resource and what to name it and the -L to follow redirects.
curl -L -o myIntegration.zip \'https://api.{:org}.arcpublishing.com/ifx/api/v1/admin/bundles/:integrationName/download/:bundleName' \--header 'Authorization: Bearer [token]'
You can also use Postman’s “Send and Download” option when sending the request.
Add Starter Code to Repo
Unzip the zip file and then initialize a git repository inside of it to track your changes.
Update an Integration
PUT /admin/integration/{integrationName}
With this endpoint, you can update the alarm email, the description, and enable or disable an integration.
List Integrations
GET /admin/integration
This endpoint will list all of your integrations and their details:
KEY | DESCRIPTION |
---|---|
status | ”provisioning complete” or “provisioning in progress” |
liveBundle | Shows the name of the bundle that is currently live/promoted |
created | The date the integration was created formatted as "2023-06-30T19:44:02.02Z" |
updated | The date the integration was updated formatted as "2023-06-30T19:44:02.02Z" |
Get an Integration’s Details
GET /admin/integration/{integrationName}
This endpoint gets you the data about a single integration. Example return payload:
{ "runtime": "node", "description": "{description}", "integrationName": "{intName}", "enabled": true, "created": "2023-06-30T19:44:02.02Z", "email": "{email}", "liveBundle": "{bundleName}", "status": "create complete" or "provisioning in progress"}
Help us improve our documentation! Let us know if you do not find what you are looking for by posting suggestions to Our Ideas Portal.