Losant Integrations API
The Integrations API from Losant — 2 operation(s) for integrations.
The Integrations API from Losant — 2 operation(s) for integrations.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/losant:losant-integrations-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Platform Integrations API
version: 1.31.0
description: User API for accessing platform data
servers:
- url: https://api.losant.com
security:
- bearerAuth: []
tags:
- name: Integrations
paths:
/applications/{applicationId}/integrations:
get:
operationId: integrations.get
summary: Returns the integrations for an application
tags:
- Integrations
parameters:
- name: applicationId
in: path
required: true
description: ID associated with the application
schema:
type: string
pattern: ^[A-Fa-f\d]{24}$
example: 575ec8687ae143cd83dc4a97
- name: sortField
in: query
required: false
description: Field to sort the results by
schema:
type: string
enum:
- name
- id
- creationDate
- integrationType
- lastUpdated
default: name
example: name
- name: sortDirection
in: query
required: false
description: Direction to sort the results by
schema:
type: string
enum:
- asc
- desc
default: asc
example: asc
- name: page
in: query
required: false
description: Which page of results to return
schema:
type: string
default: 0
example: 0
- name: perPage
in: query
required: false
description: How many items to return per page
schema:
type: string
default: 100
example: 10
- name: filterField
in: query
required: false
description: Field to filter the results by. Blank or not provided means no filtering.
schema:
type: string
enum:
- name
- integrationType
example: integrationType
- name: filter
in: query
required: false
description: Filter to apply against the filtered field. Supports globbing. Blank or not provided means no filtering.
schema:
type: string
example: my*integration
responses:
'200':
description: Collection of integrations
content:
application/json:
schema:
$ref: '#/components/schemas/integrations'
'400':
description: Error if malformed request
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'404':
description: Error if application was not found
content:
application/json:
schema:
$ref: '#/components/schemas/error'
x-losant-auth-scopes:
- integrations.get
post:
operationId: integrations.post
summary: Create a new integration for an application
tags:
- Integrations
parameters:
- name: applicationId
in: path
required: true
description: ID associated with the application
schema:
type: string
pattern: ^[A-Fa-f\d]{24}$
example: 575ec8687ae143cd83dc4a97
responses:
'201':
description: Successfully created integration
content:
application/json:
schema:
$ref: '#/components/schemas/integration'
'400':
description: Error if malformed request
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'404':
description: Error if application was not found
content:
application/json:
schema:
$ref: '#/components/schemas/error'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/integrationPost'
description: New integration information
x-losant-auth-scopes:
- integrations.post
/applications/{applicationId}/integrations/{integrationId}:
get:
operationId: integration.get
summary: Retrieves information on an integration
tags:
- Integrations
parameters:
- name: applicationId
in: path
required: true
description: ID associated with the application
schema:
type: string
pattern: ^[A-Fa-f\d]{24}$
example: 575ec8687ae143cd83dc4a97
- name: integrationId
in: path
required: true
description: ID associated with the integration
schema:
type: string
pattern: ^[A-Fa-f\d]{24}$
example: 575ed78e7ae143cd83dc4aab
responses:
'200':
description: integration information
content:
application/json:
schema:
$ref: '#/components/schemas/integration'
'400':
description: Error if malformed request
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'404':
description: Error if integration was not found
content:
application/json:
schema:
$ref: '#/components/schemas/error'
x-losant-auth-scopes:
- integration.get
patch:
operationId: integration.patch
summary: Updates information about an integration
tags:
- Integrations
parameters:
- name: applicationId
in: path
required: true
description: ID associated with the application
schema:
type: string
pattern: ^[A-Fa-f\d]{24}$
example: 575ec8687ae143cd83dc4a97
- name: integrationId
in: path
required: true
description: ID associated with the integration
schema:
type: string
pattern: ^[A-Fa-f\d]{24}$
example: 575ed78e7ae143cd83dc4aab
responses:
'200':
description: Updated integration information
content:
application/json:
schema:
$ref: '#/components/schemas/integration'
'400':
description: Error if malformed request
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'404':
description: Error if integration was not found
content:
application/json:
schema:
$ref: '#/components/schemas/error'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/integrationPatch'
description: Object containing new properties of the integration
x-losant-auth-scopes:
- integration.patch
delete:
operationId: integration.delete
summary: Deletes an integration
tags:
- Integrations
parameters:
- name: applicationId
in: path
required: true
description: ID associated with the application
schema:
type: string
pattern: ^[A-Fa-f\d]{24}$
example: 575ec8687ae143cd83dc4a97
- name: integrationId
in: path
required: true
description: ID associated with the integration
schema:
type: string
pattern: ^[A-Fa-f\d]{24}$
example: 575ed78e7ae143cd83dc4aab
- name: includeWorkflows
in: query
required: false
description: If the workflows that utilize this integration should also be deleted.
schema:
type: string
example: true
responses:
'200':
description: If integration was successfully deleted
content:
application/json:
schema:
$ref: '#/components/schemas/success'
'400':
description: Error if malformed request
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'404':
description: Error if integration was not found
content:
application/json:
schema:
$ref: '#/components/schemas/error'
x-losant-auth-scopes:
- integration.delete
components:
schemas:
error:
title: Error
description: Schema for errors returned by the API
type: object
properties:
type:
type: string
message:
type: string
validationErrors:
type: array
items:
type: object
properties:
field:
type: string
validationMessage:
type: string
integration:
title: Integration
description: Schema for a single Integration
type: object
properties:
id:
type: string
pattern: ^[A-Fa-f\d]{24}$
integrationId:
type: string
pattern: ^[A-Fa-f\d]{24}$
applicationId:
type: string
pattern: ^[A-Fa-f\d]{24}$
creationDate:
type: string
format: date-time
lastUpdated:
type: string
format: date-time
name:
type: string
minLength: 1
maxLength: 255
credentialName:
type: string
minLength: 1
maxLength: 255
integrationType:
type: string
enum:
- azureEventHub
- googlePubSub
- mqtt
- particle
- sqs
- websocket
enabled:
type: boolean
topics:
type: array
items:
type: string
minLength: 1
maxLength: 1024
uniqueItems: true
azureEventHubConfig:
type: object
properties:
hubName:
type: string
maxLength: 256
minLength: 1
hostName:
type: string
maxLength: 256
minLength: 1
consumerGroup:
type: string
maxLength: 256
minLength: 1
connectionString:
type: string
minLength: 1
maxLength: 1024
additionalProperties: false
oneOf:
- required:
- hubName
- consumerGroup
- connectionString
- required:
- hubName
- consumerGroup
- hostName
googlePubSubConfig:
type: object
properties:
projectId:
type: string
maxLength: 255
minLength: 1
keyJson:
type: string
maxLength: 32767
minLength: 4
additionalProperties: false
mqttConfig:
type: object
properties:
clientId:
type: string
minLength: 1
maxLength: 1024
username:
type: string
minLength: 1
maxLength: 1024
password:
type: string
minLength: 1
maxLength: 1024
clean:
type: boolean
port:
type: number
minimum: 1
maximum: 65535
protocol:
type: string
enum:
- mqtt
- mqtts
- ws
- wss
host:
type: string
minLength: 1
maxLength: 1024
privateKey:
type: string
maxLength: 32767
minLength: 4
certificate:
type: string
maxLength: 32767
minLength: 4
caCertificate:
type: string
maxLength: 32767
minLength: 4
disableSSLVerification:
type: boolean
protocolVersion:
type: string
enum:
- 3.1.1
- '5'
additionalProperties: false
required:
- port
- protocol
- host
particleConfig:
type: object
properties:
accessToken:
type: string
minLength: 1
maxLength: 1024
productSlugOrId:
type: string
minLength: 1
maxLength: 1024
orgSlugOrId:
type: string
minLength: 1
maxLength: 1024
deviceNameOrId:
type: string
minLength: 1
maxLength: 1024
additionalProperties: false
required:
- accessToken
sqsConfig:
type: object
properties:
accessKeyId:
type: string
minLength: 4
maxLength: 128
secretAccessKey:
type: string
minLength: 4
maxLength: 128
region:
type: string
minLength: 4
maxLength: 128
queueUrl:
type: string
minLength: 1
maxLength: 256
additionalProperties: false
required:
- queueUrl
websocketConfig:
type: object
properties:
url:
type: string
minLength: 1
maxLength: 1024
disableSSLVerification:
type: boolean
username:
type: string
minLength: 1
maxLength: 1024
password:
type: string
minLength: 1
maxLength: 1024
privateKey:
type: string
maxLength: 32767
minLength: 4
certificate:
type: string
maxLength: 32767
minLength: 4
caCertificate:
type: string
maxLength: 32767
minLength: 4
headers:
type: array
maxItems: 50
items:
type: object
properties:
headerKey:
type: string
minLength: 1
maxLength: 1024
headerValue:
type: string
minLength: 1
maxLength: 1024
additionalProperties: false
required:
- headerKey
- headerValue
additionalProperties: false
required:
- url
status:
type: object
properties:
lastKeepAlive:
type: number
nextAttempt:
type: number
connectInfo:
type: object
properties:
ts:
type:
- number
- 'null'
disconnectInfo:
type: object
properties:
ts:
type:
- number
- 'null'
error:
type: string
integrations:
title: Integrations
description: Schema for a collection of Integrations
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/integration'
count:
type: integer
totalCount:
type: integer
perPage:
type: integer
page:
type: integer
filter:
type: string
filterField:
type: string
sortField:
type: string
sortDirection:
type: string
enum:
- asc
- desc
- ASC
- DESC
- ''
applicationId:
type: string
pattern: ^[A-Fa-f\d]{24}$
success:
title: Success
description: Schema for reporting a successful operation
type: object
properties:
success:
type: boolean
enum:
- true
integrationPatch:
title: Integration Patch
description: Schema for the body of an Integration modification request
type: object
properties:
name:
type: string
minLength: 1
maxLength: 255
enabled:
type: boolean
topics:
type: array
items:
type: string
minLength: 1
maxLength: 1024
uniqueItems: true
credentialName:
oneOf:
- type: string
minLength: 1
maxLength: 255
- type: 'null'
azureEventHubConfig:
type: object
properties:
hubName:
type: string
maxLength: 256
minLength: 1
hostName:
type: string
maxLength: 256
minLength: 1
consumerGroup:
type: string
maxLength: 256
minLength: 1
connectionString:
type: string
minLength: 1
maxLength: 1024
additionalProperties: false
oneOf:
- required:
- hubName
- consumerGroup
- connectionString
- required:
- hubName
- consumerGroup
- hostName
googlePubSubConfig:
type: object
properties:
projectId:
type: string
maxLength: 255
minLength: 1
keyJson:
type: string
maxLength: 32767
minLength: 4
additionalProperties: false
mqttConfig:
type: object
properties:
clientId:
type: string
minLength: 1
maxLength: 1024
username:
type: string
minLength: 1
maxLength: 1024
password:
type: string
minLength: 1
maxLength: 1024
clean:
type: boolean
port:
type: number
minimum: 1
maximum: 65535
protocol:
type: string
enum:
- mqtt
- mqtts
- ws
- wss
host:
type: string
minLength: 1
maxLength: 1024
privateKey:
type: string
maxLength: 32767
minLength: 4
certificate:
type: string
maxLength: 32767
minLength: 4
caCertificate:
type: string
maxLength: 32767
minLength: 4
disableSSLVerification:
type: boolean
protocolVersion:
type: string
enum:
- 3.1.1
- '5'
additionalProperties: false
required:
- port
- protocol
- host
particleConfig:
type: object
properties:
accessToken:
type: string
minLength: 1
maxLength: 1024
productSlugOrId:
type: string
minLength: 1
maxLength: 1024
orgSlugOrId:
type: string
minLength: 1
maxLength: 1024
deviceNameOrId:
type: string
minLength: 1
maxLength: 1024
additionalProperties: false
required:
- accessToken
sqsConfig:
type: object
properties:
accessKeyId:
type: string
minLength: 4
maxLength: 128
secretAccessKey:
type: string
minLength: 4
maxLength: 128
region:
type: string
minLength: 4
maxLength: 128
queueUrl:
type: string
minLength: 1
maxLength: 256
additionalProperties: false
required:
- queueUrl
websocketConfig:
type: object
properties:
url:
type: string
minLength: 1
maxLength: 1024
disableSSLVerification:
type: boolean
username:
type: string
minLength: 1
maxLength: 1024
password:
type: string
minLength: 1
maxLength: 1024
privateKey:
type: string
maxLength: 32767
minLength: 4
certificate:
type: string
maxLength: 32767
minLength: 4
caCertificate:
type: string
maxLength: 32767
minLength: 4
headers:
type: array
maxItems: 50
items:
type: object
properties:
headerKey:
type: string
minLength: 1
maxLength: 1024
headerValue:
type: string
minLength: 1
maxLength: 1024
additionalProperties: false
required:
- headerKey
- headerValue
additionalProperties: false
required:
- url
additionalProperties: false
integrationPost:
title: Integration Post
description: Schema for the body of an Integration creation request
type: object
properties:
name:
type: string
minLength: 1
maxLength: 255
integrationType:
type: string
enum:
- azureEventHub
- googlePubSub
- mqtt
- particle
- sqs
- websocket
enabled:
type: boolean
credentialName:
type: string
minLength: 1
maxLength: 255
topics:
type: array
items:
type: string
minLength: 1
maxLength: 1024
uniqueItems: true
azureEventHubConfig:
type: object
properties:
hubName:
type: string
maxLength: 256
minLength: 1
hostName:
type: string
maxLength: 256
minLength: 1
consumerGroup:
type: string
maxLength: 256
minLength: 1
connectionString:
type: string
minLength: 1
maxLength: 1024
additionalProperties: false
oneOf:
- required:
- hubName
- consumerGroup
- connectionString
- required:
- hubName
- consumerGroup
- hostName
googlePubSubConfig:
type: object
properties:
projectId:
type: string
maxLength: 255
minLength: 1
keyJson:
type: string
maxLength: 32767
minLength: 4
additionalProperties: false
mqttConfig:
type: object
properties:
clientId:
type: string
minLength: 1
maxLength: 1024
username:
type: string
minLength: 1
maxLength: 1024
password:
type: string
minLength: 1
maxLength: 1024
clean:
type: boolean
port:
type: number
minimum: 1
maximum: 65535
protocol:
type: string
enum:
- mqtt
- mqtts
- ws
- wss
host:
type: string
minLength: 1
maxLength: 1024
privateKey:
type: string
maxLength: 32767
minLength: 4
certificate:
type: string
maxLength: 32767
minLength: 4
caCertificate:
type: string
maxLength: 32767
minLength: 4
disableSSLVerification:
type: boolean
protocolVersion:
type: string
enum:
- 3.1.1
- '5'
additionalProperties: false
required:
- port
- protocol
- host
particleConfig:
type: object
properties:
accessToken:
type: string
minLength: 1
maxLength: 1024
productSlugOrId:
type: string
minLength: 1
maxLength: 1024
orgSlugOrId:
type: string
minLength: 1
maxLength: 1024
deviceNameOrId:
type: string
minLength: 1
maxLength: 1024
additionalProperties: false
required:
- accessToken
sqsConfig:
type: object
properties:
accessKeyId:
type: string
minLength: 4
maxLength: 128
secretAccessKey:
type: string
minLength: 4
maxLength: 128
region:
type: string
minLength: 4
maxLength: 128
queueUrl:
type: string
minLength: 1
maxLength: 256
additionalProperties: false
required:
- queueUrl
websocketConfig:
type: object
properties:
url:
type: string
minLength: 1
maxLength: 1024
disableSSLVerification:
type: boolean
username:
type: string
minLength: 1
maxLength: 1024
password:
type: string
minLength: 1
maxLength: 1024
privateKey:
type: string
maxLength: 32767
minLength: 4
certificate:
type: string
maxLength: 32767
minLength: 4
caCertificate:
type: string
maxLength: 32767
minLength: 4
headers:
type: array
maxItems: 50
items:
type: object
properties:
headerKey:
type: string
minLength: 1
maxLength: 1024
headerValue:
type: string
minLength: 1
maxLength: 1024
additionalProperties: false
required:
- headerKey
- headerValue
additionalProperties: false
required:
- url
additionalProperties: false
required:
- name
- integrationType
securitySchemes:
bearerAuth:
type: http
scheme: bearer
x-derived-from:
format: bravado 1.0
by: all/0-working/bravado-to-openapi.py (roadmap#799)
note: 'every action keeps its own path: resource.path + action.path'