For the complete documentation index, see llms.txt. This page is also available as Markdown.

APIM

APIM management endpoints for publishing integrator.io APIs, exports, and imports to the APIM platform, retrieving console redirect URLs, and configuring APIM account settings.

Most routes require the apim:operations permission and an enabled APIM license. Setup, validate, HRID validate, and resume routes are production-environment only.

APIM schema

Get APIM console redirect URL

get
/v1/apim/redirect

Returns a signed URL that opens the APIM console home page for the account.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Responses
200

Redirect URL.

application/json

Signed redirect URL for the APIM console.

urlstringRequired

Fully qualified URL to open in the APIM console.

Example: https://subdomain.console.apim.integrator.io/#!/production/home/overview
get/v1/apim/redirect
GET /v1/apim/redirect HTTP/1.1
Host: api.integrator.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "url": "https://subdomain.apim.integrator.io/management/auth/external?token=eyJhbGciOiJSUzI1NiJ9..."
}

Get APIM analytics redirect URL

get
/v1/apim/redirect/analytics

Returns a signed URL that opens the APIM analytics dashboard for the account. Optionally scope the dashboard to a time range with from and to.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
fromnumberOptional

Start timestamp in milliseconds for the analytics window.

Example: 1763023108167
tonumberOptional

End timestamp in milliseconds for the analytics window.

Example: 1763023408167
Responses
200

Redirect URL.

application/json

Signed redirect URL for the APIM console.

urlstringRequired

Fully qualified URL to open in the APIM console.

Example: https://subdomain.console.apim.integrator.io/#!/production/home/overview
get/v1/apim/redirect/analytics
GET /v1/apim/redirect/analytics HTTP/1.1
Host: api.integrator.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "url": "https://subdomain.console.apim.integrator.io/#!/production/analytics/dashboard?from=1763023108167&to=1763023408167"
}

Get APIM resource view URL

get
/v1/apim/{apiId}/{modelPlural}/{_id}/view

Returns a signed URL that opens a published resource in the APIM console.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
apiIdstringRequired

APIM API identifier.

Example: 123e4567-e89b-12d3-a456-426614174000
modelPluralstring · enumRequired

Integrator.io resource collection name.

Example: exportsPossible values:
_idstring · objectIdRequired

Integrator.io resource identifier.

Example: 6756aceea7929d3f29126e6e
Responses
200

Redirect URL.

application/json

Signed redirect URL for the APIM console.

urlstringRequired

Fully qualified URL to open in the APIM console.

Example: https://subdomain.console.apim.integrator.io/#!/production/home/overview
get/v1/apim/{apiId}/{modelPlural}/{_id}/view
GET /v1/apim/{apiId}/{modelPlural}/{_id}/view HTTP/1.1
Host: api.integrator.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "url": "https://subdomain.console.apim.integrator.io/#!/production/apis/6a6201f6-9142-4137-a201-f69142f137f8"
}

List APIM APIs

get
/v1/apim/apis

Returns APIs published in the APIM platform for the account. Results are paginated with page and perPage.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
pageintegerOptional

Page number for APIM API search results.

Default: 1Example: 1
perPageintegerOptional

Number of APIs to return per page.

Default: 10Example: 10
Responses
200

Paginated APIM API list.

application/json

Paginated list of APIs published in the APIM platform.

get/v1/apim/apis
GET /v1/apim/apis HTTP/1.1
Host: api.integrator.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "apis": {
    "data": [
      {
        "id": "6a6201f6-9142-4137-a201-f69142f137f8",
        "name": "my-export",
        "description": "Customer data export API",
        "apiVersion": "1.0.0",
        "definitionVersion": "V4",
        "state": "STARTED",
        "deploymentState": "DEPLOYED",
        "visibility": "PUBLIC",
        "lifecycleState": "PUBLISHED",
        "createdAt": "2026-04-24T16:52:05.607Z",
        "updatedAt": "2026-05-07T15:22:16.985Z"
      }
    ],
    "pagination": {
      "page": 1,
      "perPage": 10,
      "pageCount": 1,
      "pageItemsCount": 1,
      "totalCount": 1
    },
    "links": {
      "self": "https://subdomain.apim.integrator.io/apis/_search?page=1&perPage=10"
    }
  }
}

Publish resource to new APIM API

post
/v1/apim/{modelPlural}/{_id}/manageAPI

Publishes an integrator.io resource to APIM as a new API.

Requires apim:operations permission and an enabled APIM license. Custom webhooks (non-integrator-extension) are rejected with 400. Upstream API management errors may be returned with the upstream HTTP status.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
modelPluralstring · enumRequired

Integrator.io resource collection name.

Example: exportsPossible values:
_idstring · objectIdRequired

