Skip to main content
PUT
/
v1
/
admin
/
integrations
/
{id}
cURL
curl --request PUT \
  --url https://api.botpress.cloud/v1/admin/integrations/{id} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'x-workspace-id: <x-workspace-id>' \
  --data '{
  "configuration": {
    "title": "<string>",
    "description": "<string>",
    "schema": {},
    "identifier": {
      "linkTemplateScript": "<string>",
      "required": true
    }
  },
  "configurations": {},
  "extraOperations": {},
  "channels": {},
  "maxExecutionTime": 123,
  "identifier": {
    "extractScript": "<string>",
    "fallbackHandlerScript": "<string>"
  },
  "actions": {},
  "events": {},
  "states": {},
  "user": {
    "creation": {
      "enabled": true,
      "requiredTags": [
        "<string>"
      ]
    },
    "tags": {}
  },
  "entities": {},
  "interfaces": {},
  "attributes": {},
  "secrets": {},
  "code": "<string>",
  "icon": "<string>",
  "readme": "<string>",
  "title": "<string>",
  "description": "<string>",
  "url": "<string>",
  "public": true,
  "visibility": "public",
  "layers": [
    "<string>"
  ]
}'
{
  "integration": {
    "id": "<string>",
    "createdAt": "2023-11-07T05:31:56Z",
    "updatedAt": "2023-11-07T05:31:56Z",
    "identifier": {
      "fallbackHandlerScript": "<string>",
      "extractScript": "<string>"
    },
    "sandbox": {
      "identifierExtractScript": "<string>",
      "messageExtractScript": "<string>"
    },
    "maxExecutionTime": 123,
    "url": "<string>",
    "name": "<string>",
    "version": "<string>",
    "interfaces": {},
    "configuration": {
      "title": "<string>",
      "description": "<string>",
      "identifier": {
        "linkTemplateScript": "<string>",
        "required": true
      },
      "schema": {}
    },
    "configurations": {},
    "channels": {},
    "states": {},
    "events": {},
    "actions": {},
    "user": {
      "tags": {},
      "creation": {
        "enabled": true,
        "requiredTags": [
          "<string>"
        ]
      }
    },
    "entities": {},
    "attributes": {},
    "dev": true,
    "title": "<string>",
    "description": "<string>",
    "iconUrl": "<string>",
    "readmeUrl": "<string>",
    "public": true,
    "visibility": "public",
    "verificationStatus": "unapproved",
    "secrets": [
      "<string>"
    ]
  }
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

x-workspace-id
string
required

Workspace ID

x-multiple-integrations
string

Whether the client supports bots with multiple instances of the same integration. Set to "true" to receive integration instances keyed by their alias instead of their id. This header will be removed in the future, and the API will always return multiple instances keyed by alias.

Path Parameters

id
string
required

Integration Version ID

Body

application/json

Integration

configuration
object

Default configuration definition of the integration

configurations
object

Additional configuration definitions of the integration

extraOperations
object

EXPERIMENTAL Extra integration operations that should be sent or not to the integration instances. The key is the operation name.

channels
object
maxExecutionTime
integer

Maximum execution time of the integration (in seconds).

identifier
object
actions
object
events
object
states
object
user
object
entities
object
interfaces
object
attributes
object

Optional attributes. Set attributes to null to remove them

secrets
object

Secrets are integration-wide values available in the code via environment variables formatted with a SECRET_ prefix followed by your secret name. A secret name must respect SCREAMING_SNAKE casing.

code
string

JavaScript code of the integration

icon
string

Base64 encoded svg of the integration icon. This icon is global to the integration each versions will be updated when this changes.

readme
string

Base64 encoded markdown of the integration readme. The readme is specific to each integration versions.

title
string

Title of the integration. This is the name that will be displayed in the UI

Required string length: 1 - 64
description
string

Description of the integration. This is the description that will be displayed in the UI

Maximum length: 256
url
string | null

URL of the integration

public
boolean
deprecated

[DEPRECATED] Indicates whether the integration is public. Please use the "visibility" parameter instead.

visibility
enum<string>

The integration's visibility. Public integrations are available to all and cannot be updated without creating a new version. Unlisted integrations behave identically to public integrations, but they are not listed in the integration hub. By default, integrations are private and only accessible to the workspace that created them.

Available options:
public,
private,
unlisted
layers
string[]

Response

Success

integration
object
required