Losant Enterprise Instance API

Administer dedicated or self-hosted Losant Enterprise Instances: instance members, organizations within the instance, organization members and invites, instance-level custom workflow nodes, sandboxes, notification rules, instance-level API tokens, and audit logs.

Losant Enterprise Instance API is one of 9 APIs that Losant publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

This API exposes 3 machine-runnable capabilities that can be deployed as REST, MCP, or Agent Skill surfaces via Naftiko.

Tagged areas include Enterprise, Instance, Self Hosted, Administration, and Custom Nodes. The published artifact set on APIs.io includes API documentation, an OpenAPI specification, and 3 Naftiko capability specs.

OpenAPI Specification

losant-instance-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Losant Enterprise Instance API
  version: 1.29.4
  description: 'Administer self-hosted and dedicated Losant Enterprise Instances: instance members, organizations, organization
    members and invites, custom workflow nodes, sandboxes, notification rules, and audit logs. Derived from the Losant Platform
    API (Bravado/Swagger 2) at https://api.losant.com/.'
  contact:
    name: Losant Support
    url: https://www.losant.com/contact
    email: [email protected]
  license:
    name: Proprietary
    url: https://www.losant.com/legal
  x-source: https://api.losant.com/
  x-publisher: Losant IoT, Inc.
servers:
- url: https://api.losant.com
  description: Losant Platform API (US multi-tenant cloud)
tags:
- name: Enterprise Instance
  description: Enterprise Instance resources on the Losant Platform.