Integrator.io resource identifier.

Example: 6756aceea7929d3f29126e6e
Body

Payload for publishing an integrator.io resource to APIM as a new API.

contextPathstringRequired

Context path for the new APIM API (without leading slash).

Example: my-export
flowNamestringRequired

Flow name to associate with the published API.

Example: my-flow
methodstringOptional

HTTP method exposed by the published API endpoint. Defaults to POST.

Example: POST
definitionVersionstring · enumOptional

API definition version; omit for legacy v2 behavior.

Example: v4Possible values:
Responses
200

Published APIM API.

application/json

API object returned after publishing a resource to APIM.

idstringOptional

APIM API identifier.

Example: 123e4567-e89b-12d3-a456-426614174000
environmentIdstringOptional

APIM environment identifier.

Example: 123e4567-e89b-12d3-a456-426614174001
namestringOptional

API display name in APIM.

Example: my-export
versionstringOptional

API version string.

Example: 1.0.0
descriptionstringOptional

API description in APIM.

context_pathstringOptional

Published context path.

Example: /my-export
statestringOptional

Runtime state of the API in APIM.

Example: STARTED
visibilitystringOptional

API visibility in APIM.

Example: PUBLIC
Other propertiesanyOptional
post/v1/apim/{modelPlural}/{_id}/manageAPI
POST /v1/apim/{modelPlural}/{_id}/manageAPI HTTP/1.1
Host: api.integrator.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 89

{
  "contextPath": "my-export",
  "flowName": "my-flow",
  "method": "POST",
  "definitionVersion": "v4"
}
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "environmentId": "123e4567-e89b-12d3-a456-426614174001",
  "name": "my-export",
  "version": "1.0.0",
  "context_path": "/my-export",
  "state": "STARTED",
  "visibility": "PUBLIC"
}

Publish resource to existing APIM API

put
/v1/apim/{modelPlural}/{_id}/manageAPI

Publishes an integrator.io resource to an existing APIM API.

Requires apim:operations permission and an enabled APIM license. Upstream API management errors may be returned with the upstream HTTP status.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
modelPluralstring · enumRequired

Integrator.io resource collection name.

Example: exportsPossible values:
_idstring · objectIdRequired

Integrator.io resource identifier.

Example: 6756aceea7929d3f29126e6e
Body

Payload for publishing an integrator.io resource to an existing APIM API.

apiIdstringRequired

APIM API identifier to publish the resource into.

Example: 123e4567-e89b-12d3-a456-426614174000
flowNamestringRequired

Flow name to associate with the published API.

Example: my-flow
methodstringOptional

HTTP method exposed by the published API endpoint.

Example: POST
Responses
200

Updated APIM API.

application/json

API object returned after publishing a resource to APIM.

idstringOptional

APIM API identifier.

Example: 123e4567-e89b-12d3-a456-426614174000
environmentIdstringOptional

APIM environment identifier.

Example: 123e4567-e89b-12d3-a456-426614174001
namestringOptional

API display name in APIM.

Example: my-export
versionstringOptional

API version string.

Example: 1.0.0
descriptionstringOptional

API description in APIM.

context_pathstringOptional

Published context path.

Example: /my-export
statestringOptional

Runtime state of the API in APIM.

Example: STARTED
visibilitystringOptional

API visibility in APIM.

Example: PUBLIC
Other propertiesanyOptional
put/v1/apim/{modelPlural}/{_id}/manageAPI
PUT /v1/apim/{modelPlural}/{_id}/manageAPI HTTP/1.1
Host: api.integrator.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 85

{
  "apiId": "123e4567-e89b-12d3-a456-426614174000",
  "flowName": "my-flow",
  "method": "POST"
}
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "environmentId": "123e4567-e89b-12d3-a456-426614174001",
  "name": "my-export",
  "version": "1.0.0",
  "context_path": "/my-export",
  "state": "STARTED",
  "visibility": "PUBLIC"
}

Publish OpenAPI spec to APIM API

post
/v1/apim/{apiId}/{modelPlural}/{_id}/openAPIspec

Publishes an OpenAPI specification to an existing APIM API.

When a signed URL is not required for the resource type, the server generates the OpenAPI document from the resource. The resource must already be published to the given apiId (400 if not).

Upstream API management errors may be returned with the upstream HTTP status.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
apiIdstringRequired

APIM API identifier.

Example: 123e4567-e89b-12d3-a456-426614174000
modelPluralstring · enumRequired

Integrator.io resource collection name.

Example: exportsPossible values:
_idstring · objectIdRequired

Integrator.io resource identifier.

Example: 6756aceea7929d3f29126e6e
Body

Payload for publishing an OpenAPI specification to an APIM API.

