Ninox Workspace API

The Workspace API from Ninox — 1 operation(s) for workspace.

OpenAPI Specification

ninox-workspace-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Ninox Public Fields Workspace API
  description: 'The Ninox Public API provides programmatic access to workspace resources, enabling seamless integration for managing modules, tables, fields and records.


    ### Authentication

    All requests require a Workspace API Key passed in the HTTP header as follows:

    **<code>Authorization: Bearer {apiKey}</code>**


    API keys can be generated and managed within the **Workspace Integration** settings in the Ninox app.'
  version: 1.0.0
  contact: {}
servers: []
tags:
- name: Workspace
paths:
  /api/v1/workspace/{workspaceId}:
    get:
      operationId: WorkspacesV1Controller_getWorkspace
      summary: Get workspace details
      description: Retrieves comprehensive details about a workspace, including all its modules
      parameters:
      - name: workspaceId
        required: true
        in: path
        description: Workspace ID
        schema:
          minLength: 12
          maxLength: 12
          pattern: ^[a-z0-9]+$
          example: 5rdco4s18swu
          type: string
      responses:
        '200':
          description: Workspace details retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkspaceResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Workspace not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - bearer: []
      tags:
      - Workspace
components:
  schemas:
    WorkspaceResponse:
      type: object
      properties:
        data:
          type: object
          properties:
            modules:
              type: array
              items:
                type: object
                properties:
                  hideNavigation:
                    description: Hide module from navigation
                    type: boolean
                  icon:
                    description: Module icon
                    type: object
                    properties:
                      color:
                        description: Icon color (hex string)
                        type: string
                      filling:
                        description: Icon filling
                        anyOf:
                        - type: number
                          enum:
                          - 0
                        - type: number
                          enum:
                          - 1
                      icon:
                        type: string
                        description: Icon name
                    required:
                    - icon
                  isHidden:
                    description: Hide module
                    type: boolean
                  labels:
                    description: Module labels (localized)
                    type: object
                    additionalProperties:
                      type: string
                  name:
                    type: string
                  openRoles:
                    description: Module open roles
                    type: array
                    items:
                      type: string
                  tables:
                    type: array
                    items:
                      type: object
                      properties:
                        createRoles:
                          description: Roles allowed to create records
                          type: array
                          items:
                            type: string
                        deleteRoles:
                          description: Roles allowed to delete records
                          type: array
                          items:
                            type: string
                        fields:
                          type: array
                          items:
                            type: object
                            properties:
                              expression:
                                description: Expression (for function type)
                                type: string
                              expressionErrors:
                                description: Expression validation errors (for function type)
                                type: array
                                items:
                                  type: object
                                  properties:
                                    column:
                                      type: number
                                      description: Column number where the error occurred
                                    line:
                                      type: number
                                      description: Line number where the error occurred
                                    message:
                                      type: string
                                      description: Error message
                                  required:
                                  - column
                                  - line
                                  - message
                              index:
                                description: Field is indexed
                                type: boolean
                              labels:
                                description: Field labels (localized)
                                type: object
                                additionalProperties:
                                  type: string
                              name:
                                type: string
                                description: Field name
                              optionColor:
                                description: Color expression for dchoice/dmulti fields
                                type: string
                              optionIcon:
                                description: Icon expression for dchoice/dmulti fields
                                type: string
                              optionName:
                                description: Display name expression for dchoice/dmulti fields
                                type: string
                              options:
                                description: Options array for choice/multi fields, or selection expression for dchoice/dmulti fields
                                anyOf:
                                - type: array
                                  items:
                                    type: object
                                    properties:
                                      color:
                                        description: Option color (hex string)
                                        type: string
                                      icon:
                                        description: Option icon name
                                        type: string
                                      id:
                                        type: string
                                        description: Stable option id
                                      labels:
                                        description: Localized option labels
                                        type: object
                                        additionalProperties:
                                          type: string
                                      name:
                                        type: string
                                        description: Option name
                                      order:
                                        type: number
                                        description: Option display order
                                      textColor:
                                        description: Option text color (hex string)
                                        type: string
                                    required:
                                    - id
                                    - name
                                    - order
                                - type: string
                              readRoles:
                                description: Roles allowed to read the field
                                type: array
                                items:
                                  type: string
                              refTableId:
                                description: Reference table id
                                type: string
                              required:
                                description: Field is required
                                type: boolean
                              search:
                                description: Field is searchable
                                type: boolean
                              type:
                                type: string
                                enum:
                                - any
                                - appointment
                                - boolean
                                - choice
                                - color
                                - date
                                - dchoice
                                - dmulti
                                - file
                                - function
                                - html
                                - icon
                                - lambda
                                - multi
                                - number
                                - react
                                - reference
                                - reverse
                                - rowId
                                - string
                                - styled
                                - time
                                - timeinterval
                                - timestamp
                                - unknown
                                - user
                                - void
                                description: Field type
                              unique:
                                description: Field is unique
                                type: boolean
                              variant:
                                description: Field variant (for string type)
                                type: string
                              writeRoles:
                                description: Roles allowed to write to the field
                                type: array
                                items:
                                  type: string
                            required:
                            - name
                            - type
                        hasFiles:
                          description: Enable files for the table
                          type: boolean
                        hasGlobalSearch:
                          description: Enable global search for the table
                          type: boolean
                        hasHistory:
                          description: Enable history for the table
                          type: boolean
                        icon:
                          description: Table icon
                          type: object
                          properties:
                            color:
                              description: Icon color (hex string)
                              type: string
                            filling:
                              description: Icon filling
                              anyOf:
                              - type: number
                                enum:
                                - 0
                              - type: number
                                enum:
                                - 1
                            icon:
                              type: string
                              description: Icon name
                          required:
                          - icon
                        isEmailLinkingEnabled:
                          description: Enable email linking for the table
                          type: boolean
                        isHidden:
                          description: Hide the table
                          type: boolean
                        labels:
                          description: Table labels (localized)
                          type: object
                          additionalProperties:
                            type: string
                        name:
                          type: string
                        readRoles:
                          description: Roles allowed to read records
                          type: array
                          items:
                            type: string
                        writeRoles:
                          description: Roles allowed to update records
                          type: array
                          items:
                            type: string
                      required:
                      - name
                required:
                - name
            name:
              type: string
          description: Workspace details
      required:
      - data
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            message:
              type: string
              description: Error message
      required:
      - error
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: API Key
      description: "Enter your Workspace API key. \n\n API keys can be generated and managed within the **Workspace Integration** settings in the Ninox app."
      in: header
      name: Authorization
      type: http