Losant Application API

Manage Losant Applications - the top-level multi-tenant container for IoT solutions - plus all application-scoped resources: dashboards, events, webhooks, integrations, files, application keys, API tokens, certificate authorities and certificates for X.509-authenticated devices, application templates, audit logs, credentials, and long-running resource jobs.

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

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

Tagged areas include Applications, Dashboards, Events, Webhooks, and Integrations. The published artifact set on APIs.io includes API documentation, an OpenAPI specification, 4 Naftiko capability specs, and 3 JSON Schemas.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

losant-application-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Losant Application API
  version: 1.29.4
  description: Manage Losant Applications, the top-level container for IoT solutions, plus dashboards, events, webhooks, integrations,
    files, audit logs, credentials, certificates, application keys, API tokens, and resource jobs. 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: Application
  description: Application resources on the Losant Platform.
security:
- BearerAuth: []
paths:
  /applications/{applicationId}/tokens/{apiTokenId}:
    get:
      summary: Retrieves Information on an API Token
      tags:
      - Application
      parameters:
      - &id001
        name: applicationId
        in: path
        description: ID associated with the application
        required: true
        example: 575ec8687ae143cd83dc4a97
        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:
      - Application
      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:
      - Application
      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: []
  /applications/{applicationId}/tokens:
    get:
      summary: Returns the API Tokens for an Application
      tags:
      - Application
      parameters:
      - &id003
        name: applicationId
        in: path
        description: ID associated with the application
        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: 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/apiTokens'
        '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 Application
      tags:
      - Application
      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: []
  /applications/{applicationId}/certificate-authorities:
    get:
      summary: Returns the Application Certificate Authorities for an Application
      tags:
      - Application
      parameters:
      - &id004
        name: applicationId
        in: path
        description: ID associated with the application
        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: name
        schema:
          type: string
          enum:
          - name
          - status
          - 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: name
        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: the*name
        schema:
          type: string
      responses:
        '200':
          description: Collection of application certificate authorities
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/applicationCertificateAuthorities'
        '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'
      security:
      - BearerAuth: []
    post:
      summary: Create a New Application Certificate Authority for an Application
      tags:
      - Application
      parameters:
      - *id004
      requestBody:
        description: Application certificate authority information
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/applicationCertificateAuthorityPost'
      responses:
        '201':
          description: Successfully created application certificate authority
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/applicationCertificateAuthority'
        '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'
      security:
      - BearerAuth: []
  /applications/{applicationId}/certificate-authorities/{applicationCertificateAuthorityId}:
    get:
      summary: Retrieves Information on an Application Certificate Authority
      tags:
      - Application
      parameters:
      - &id005
        name: applicationId
        in: path
        description: ID associated with the application
        required: true
        example: 575ec8687ae143cd83dc4a97
        schema:
          type: string
          pattern: ^[A-Fa-f\d]{24}$
      - &id006
        name: applicationCertificateAuthorityId
        in: path
        description: ID associated with the application certificate authority
        required: true
        example: 575ec76c7ae143cd83dc4a96
        schema:
          type: string
          pattern: ^[A-Fa-f\d]{24}$
      responses:
        '200':
          description: Application certificate authority information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/applicationCertificateAuthority'
        '400':
          description: Error if malformed request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        '404':
          description: Error if application certificate authority was not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
      - BearerAuth: []
    patch:
      summary: Updates Information About an Application Certificate Authority
      tags:
      - Application
      parameters:
      - *id005
      - *id006
      requestBody:
        description: Object containing new properties of the application certificate authority
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/applicationCertificateAuthorityPatch'
      responses:
        '200':
          description: Updated application certificate authority information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/applicationCertificateAuthority'
        '400':
          description: Error if malformed request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        '404':
          description: Error if application certificate authority was not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
      - BearerAuth: []
    delete:
      summary: Deletes an Application Certificate Authority
      tags:
      - Application
      parameters:
      - *id005
      - *id006
      responses:
        '200':
          description: If application certificate authority 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 application certificate authority was not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
      - BearerAuth: []
  /applications/{applicationId}/certificates/{applicationCertificateId}:
    get:
      summary: Retrieves Information on an Application Certificate
      tags:
      - Application
      parameters:
      - &id007
        name: applicationId
        in: path
        description: ID associated with the application
        required: true
        example: 575ec8687ae143cd83dc4a97
        schema:
          type: string
          pattern: ^[A-Fa-f\d]{24}$
      - &id008
        name: applicationCertificateId
        in: path
        description: ID associated with the application certificate
        required: true
        example: 575ec76c7ae143cd83dc4a96
        schema:
          type: string
          pattern: ^[A-Fa-f\d]{24}$
      responses:
        '200':
          description: Application certificate information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/applicationCertificate'
        '400':
          description: Error if malformed request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        '404':
          description: Error if application certificate was not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
      - BearerAuth: []
    patch:
      summary: Updates Information About an Application Certificate
      tags:
      - Application
      parameters:
      - *id007
      - *id008
      requestBody:
        description: Object containing new properties of the application certificate
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/applicationCertificatePatch'
      responses:
        '200':
          description: Updated application certificate information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/applicationCertificate'
        '400':
          description: Error if malformed request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        '404':
          description: Error if application certificate was not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
      - BearerAuth: []
    delete:
      summary: Deletes an Application Certificate
      tags:
      - Application
      parameters:
      - *id007
      - *id008
      responses:
        '200':
          description: If application certificate 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 application certificate was not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
      - BearerAuth: []
  /applications/{applicationId}/certificates:
    get:
      summary: Returns the Application Certificates for an Application
      tags:
      - Application
      parameters:
      - &id009
        name: applicationId
        in: path
        description: ID associated with the application
        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: status
        schema:
          type: string
          enum:
          - certificateInfo.commonName
          - status
          - id
          - creationDate
          - lastUpdated
          default: certificateInfo.commonName
      - 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: status
        schema:
          type: string
          enum:
          - certificateInfo.commonName
          - 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: the*status
        schema:
          type: string
      responses:
        '200':
          description: Collection of application certificates
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/applicationCertificates'
        '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'
      security:
      - BearerAuth: []
    post:
      summary: Create a New Application Certificate for an Application
      tags:
      - Application
      parameters:
      - *id009
      requestBody:
        description: Application certificate information
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/applicationCertificatePost'
      responses:
        '201':
          description: Successfully created application certificate
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/applicationCertificate'
        '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'
      security:
      - BearerAuth: []
  /applications/{applicationId}/dashboards/{dashboardId}:
    get:
      summary: Retrieves Information on a Dashboard
      tags:
      - Application
      parameters:
      - &id010
        name: dashboardId
        in: path
        description: ID of the associated dashboard
        required: true
        example: 575ece2b7ae143cd83dc4a9b
        schema:
          type: string
          pattern: ^[A-Fa-f\d]{24}$
      - &id011
        name: applicationId
        in: path
        description: ID of the associated application
        required: true
        example: 575ec8687ae143cd83dc4a97
        schema:
          type: string
          pattern: ^[A-Fa-f\d]{24}$
      responses:
        '200':
          description: Dashboard information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/dashboard'
        '400':
          description: Error if malformed request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        '404':
          description: Error if dashboard was not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
      - BearerAuth: []
    patch:
      summary: Updates Information About a Dashboard
      tags:
      - Application
      parameters:
      - *id010
      - *id011
      requestBody:
        description: Object containing new dashboard properties
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/dashboardPatch'
      responses:
        '200':
          description: Update dashboard information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/dashboard'
        '400':
          description: Error if malformed request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        '404':
          description: Error if dashboard was not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
      - BearerAuth: []
    delete:
      summary: Deletes a Dashboard
      tags:
      - Application
      parameters:
      - *id010
      - *id011
      responses:
        '200':
          description: If dashboard 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 dashboard was not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
      - BearerAuth: []
    post:
      summary: Sends a Snapshot of a Dashboard
      tags:
      - Application
      parameters:
      - *id010
      - *id011
      requestBody:
        description: Object containing report options
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/dashboardSendReport'
      responses:
        '202':
          description: If dashboard report was enqueued to be sent
          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 dashboard was not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
      - BearerAuth: []
  /applications/{applicationId}/jobLogs/{jobId}:
    get:
      summary: Returns the Job Log for the Given ID
      tags:
      - Application
      parameters:
      - name: applicationId
        in: path
        description: ID associated with the application
        required: true
        example: 575ec8687ae143cd83dc4a97
        schema:
          type: string
          pattern: ^[A-Fa-f\d]{24}$
      - name: jobId
        in: path
        description: ID associated with the job execution
        required: true
        example: 575ec8687ae143cd83dc4a98
        schema:
          type: string
          pattern: ^[A-Fa-f\d]{24}$
      responses:
        '200':
          description: An application job log
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/applicationJobLog'
        '400':
          description: Error if malformed request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        '404':
          description: Error if application job log was not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
      - BearerAuth: []
  /applications/{applicationId}/dashboards:
    get:
      summary: Returns All Dashboards Scoped to the Given Application.
      tags:
      - Application
      parameters:
      - &id012
        name: applicationId
        in: path
        description: ID associated with the application
        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: 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: name
        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 * dashboard
        schema:
          type: string
      responses:
        '200':
          description: Collection of dashboards
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/dashboards'
        '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'
      security:
      - BearerAuth: []
    post:
      summary: Create a New Dashboard
      tags:
      - Application
      parameters:
      - *id012
      requestBody:
        description: New dashboard information
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/applicationDashboardPost'
      responses:
        '201':
          description: Successfully created dashboard
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/dashboard'
        '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'
      security:
      - BearerAuth: []
  /applications/{applicationId}/jobLogs:
    get:
      summary: Returns the Job Logs for an Application
      tags:
      - Application
      parameters:
      - name: applicationId
        in: path
        description: ID associated with the application
        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: status
        schema:
          type: string
          enum:
          - name
          - status
          - resourceType
          - runQueuedAt
          - runStartedAt
          - runCompletedAt
          default: runQueuedAt
      - 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: query
        in: query
        description: Filter application job logs by a query.
        required: false
        schema:
          type: object
      responses:
        '200':
          description: Collection of application job logs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/applicationJobLogs'
        '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'
      security:
      - BearerAuth: []
  /applications/{applicationId}/keys/{applicationKeyId}:
    get:
      summary: Retrieves Information on an ApplicationKey
      tags:
      - Application
      parameters:
      - &id013
        name: applicationId
        in: path
        description: ID associated with the application
        required: true
        example: 575ec8687ae143cd83dc4a97
        schema:
          type: string
          pattern: ^[A-Fa-f\d]{24}$
      - &id014
        name: applicationKey

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