Skip to content

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.

Postman’s “Send and Download” button

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:

KEYDESCRIPTION
status”provisioning complete” or “provisioning in progress”
liveBundleShows the name of the bundle that is currently live/promoted
createdThe date the integration was created formatted as "2023-06-30T19:44:02.02Z"
updatedThe 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.