security:
- BearerAuth: []
paths:
  /instances/{instanceId}/tokens/{apiTokenId}:
    get:
      summary: Retrieves Information on an API Token
      tags:
      - Enterprise Instance
      parameters:
      - &id001
        name: instanceId
        in: path
        description: ID associated with the instance
        required: true
        example: 575ec7417ae143cd83dc4a96
        schema:
          type: string
          pattern: ^[A-Fa-f\d]{24}$
      - &id002
        name: apiTokenId
        in: path
        description: ID associated with the API token
        required: true
        example: 575ec7417ae143cd83dc4a95
        schema:
          type: string
          pattern: ^[A-Fa-f\d]{24}$
      responses:
        '200':
          description: API token information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiToken'
        '400':
          description: Error if malformed request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        '404':
          description: Error if API token was not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
      - BearerAuth: []
    patch:
      summary: Updates Information About an API Token
      tags:
      - Enterprise Instance
      parameters:
      - *id001
      - *id002
      requestBody:
        description: Object containing new properties of the API token
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/apiTokenPatch'
      responses:
        '200':
          description: Updated API token information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiToken'
        '400':
          description: Error if malformed request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        '404':
          description: Error if API token was not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
      - BearerAuth: []
    delete:
      summary: Deletes an API Token
      tags:
      - Enterprise Instance
      parameters:
      - *id001
      - *id002
      responses:
        '200':
          description: If API token 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 API token was not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
      - BearerAuth: []
  /instances/{instanceId}/tokens:
    get:
      summary: Returns the API Tokens for an Instance
      tags:
      - Enterprise Instance
      parameters:
      - &id003
        name: instanceId
        in: path
        description: ID associated with the instance
        required: true
        example: 575ec7417ae143cd83dc4a96
        schema:
          type: string
          pattern: ^[A-Fa-f\d]{24}$
      - name: sortField
        in: query
        description: Field to sort the results by
        required: false
        example: name
        schema:
          type: string
          enum:
          - name
          - status
          - id
          - creationDate
          - lastUpdated
          - expirationDate
          default: name
      - name: sortDirection
        in: query
        description: Direction to sort the results by
        required: false
        example: asc
        schema:
          type: string
          enum:
          - asc
          - desc
          default: asc
      - name: page
        in: query
        description: Which page of results to return
        required: false
        example: 0
        schema:
          type: string
          default: 0
      - name: perPage
        in: query
        description: How many items to return per page
        required: false
        example: 10
        schema:
          type: string
          default: 100
      - name: filterField
        in: query
        description: Field to filter the results by. Blank or not provided means no filtering.
        required: false
        example: key
        schema:
          type: string
          enum:
          - name
          - status
      - name: filter
        in: query
        description: Filter to apply against the filtered field. Supports globbing. Blank or not provided means no filtering.
        required: false
        example: my*token
        schema:
          type: string
      responses:
        '200':
          description: Collection of API tokens
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiToken'
        '400':
          description: Error if malformed request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
      - BearerAuth: []
    post:
      summary: Create a New API Token for an Instance
      tags:
      - Enterprise Instance
      parameters:
      - *id003
      requestBody:
        description: API token information
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/apiTokenPost'
      responses:
        '201':
          description: The successfully created API token
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiToken'
        '400':
          description: Error if malformed request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
      - BearerAuth: []
  /instance/{instanceId}/audit-logs/{instanceAuditLogId}:
    get:
      summary: Retrieves Information on an Instance Audit Log
      tags:
      - Enterprise Instance
      parameters:
      - name: instanceId
        in: path
        description: ID associated with the instance
        required: true
        example: 575ec7417ae143cd83dc4a96
        schema:
          type: string
          pattern: ^[A-Fa-f\d]{24}$
      - name: instanceAuditLogId
        in: path
        description: ID associated with the instance audit log
        required: true
        example: 57955788124b37010084c053
        schema:
          type: string
          pattern: ^[A-Fa-f\d]{24}$
      responses:
        '200':
          description: Instance audit log information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/instanceAuditLog'
        '400':
          description: Error if malformed request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        '404':
          description: Error if instance audit log was not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
      - BearerAuth: []
  /instance/{instanceId}/audit-logs:
    get:
      summary: Returns the Audit Logs for the Instance
      tags:
      - Enterprise Instance
      parameters:
      - name: instanceId
        in: path
        description: ID associated with the instance
        required: true
        example: 575ec7417ae143cd83dc4a96
        schema:
          type: string
          pattern: ^[A-Fa-f\d]{24}$
      - name: sortField
        in: query
        description: Field to sort the results by
        required: false
        example: creationDate
        schema:
          type: string
          enum:
          - creationDate
          - responseStatus
          - actorName
          default: creationDate
      - name: sortDirection
        in: query
        description: Direction to sort the results by
        required: false
        example: asc
        schema:
          type: string
          enum:
          - asc
          - desc
          default: desc
      - name: page
        in: query
        description: Which page of results to return
        required: false
        example: 0
        schema:
          type: string
          default: 0
      - name: perPage
        in: query
        description: How many items to return per page
        required: false
        example: 10
        schema:
          type: string
          default: 100
      - name: start
        in: query
        description: Start of time range for audit log query
        required: false
        example: 1465790400000
        schema:
          type: string
      - name: end
        in: query
        description: End of time range for audit log query
        required: false
        example: 1465790400000
        schema:
          type: string
      - name: auditLogFilter
        in: query
        description: Filters for the audit log query
        required: false
      responses:
        '200':
          description: Collection of instance audit logs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/instanceAuditLogs'
        '400':
          description: Error if malformed request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        '404':
          description: Error if instance was not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
      - BearerAuth: []
  /instances/{instanceId}/nodes/{instanceCustomNodeId}:
    get:
      summary: Get Information About Errors That Occurred During Runs of This Custom Node
      tags:
      - Enterprise Instance
      parameters:
      - &id004
        name: instanceId
        in: path
        description: ID associated with the instance
        required: true
        example: 575ec7417ae143cd83dc4a96
        schema:
          type: string
          pattern: ^[A-Fa-f\d]{24}$
      - &id005
        name: instanceCustomNodeId
        in: path
        description: ID associated with the Custom Node
        required: true
        example: 575ec7417ae143cd83dc4a95
        schema:
          type: string
          pattern: ^[A-Fa-f\d]{24}$
      - name: duration
        in: query
        description: Duration of time range in milliseconds
        required: false
        example: 86400000
        schema:
          type: string
          default: 86400000
      - name: end
        in: query
        description: End of time range in milliseconds since epoch
        required: false
        example: 0
        schema:
          type: string
          default: 0
      - name: limit
        in: query
        description: Maximum number of errors to return
        required: false
        example: 25
        schema:
          type: string
          default: 25
      - name: sortDirection
        in: query
        description: Direction to sort the results by
        required: false
        example: desc
        schema:
          type: string
          enum:
          - asc
          - desc
          default: desc
      responses:
        '200':
          description: Custom Node error information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/flowErrors'
        '400':
          description: Error if malformed request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        '404':
          description: Error if Custom Node was not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
      - BearerAuth: []
    patch:
      summary: Updates Information About a Custom Node
      tags:
      - Enterprise Instance
      parameters:
      - *id004
      - *id005
      requestBody:
        description: Object containing new properties of the Custom Node
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/instanceCustomNodePatch'
      responses:
        '200':
          description: Updated Custom Node information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/instanceCustomNode'
        '400':
          description: Error if malformed request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        '404':
          description: Error if Custom Node was not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
      - BearerAuth: []
    delete:
      summary: Deletes a Custom Node
      tags:
      - Enterprise Instance
      parameters:
      - *id004
      - *id005
      responses:
        '200':
          description: If Custom Node 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 Custom Node was not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
      - BearerAuth: []
  /instances/{instanceId}/nodes:
    get:
      summary: Returns the Custom Nodes for an Instance
      tags:
      - Enterprise Instance
      parameters:
      - &id006
        name: instanceId
        in: path
        description: ID associated with the instance
        required: true
        example: 575ec7417ae143cd83dc4a96
        schema:
          type: string
          pattern: ^[A-Fa-f\d]{24}$
      - name: sortField
        in: query
        description: Field to sort the results by
        required: false
        example: name
        schema:
          type: string
          enum:
          - name
          - id
          - creationDate
          - lastUpdated
          default: name
      - name: sortDirection
        in: query
        description: Direction to sort the results by
        required: false
        example: asc
        schema:
          type: string
          enum:
          - asc
          - desc
          default: asc
      - name: page
        in: query
        description: Which page of results to return
        required: false
        example: 0
        schema:
          type: string
          default: 0
      - name: perPage
        in: query
        description: How many items to return per page
        required: false
        example: 10
        schema:
          type: string
          default: 100
      - name: filterField
        in: query
        description: Field to filter the results by. Blank or not provided means no filtering.
        required: false
        example: key
        schema:
          type: string
          enum:
          - name
      - name: filter
        in: query
        description: Filter to apply against the filtered field. Supports globbing. Blank or not provided means no filtering.
        required: false
        example: my*node
        schema:
          type: string
      responses:
        '200':
          description: Collection of Custom Nodes
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/instanceCustomNodes'
        '400':
          description: Error if malformed request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
      - BearerAuth: []
    post:
      summary: Create a New Custom Node for an Instance
      tags:
      - Enterprise Instance
      parameters:
      - *id006
      requestBody:
        description: Custom Node information
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/instanceCustomNodePost'
      responses:
        '201':
          description: The successfully created Custom Node
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/instanceCustomNode'
        '400':
          description: Error if malformed request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
      - BearerAuth: []
  /instances/{instanceId}/members/{userId}:
    get:
      summary: Returns an Instance Member
      tags:
      - Enterprise Instance
      parameters:
      - &id007
        name: instanceId
        in: path
        description: ID associated with the instance
        required: true
        example: 575ec8687ae143cd83dc4a97
        schema:
          type: string
          pattern: ^[A-Fa-f\d]{24}$
      - &id008
        name: userId
        in: path
        description: ID associated with the instance member
        required: true
        example: 575ec8687ae143cd83dc4a94
        schema:
          type: string
          pattern: ^[A-Fa-f\d]{24}$
      responses:
        '200':
          description: A single instance member
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/instanceMember'
        '400':
          description: Error if malformed request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        '404':
          description: Error if instance or member was not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
      - BearerAuth: []
    patch:
      summary: Modifies the Role of an Instance Member
      tags:
      - Enterprise Instance
      parameters:
      - *id007
      - *id008
      requestBody:
        description: Object containing new member info
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/instanceMemberPatch'
      responses:
        '200':
          description: The modified instance member
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/instanceMemberPatch'
        '400':
          description: Error if malformed request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        '404':
          description: Error if instance or member was not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
      - BearerAuth: []
    delete:
      summary: Deletes an Instance Member
      tags:
      - Enterprise Instance
      parameters:
      - *id007
      - *id008
      responses:
        '200':
          description: If member 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 instance or member was not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
      - BearerAuth: []
  /instances/{instanceId}/members:
    get:
      summary: Returns a Collection of Instance Members
      tags:
      - Enterprise Instance
      parameters:
      - &id009
        name: instanceId
        in: path
        description: ID associated with the instance
        required: true
        example: 575ec8687ae143cd83dc4a97
        schema:
          type: string
          pattern: ^[A-Fa-f\d]{24}$
      - name: sortField
        in: query
        description: Field to sort the results by
        required: false
        example: role
        schema:
          type: string
          enum:
          - email
          - role
          default: email
      - name: sortDirection
        in: query
        description: Direction to sort the results by
        required: false
        example: asc
        schema:
          type: string
          enum:
          - asc
          - desc
          default: asc
      - name: filterField
        in: query
        description: Field to filter the results by. Blank or not provided means no filtering.
        required: false
        example: email
        schema:
          type: string
          enum:
          - email
          - role
      - name: filter
        in: query
        description: Filter to apply against the filtered field. Supports globbing. Blank or not provided means no filtering.
        required: false
        example: my * instance
        schema:
          type: string
      responses:
        '200':
          description: A collection of instance members
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/instanceMembers'
        '400':
          description: Error if malformed request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        '404':
          description: Error if instance was not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
      - BearerAuth: []
    post:
      summary: Creates a New Instance Member
      tags:
      - Enterprise Instance
      parameters:
      - *id009
      requestBody:
        description: Object containing new member info
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/instanceMemberPost'
      responses:
        '200':
          description: The newly created instance member
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/instanceMember'
        '400':
          description: Error if malformed request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        '404':
          description: Error if instance was not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
      - BearerAuth: []
  /instances/{instanceId}/notification-rules/{notificationRuleId}:
    get:
      summary: Retrieves Information on Notification Rule Deliveries
      tags:
      - Enterprise Instance
      parameters:
      - &id010
        name: instanceId
        in: path
        description: ID associated with the instance
        required: true
        example: 575ec7417ae143cd83dc4a96
        schema:
          type: string
          pattern: ^[A-Fa-f\d]{24}$
      - &id011
        name: notificationRuleId
        in: path
        description: ID associated with the notification rule
        required: true
        example: 575ec7417ae143cd83dc4a95
        schema:
          type: string
          pattern: ^[A-Fa-f\d]{24}$
      - name: limit
        in: query
        description: Max log entries to return (ordered by time descending)
        required: false
        example: 10
        schema:
          type: string
          default: 1
      - name: since
        in: query
        description: Look for log entries since this time (ms since epoch)
        required: false
        example: 1465790400000
        schema:
          type: string
      responses:
        '200':
          description: Notification delivery information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/notificationRuleDeliveryLogs'
        '400':
          description: Error if malformed request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        '404':
          description: Error if notification rule was not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
      - BearerAuth: []
    patch:
      summary: Updates Information About a Notification Rule
      tags:
      - Enterprise Instance
      parameters:
      - *id010
      - *id011
      requestBody:
        description: Object containing new properties of the notification rule
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/notificationRulePatch'
      responses:
        '200':
          description: Updated notification rule information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/notificationRule'
        '400':
          description: Error if malformed request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        '404':
          description: Error if notification rule was not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
      - BearerAuth: []
    delete:
      summary: Deletes a Notification Rule
      tags:
      - Enterprise Instance
      parameters:
      - *id010
      - *id011
      responses:
        '200':
          description: If notification rule 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 notification rule was not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
      - BearerAuth: []
    post:
      summary: Queues the Evaluation of a Notification Rule
      tags:
      - Enterprise Instance
      parameters:
      - *id010
      - *id011
      requestBody:
        description: The options for the evaluation
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/notificationRuleEvaluationOptions'
      responses:
        '202':
          description: If the evaluation was successfully queued
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/jobEnqueuedResult'
        '400':
          description: Error if malformed request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        '404':
          description: Error if notification rule was not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
      - BearerAuth: []
  /instances/{instanceId}/notification-rules:
    get:
      summary: Returns the Notification Rules for an Instance
      tags:
      - Enterprise Instance
      parameters:
      - &id012
        name: instanceId
        in: path
        description: ID associated with the instance
        required: true
        example: 575ec7417ae143cd83dc4a96
        schema:
          type: string
          pattern: ^[A-Fa-f\d]{24}$
      - name: sortField
        in: query
        description: Field to sort the results by
        required: false
        example: name
        schema:
          type: string
          enum:
          - name
          - id
          - creationDate
          - lastUpdated
          default: name
      - name: sortDirection
        in: query
        description: Direction to sort the results by
        required: false
        example: asc
        schema:
          type: string
          enum:
          - asc
          - desc
          default: asc
      - name: page
        in: query
        description: Which page of results to return
        required: false
        example: 0
        schema:
          type: string
          default: 0
      - name: perPage
        in: query
        description: How many items to return per page
        required: false
        example: 10
        schema:
          type: string
          default: 100
      - name: filterField
        in: query
        description: Field to filter the results by. Blank or not provided means no filtering.
        required: false
        example: key
        schema:
          type: string
          enum:
          - name
      - name: filter
        in: query
        description: Filter to apply against the filtered field. Supports globbing. Blank or not provided means no filtering.
        required: false
        example: my*rule
        schema:
          type: string
      responses:
        '200':
          description: Collection of notification rules
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/notificationRules'
        '400':
          description: Error if malformed request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
      - BearerAuth: []
    post:
      summary: Create a New Notification Rule for an Instance
      tags:
      - Enterprise Instance
      parameters:
      - *id012
      requestBody:
        description: Notification rule information
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/notificationRulePost'
      responses:
        '201':
          description: The successfully created notification rule
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/notificationRule'
        '400':
          description: Error if malformed request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
      - BearerAuth: []
  /instances/{instanceId}/orgs/{orgId}/invites/{inviteId}:
    get:
      summary: Returns an Organization Invite
      tags:
      - Enterprise Instance
      parameters:
      - &id013
        name: instanceId
        in: path
        description: ID associated with the instance
        required: true
        example: 575ec8687ae143cd83dc4a95
        schema:
          type: string
          pattern: ^[A-Fa-f\d]{24}$
      - &id014
        name: orgId
        in: path
        description: ID associated with the organization
        required: true
        example: 575ec8687ae143cd83dc4a97
        schema:
         

# --- truncated at 32 KB (123 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/losant/refs/heads/main/openapi/losant-instance-api-openapi.yml