signedUrlstringOptional

Signed S3 URL containing the OpenAPI specification to publish.

Example: https://s3.amazonaws.com/bucket/spec.yml?signature=...
Responses
200

Published OpenAPI document.

application/json

APIM document record created after publishing an OpenAPI specification.

idstringOptional

APIM document identifier.

Example: 123e4567-e89b-12d3-a456-426614174000
namestringOptional

Document name in APIM.

Example: openapi-spec
typestringOptional

Document type in APIM.

Example: SWAGGER
contentstringOptional

OpenAPI specification content uploaded to APIM.

Other propertiesanyOptional
post/v1/apim/{apiId}/{modelPlural}/{_id}/openAPIspec
POST /v1/apim/{apiId}/{modelPlural}/{_id}/openAPIspec HTTP/1.1
Host: api.integrator.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 70

{
  "signedUrl": "https://s3.amazonaws.com/bucket/spec.yml?signature=..."
}
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "name": "openapi-spec",
  "type": "SWAGGER"
}

Set up APIM account

post
/v1/apim/setup

Provisions APIM for the account with a subdomain and service account email. Processing is asynchronous and returns 202 Accepted with an empty body.

Production environment only. Requires apim:operations permission.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body

Initial APIM account setup payload.

subdomainstringRequired

Requested APIM subdomain for the account.

Example: production-subdomain
serviceAccountEmailstring · emailRequired

Service account email for APIM management operations.

Example: apim-service@example.com
Responses
202

Request accepted for asynchronous processing. Response has no body.

No content

post/v1/apim/setup
POST /v1/apim/setup HTTP/1.1
Host: api.integrator.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 85

{
  "subdomain": "production-subdomain",
  "serviceAccountEmail": "apim-service@example.com"
}

No content

Update APIM account settings

put
/v1/apim/setup

Updates the service account email for an existing APIM account configuration.

Production environment only. Requires apim:operations permission.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body

Update payload for an existing APIM account configuration.

serviceAccountEmailstring · emailRequired

Updated service account email for APIM management operations.

Example: apim-service@example.com
Responses
200

Updated service account email.

application/json

Response after updating APIM service account email.

serviceAccountEmailstring · emailRequired

Updated service account email for APIM management operations.

Example: apim-service@example.com
put/v1/apim/setup
PUT /v1/apim/setup HTTP/1.1
Host: api.integrator.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 50

{
  "serviceAccountEmail": "apim-service@example.com"
}
{
  "serviceAccountEmail": "apim-service@example.com"
}

Validate APIM subdomain

put
/v1/apim/validate

Checks whether a subdomain is available for APIM account setup.

Production environment only.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
subdomainstringRequired

Subdomain to validate.

Example: production-subdomain
Responses
200

Subdomain is available.

application/json

Result of an APIM subdomain or environment HRID availability check.

validbooleanRequired

When true, the submitted value is available for use.

put/v1/apim/validate
PUT /v1/apim/validate HTTP/1.1
Host: api.integrator.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 36

{
  "subdomain": "production-subdomain"
}
{
  "valid": true
}

Validate APIM environment HRID

put
/v1/apim/hrid/validate

Checks whether an environment HRID is available for APIM configuration.

Production environment only.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
environmentHRIDstringRequired

Environment HRID to validate.

Example: production
Responses
200

Environment HRID is available.

application/json

Result of an APIM subdomain or environment HRID availability check.

validbooleanRequired

When true, the submitted value is available for use.

put/v1/apim/hrid/validate
PUT /v1/apim/hrid/validate HTTP/1.1
Host: api.integrator.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 32

{
  "environmentHRID": "production"
}
{
  "valid": true
}

Get APIM settings

get
/v1/apim/settings

Returns the APIM subdomain and service account email configured for the account.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Responses
200

APIM settings.

application/json

APIM account configuration for the current user.

subdomainstringOptional

APIM subdomain assigned to the account.

Example: production-subdomain
serviceAccountEmailstring · emailOptional

Service account email used for APIM management operations.

Example: apim-service@example.com
get/v1/apim/settings
GET /v1/apim/settings HTTP/1.1
Host: api.integrator.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "subdomain": "production-subdomain",
  "serviceAccountEmail": "apim-service@example.com"
}

Resume APIM

put
/v1/resumeAPIM

Resumes APIM for the account after it has been paused or suspended.

Production environment only. Requires manage:license permission (not apim:operations). Returns 204 even when APIM is not yet provisioned (no orgId on the user).

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Responses
204

APIM resumed successfully, or APIM was not provisioned.

No content

put/v1/resumeAPIM
PUT /v1/resumeAPIM HTTP/1.1
Host: api.integrator.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

Last updated

Was this helpful?