Nortech Signal API

This API includes endpoints that allow you to interact with `Signals` metadata.

OpenAPI Specification

nortech-signal-api-openapi.yml Raw ↑
openapi: 3.1.1
info:
  title: Nortech Asset Signal API
  version: 1.0.0
  contact:
    name: Nortech AI
    url: https://nortech.ai
    email: support@nortech.ai
  summary: HTTP API for Nortech AI. Contact Nortech AI support for access.
  description: "This API is structured between three main API groups:\n* **Metadata API** - To navigate and get information about your assets.\n* **Signal Data API** - To query all signal data produced from your assets.\n* **Deriver API** - To create and manage derivers that produce computed signals.\n\n# Pagination\nAll `List` Endpoints support cursor pagination. In this pagination model, the client receives a `next.token` field in the response, \nwhich can be used as a `nextToken` query parameter to fetch the next page of results. \nThe `size` parameter defines the maximum number of results to return, the `sortBy` and `sortOrder` parameters define the field to sort by and its order."
  x-logo:
    url: https://branding-api.apps.nor.tech/logo-light
    backgroundColor: '#fafafa'
    altText: Nortech AI
    href: https://nortech.ai
servers:
- url: https://api.apps.nor.tech
  description: HTTP API for Nortech AI
security:
- Bearer Token: []
tags:
- name: Signal
  description: This API includes endpoints that allow you to interact with `Signals` metadata.
