{
  "opencollection": "1.0.0",
  "info": {
    "name": "Ninox Public Fields API",
    "version": "1.0.0"
  },
  "items": [
    {
      "info": {
        "name": "Fields",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "List all fields in a table",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/v1/workspace/:workspaceId/modules/:moduleName/tables/:tableName/fields",
            "params": [
              {
                "name": "moduleName",
                "value": "",
                "type": "path",
                "description": "Module name"
              },
              {
                "name": "tableName",
                "value": "",
                "type": "path",
                "description": "Table name"
              },
              {
                "name": "workspaceId",
                "value": "",
                "type": "path",
                "description": "Workspace ID"
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Retrieves all fields defined in a table. Each field in the response includes type-specific properties: `options` (array for choice/multi, expression string for dchoice/dmulti), `optionName` / `optionIcon` / `optionColor` for dchoice/dmulti, and `expression` for function fields."
        },
        {
          "info": {
            "name": "Create a field",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "{{baseUrl}}/api/v1/workspace/:workspaceId/modules/:moduleName/tables/:tableName/fields",
            "params": [
              {
                "name": "moduleName",
                "value": "",
                "type": "path",
                "description": "Module name"
              },
              {
                "name": "tableName",
                "value": "",
                "type": "path",
                "description": "Table name"
              },
              {
                "name": "workspaceId",
                "value": "",
                "type": "path",
                "description": "Workspace ID"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Creates a new field in a table.\n\n**Choice / multi fields:** provide an `options` array with initial values. Each option receives a server-assigned stable `id` returned in the response.\n\n**Dynamic choice / dmulti fields:** `options` is required and must be an expression that resolves the selectable records at runtime. `optionName`, `optionIcon`, and `optionColor` are optional display-value expressions. All expressions are validated after save — if any are invalid the field is still created and th"
        },
        {
          "info": {
            "name": "Create multiple fields (batch)",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "{{baseUrl}}/api/v1/workspace/:workspaceId/modules/:moduleName/tables/:tableName/fields/batch",
            "params": [
              {
                "name": "moduleName",
                "value": "",
                "type": "path",
                "description": "Module name"
              },
              {
                "name": "tableName",
                "value": "",
                "type": "path",
                "description": "Table name"
              },
              {
                "name": "workspaceId",
                "value": "",
                "type": "path",
                "description": "Workspace ID"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Creates multiple fields in a table within a single transaction. If any field creation fails, all changes are rolled back.\n\nThe same rules as the single-create endpoint apply per field: choice/multi fields accept an initial `options` array; dchoice/dmulti fields require an `options` expression; logic fields accept an optional `expression`. All expressions are validated after save — invalid expressions do not prevent creation but add an `expressionErrors` array to the affected field in the respons"
        },
        {
          "info": {
            "name": "Delete multiple fields (batch)",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "{{baseUrl}}/api/v1/workspace/:workspaceId/modules/:moduleName/tables/:tableName/fields/batch",
            "params": [
              {
                "name": "moduleName",
                "value": "",
                "type": "path",
                "description": "Module name"
              },
              {
                "name": "tableName",
                "value": "",
                "type": "path",
                "description": "Table name"
              },
              {
                "name": "workspaceId",
                "value": "",
                "type": "path",
                "description": "Workspace ID"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Deletes multiple fields in a table within a single transaction. If any field deletion fails, all changes are rolled back."
        },
        {
          "info": {
            "name": "Get a specific field",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/v1/workspace/:workspaceId/modules/:moduleName/tables/:tableName/fields/:fieldName",
            "params": [
              {
                "name": "fieldName",
                "value": "",
                "type": "path",
                "description": "Field name"
              },
              {
                "name": "moduleName",
                "value": "",
                "type": "path",
                "description": "Module name"
              },
              {
                "name": "tableName",
                "value": "",
                "type": "path",
                "description": "Table name"
              },
              {
                "name": "workspaceId",
                "value": "",
                "type": "path",
                "description": "Workspace ID"
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Retrieves detailed information about a specific field in a table. For choice/multi fields the response includes an `options` array with stable ids. For dchoice/dmulti fields the response includes the `options` expression and any configured `optionName`, `optionIcon`, `optionColor` formulas. For function fields the response includes the `expression`."
        },
        {
          "info": {
            "name": "Update a field",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "{{baseUrl}}/api/v1/workspace/:workspaceId/modules/:moduleName/tables/:tableName/fields/:fieldName",
            "params": [
              {
                "name": "fieldName",
                "value": "",
                "type": "path",
                "description": "Field name"
              },
              {
                "name": "moduleName",
                "value": "",
                "type": "path",
                "description": "Module name"
              },
              {
                "name": "tableName",
                "value": "",
                "type": "path",
                "description": "Table name"
              },
              {
                "name": "workspaceId",
                "value": "",
                "type": "path",
                "description": "Workspace ID"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Updates an existing field in a table.\n\n**choice / multi fields:** `options` replaces the full option list. Include the stable `id` for existing options you want to keep; omit `id` for new options. Sending an options array to a non-choice field or an options expression to a non-dynamic-choice field returns 400.\n\n**dchoice / dmulti fields:** `options` updates the selection expression. `optionName`, `optionIcon`, and `optionColor` update the corresponding display-value formulas. All expressions are"
        },
        {
          "info": {
            "name": "Delete a field",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "{{baseUrl}}/api/v1/workspace/:workspaceId/modules/:moduleName/tables/:tableName/fields/:fieldName",
            "params": [
              {
                "name": "fieldName",
                "value": "",
                "type": "path",
                "description": "Field name"
              },
              {
                "name": "tableName",
                "value": "",
                "type": "path",
                "description": "Table name"
              },
              {
                "name": "moduleName",
                "value": "",
                "type": "path",
                "description": "Module name"
              },
              {
                "name": "workspaceId",
                "value": "",
                "type": "path",
                "description": "Workspace ID"
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Deletes a field in a table"
        }
      ]
    }
  ],
  "bundled": true
}