paths:
  /api/v1/workspaces/{workspace}/assets/{asset}/divisions/{division}/units/{unit}/signals:
    get:
      operationId: v1.metadata.signal.listWorkspaceAssetDivisionUnitSignals
      summary: List Workspace Asset Division Unit Signals
      description: List all `Signals` in a `Workspace/Asset/Division/Unit` group by their `Names`.
      tags:
      - Signal
      parameters:
      - name: workspace
        in: path
        required: true
        schema:
          type: string
          description: '`Name` of the `Workspace`'
          examples:
          - Workspace 1
      - name: asset
        in: path
        required: true
        schema:
          type: string
          description: '`Name` of the `Asset`'
          examples:
          - Asset 1
      - name: division
        in: path
        required: true
        schema:
          type: string
          description: '`Name` of the `Division`'
          examples:
          - Division 1
      - name: unit
        in: path
        required: true
        schema:
          type: string
          description: '`Name` of the `Unit`'
          examples:
          - Unit 1
      - name: size
        in: query
        schema:
          type: integer
          minimum: 1
          maximum: 100
          default: 100
        allowEmptyValue: true
        allowReserved: true
      - name: nextToken
        in: query
        schema:
          type: string
        allowEmptyValue: true
        allowReserved: true
      - name: sortBy
        in: query
        schema:
          enum:
          - id
          - name
          - physicalUnit
          - dataType
          - description
          - longDescription
          - workspace
          - asset
          - division
          - unit
          type: string
        allowEmptyValue: true
        allowReserved: true
      - name: sortOrder
        in: query
        schema:
          anyOf:
          - const: asc
          - const: desc
          default: asc
        allowEmptyValue: true
        allowReserved: true
      responses:
        '200':
          description: '`Signal` list'
          content:
            application/json:
              schema:
                type: object
                properties:
                  size:
                    type: integer
                    minimum: 0
                    maximum: 9007199254740991
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          minimum: 1
                          maximum: 9007199254740991
                          description: '`ID` of the `Signal`'
                          examples:
                          - 10000
                        name:
                          type: string
                          description: '`Name` of the `Signal`'
                          examples:
                          - Signal 1
                        physicalUnit:
                          type: string
                          description: Physical unit of the `Signal`
                          examples:
                          - m/s
                        dataType:
                          anyOf:
                          - const: float
                          - const: boolean
                          - const: string
                          - const: json
                          description: '`Data type` of the `Signal`'
                        description:
                          anyOf:
                          - type: string
                          - type: 'null'
                          description: '`Description` of the `Signal`'
                          examples:
                          - Signal description
                        longDescription:
                          anyOf:
                          - type: string
                          - type: 'null'
                          description: Long description of the `Signal`
                          examples:
                          - Signal description
                        workspace:
                          type: object
                          properties:
                            id:
                              type: integer
                              minimum: 1
                              maximum: 9007199254740991
                              description: '`ID` of the `Workspace`'
                              examples:
                              - 10000
                            name:
                              type: string
                              description: '`Name` of the `Workspace`'
                              examples:
                              - Workspace 1
                          required:
                          - id
                          - name
                        asset:
                          type: object
                          properties:
                            id:
                              type: integer
                              minimum: 1
                              maximum: 9007199254740991
                              description: '`ID` of the `Asset`'
                              examples:
                              - 10000
                            name:
                              type: string
                              description: '`Name` of the `Asset`'
                              examples:
                              - Asset 1
                          required:
                          - id
                          - name
                        division:
                          type: object
                          properties:
                            id:
                              type: integer
                              minimum: 1
                              maximum: 9007199254740991
                              description: '`ID` of the `Division`'
                              examples:
                              - 10000
                            name:
                              type: string
                              description: '`Name` of the `Division`'
                              examples:
                              - Division 1
                          required:
                          - id
                          - name
                        unit:
                          type: object
                          properties:
                            id:
                              type: integer
                              minimum: 1
                              maximum: 9007199254740991
                              description: '`ID` of the `Unit`'
                              examples:
                              - 10000
                            name:
                              type: string
                              description: '`Name` of the `Unit`'
                              examples:
                              - Unit 1
                          required:
                          - id
                          - name
                      required:
                      - id
                      - name
                      - physicalUnit
                      - dataType
                      - description
                      - longDescription
                      - workspace
                      - asset
                      - division
                      - unit
                      additionalProperties: false
                  next:
                    type: object
                    properties:
                      token:
                        type: string
                      href:
                        type: string
                        format: uri
                        examples:
                        - https://api.apps.nor.tech/api/v1/workspaces/{workspace}/assets/{asset}/divisions/{division}/units/{unit}/signals?nextToken=abc
                    required:
                    - token
                    - href
                required:
                - size
                - data
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    const: Validation Error
                  details:
                    $schema: https://json-schema.org/draft/2020-12/schema
                    type: string
                required:
                - status
                - details
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    const: Unauthorized
                required:
                - status
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                oneOf:
                - type: object
                  description: Workspace not found
                  properties:
                    status:
                      const: Workspace not found
                  required:
                  - status
                - type: object
                  description: Asset not found
                  properties:
                    status:
                      const: Asset not found
                  required:
                  - status
                - type: object
                  description: Division not found
                  properties:
                    status:
                      const: Division not found
                  required:
                  - status
                - type: object
                  description: Unit not found
                  properties:
                    status:
                      const: Unit not found
                  required:
                  - status
  /api/v1/workspaces/{workspace}/assets/{asset}/divisions/{division}/units/{unit}/signals/{signal}:
    get:
      operationId: v1.metadata.signal.getWorkspaceAssetDivisionUnitSignal
      summary: Get Workspace Asset Division Unit Signal
      description: Get a `Signal` in a `Workspace/Asset/Division/Unit` group by their `Names`.
      tags:
      - Signal
      parameters:
      - name: workspace
        in: path
        required: true
        schema:
          type: string
          description: '`Name` of the `Workspace`'
          examples:
          - Workspace 1
      - name: asset
        in: path
        required: true
        schema:
          type: string
          description: '`Name` of the `Asset`'
          examples:
          - Asset 1
      - name: division
        in: path
        required: true
        schema:
          type: string
          description: '`Name` of the `Division`'
          examples:
          - Division 1
      - name: unit
        in: path
        required: true
        schema:
          type: string
          description: '`Name` of the `Unit`'
          examples:
          - Unit 1
      - name: signal
        in: path
        required: true
        schema:
          type: string
          description: '`Name` of the `Signal`'
          examples:
          - Signal 1
      responses:
        '200':
          description: '`Signal` details'
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: integer
                    minimum: 1
                    maximum: 9007199254740991
                    description: '`ID` of the `Signal`'
                    examples:
                    - 10000
                  name:
                    type: string
                    description: '`Name` of the `Signal`'
                    examples:
                    - Signal 1
                  createdAt:
                    type: string
                    format: date-time
                    x-native-type: date
                    description: '`Creation Date` of the `Signal`'
                  updatedAt:
                    type: string
                    format: date-time
                    x-native-type: date
                    description: '`Update Date` of the `Signal`'
                  physicalUnit:
                    type: string
                    description: Physical unit of the `Signal`
                    examples:
                    - m/s
                  dataType:
                    anyOf:
                    - const: float
                    - const: boolean
                    - const: string
                    - const: json
                    description: '`Data type` of the `Signal`'
                  description:
                    anyOf:
                    - type: string
                    - type: 'null'
                    description: '`Description` of the `Signal`'
                    examples:
                    - Signal description
                  longDescription:
                    anyOf:
                    - type: string
                    - type: 'null'
                    description: Long description of the `Signal`
                    examples:
                    - Signal description
                  workspace:
                    type: object
                    properties:
                      id:
                        type: integer
                        minimum: 1
                        maximum: 9007199254740991
                        description: '`ID` of the `Workspace`'
                        examples:
                        - 10000
                      name:
                        type: string
                        description: '`Name` of the `Workspace`'
                        examples:
                        - Workspace 1
                    required:
                    - id
                    - name
                  asset:
                    type: object
                    properties:
                      id:
                        type: integer
                        minimum: 1
                        maximum: 9007199254740991
                        description: '`ID` of the `Asset`'
                        examples:
                        - 10000
                      name:
                        type: string
                        description: '`Name` of the `Asset`'
                        examples:
                        - Asset 1
                    required:
                    - id
                    - name
                  division:
                    type: object
                    properties:
                      id:
                        type: integer
                        minimum: 1
                        maximum: 9007199254740991
                        description: '`ID` of the `Division`'
                        examples:
                        - 10000
                      name:
                        type: string
                        description: '`Name` of the `Division`'
                        examples:
                        - Division 1
                    required:
                    - id
                    - name
                  unit:
                    type: object
                    properties:
                      id:
                        type: integer
                        minimum: 1
                        maximum: 9007199254740991
                        description: '`ID` of the `Unit`'
                        examples:
                        - 10000
                      name:
                        type: string
                        description: '`Name` of the `Unit`'
                        examples:
                        - Unit 1
                    required:
                    - id
                    - name
                required:
                - id
                - name
                - createdAt
                - updatedAt
                - physicalUnit
                - dataType
                - description
                - longDescription
                - workspace
                - asset
                - division
                - unit
                additionalProperties: false
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    const: Validation Error
                  details:
                    $schema: https://json-schema.org/draft/2020-12/schema
                    type: string
                required:
                - status
                - details
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    const: Unauthorized
                required:
                - status
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                oneOf:
                - type: object
                  description: Workspace not found
                  properties:
                    status:
                      const: Workspace not found
                  required:
                  - status
                - type: object
                  description: Asset not found
                  properties:
                    status:
                      const: Asset not found
                  required:
                  - status
                - type: object
                  description: Division not found
                  properties:
                    status:
                      const: Division not found
                  required:
                  - status
                - type: object
                  description: Unit not found
                  properties:
                    status:
                      const: Unit not found
                  required:
                  - status
                - type: object
                  description: Signal not found
                  properties:
                    status:
                      const: Signal not found
                  required:
                  - status
  /api/v1/workspaces/{workspace}/signals:
    get:
      operationId: v1.metadata.signal.listWorkspaceSignals
      summary: List Workspace Signals
      description: List all `Signals` in a `Workspace` by its `IDs`.
      tags:
      - Signal
      parameters:
      - name: workspace
        in: path
        required: true
        schema:
          type: integer
          minimum: 1
          maximum: 9007199254740991
          description: '`ID` of the `Workspace`'
          examples:
          - 10000
      - name: size
        in: query
        schema:
          type: integer
          minimum: 1
          maximum: 100
          default: 100
        allowEmptyValue: true
        allowReserved: true
      - name: nextToken
        in: query
        schema:
          type: string
        allowEmptyValue: true
        allowReserved: true
      - name: sortBy
        in: query
        schema:
          enum:
          - id
          - name
          - physicalUnit
          - dataType
          - description
          - longDescription
          - workspace
          - asset
          - division
          - unit
          type: string
        allowEmptyValue: true
        allowReserved: true
      - name: sortOrder
        in: query
        schema:
          anyOf:
          - const: asc
          - const: desc
          default: asc
        allowEmptyValue: true
        allowReserved: true
      responses:
        '200':
          description: '`Signal` list'
          content:
            application/json:
              schema:
                type: object
                properties:
                  size:
                    type: integer
                    minimum: 0
                    maximum: 9007199254740991
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          minimum: 1
                          maximum: 9007199254740991
                          description: '`ID` of the `Signal`'
                          examples:
                          - 10000
                        name:
                          type: string
                          description: '`Name` of the `Signal`'
                          examples:
                          - Signal 1
                        physicalUnit:
                          type: string
                          description: Physical unit of the `Signal`
                          examples:
                          - m/s
                        dataType:
                          anyOf:
                          - const: float
                          - const: boolean
                          - const: string
                          - const: json
                          description: '`Data type` of the `Signal`'
                        description:
                          anyOf:
                          - type: string
                          - type: 'null'
                          description: '`Description` of the `Signal`'
                          examples:
                          - Signal description
                        longDescription:
                          anyOf:
                          - type: string
                          - type: 'null'
                          description: Long description of the `Signal`
                          examples:
                          - Signal description
                        workspace:
                          type: object
                          properties:
                            id:
                              type: integer
                              minimum: 1
                              maximum: 9007199254740991
                              description: '`ID` of the `Workspace`'
                              examples:
                              - 10000
                            name:
                              type: string
                              description: '`Name` of the `Workspace`'
                              examples:
                              - Workspace 1
                          required:
                          - id
                          - name
                        asset:
                          type: object
                          properties:
                            id:
                              type: integer
                              minimum: 1
                              maximum: 9007199254740991
                              description: '`ID` of the `Asset`'
                              examples:
                              - 10000
                            name:
                              type: string
                              description: '`Name` of the `Asset`'
                              examples:
                              - Asset 1
                          required:
                          - id
                          - name
                        division:
                          type: object
                          properties:
                            id:
                              type: integer
                              minimum: 1
                              maximum: 9007199254740991
                              description: '`ID` of the `Division`'
                              examples:
                              - 10000
                            name:
                              type: string
                              description: '`Name` of the `Division`'
                              examples:
                              - Division 1
                          required:
                          - id
                          - name
                        unit:
                          type: object
                          properties:
                            id:
                              type: integer
                              minimum: 1
                              maximum: 9007199254740991
                              description: '`ID` of the `Unit`'
                              examples:
                              - 10000
                            name:
                              type: string
                              description: '`Name` of the `Unit`'
                              examples:
                              - Unit 1
                          required:
                          - id
                          - name
                      required:
                      - id
                      - name
                      - physicalUnit
                      - dataType
                      - description
                      - longDescription
                      - workspace
                      - asset
                      - division
                      - unit
                      additionalProperties: false
                  next:
                    type: object
                    properties:
                      token:
                        type: string
                      href:
                        type: string
                        format: uri
                        examples:
                        - https://api.apps.nor.tech/api/v1/workspaces/{workspace}/signals?nextToken=abc
                    required:
                    - token
                    - href
                required:
                - size
                - data
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    const: Validation Error
                  details:
                    $schema: https://json-schema.org/draft/2020-12/schema
                    type: string
                required:
                - status
                - details
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    const: Unauthorized
                required:
                - status
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                description: Workspace not found
                properties:
                  status:
                    const: Workspace not found
                required:
                - status
  /api/v1/assets/{asset}/signals:
    get:
      operationId: v1.metadata.signal.listAssetSignals
      summary: List Asset Signals
      description: List all `Signals` in an `Asset` by its `IDs`.
      tags:
      - Signal
      parameters:
      - name: asset
        in: path
        required: true
        schema:
          type: integer
          minimum: 1
          maximum: 9007199254740991
          description: '`ID` of the `Asset`'
          examples:
          - 10000
      - name: size
        in: query
        schema:
          type: integer
          minimum: 1
          maximum: 100
          default: 100
        allowEmptyValue: true
        allowReserved: true
      - name: nextToken
        in: query
        schema:
          type: string
        allowEmptyValue: true
        allowReserved: true
      - name: sortBy
        in: query
        schema:
          enum:
          - id
          - name
          - physicalUnit
          - dataType
          - description
          - longDescription
          - workspace
          - asset
          - division
          - unit
          type: string
        allowEmptyValue: true
        allowReserved: true
      - name: sortOrder
        in: query
        schema:
          anyOf:
          - const: asc
          - const: desc
          default: asc
        allowEmptyValue: true
        allowReserved: true
      responses:
        '200':
          description: '`Signal` list'
          content:
            application/json:
              schema:
                type: object
                properties:
                  size:
                    type: integer
                    minimum: 0
                    maximum: 9007199254740991
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          minimum: 1
                          maximum: 9007199254740991
                          description: '`ID` of the `Signal`'
                          examples:
                          - 10000
                        name:
                          type: string
                          description: '`Name` of the `Signal`'
                          examples:
                          - Signal 1
                        physicalUnit:
                          type: string
                          description: Physical unit of the `Signal`
                          examples:
                          - m/s
                        dataType:
                          anyOf:
                          - const: float
                          - const: boolean
                          - const: string
                          - const: json
                          description: '`Data type` of the `Signal`'
                        description:
                          anyOf:
                          - type: string
                          - type: 'null'
                          description: '`Description` of the `Signal`'
                          examples:
                          - Signal description
                        longDescription:
                          anyOf:
                          - type: string
                          - type: 'null'
                          description: Long description of the `Signal`
                          examples:
                          - Signal description
                        workspace:
                          type: object
                          properties:
                            id:
                              type: integer
                              minimum: 1
                              maximum: 9007199254740991
                              description: '`ID` of the `Workspace`'
                              examples:
                              - 10000
                            name:
                              type: string
                              description: '`Name` of the `Workspace`'
                              examples:
                              - Workspace 1
                          required:
                          - id
                          - name
                        asset:
                          type: object
                          properties:
                      

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