sensible-so · Capability

Sensible Document Types and Configurations API — Document Types

Sensible Document Types and Configurations API — 12 operations covering document type CRUD plus SenseML configuration CRUD, versioning, and environment publication.

Run with Naftiko SensibleDocument TypesConfigurationsSenseML

MCP Tools

sensible-list-document-types

List all document types for the account.

read-only idempotent
sensible-get-configuration

Get a SenseML configuration.

read-only idempotent
sensible-update-configuration

Replace a published or draft configuration version.

Capability Spec

document-types-document-types.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Sensible Document Types and Configurations API — Document Types
  description: 'Sensible Document Types and Configurations API — 12 operations covering document type CRUD plus SenseML configuration CRUD, versioning, and environment publication.'
  tags:
  - Sensible
  - Document Types
  - Configurations
  - SenseML
  created: '2026-05-25'
  modified: '2026-05-25'
binds:
- namespace: env
  keys:
    SENSIBLE_API_KEY: SENSIBLE_API_KEY
capability:
  consumes:
  - type: http
    namespace: document-types
    baseUri: https://api.sensible.so/v0
    description: Sensible Document Types and Configurations capability.
    resources:
    - name: document-types
      path: /document_types
      operations:
      - name: listDocumentTypes
        method: GET
        description: List all document types for the account.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters: []
      - name: createDocumentType
        method: POST
        description: Create a new document type.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          required: true
    - name: document-type
      path: /document_types/{type-id}
      operations:
      - name: getDocumentType
        method: GET
        description: Get a document type by id.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: type-id
          in: path
          type: string
          required: true
      - name: updateDocumentType
        method: PUT
        description: Update an existing document type.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: type-id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          required: true
      - name: deleteDocumentType
        method: DELETE
        description: Delete a document type and everything it contains.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: type-id
          in: path
          type: string
          required: true
    - name: configurations
      path: /document_types/{type-id}/configurations
      operations:
      - name: listConfigurations
        method: GET
        description: List configurations in a document type.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: type-id
          in: path
          type: string
          required: true
      - name: createConfiguration
        method: POST
        description: Create a configuration in a document type.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: type-id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          required: true
    - name: configuration
      path: /document_types/{type-id}/configurations/{config-name}
      operations:
      - name: getConfiguration
        method: GET
        description: Get a configuration by name.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: type-id
          in: path
          type: string
          required: true
        - name: config-name
          in: path
          type: string
          required: true
      - name: updateConfiguration
        method: PUT
        description: Replace a published or draft version of the configuration.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: type-id
          in: path
          type: string
          required: true
        - name: config-name
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          required: true
      - name: deleteConfiguration
        method: DELETE
        description: Delete a configuration and its versions.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: type-id
          in: path
          type: string
          required: true
        - name: config-name
          in: path
          type: string
          required: true
    - name: configuration-version
      path: /document_types/{type-id}/configurations/{config-name}/{version}
      operations:
      - name: getConfigurationByVersion
        method: GET
        description: Get a configuration version.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: type-id
          in: path
          type: string
          required: true
        - name: config-name
          in: path
          type: string
          required: true
        - name: version
          in: path
          type: string
          required: true
    authentication:
      type: apikey
      key: Authorization
      value: 'Bearer {{env.SENSIBLE_API_KEY}}'
      placement: header
  exposes:
  - type: mcp
    namespace: document-types-mcp
    port: 9090
    transport: http
    description: MCP adapter for Sensible Document Types and Configurations.
    tools:
    - name: sensible-list-document-types
      description: List all document types for the account.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: document-types.listDocumentTypes
      with: {}
      outputParameters:
      - type: object
        mapping: $.
    - name: sensible-get-configuration
      description: Get a SenseML configuration.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: document-types.getConfiguration
      with:
        type-id: tools.type-id
        config-name: tools.config-name
      outputParameters:
      - type: object
        mapping: $.
    - name: sensible-update-configuration
      description: Replace a published or draft configuration version.
      hints:
        readOnly: false
        destructive: true
        idempotent: false
      call: document-types.updateConfiguration
      with:
        type-id: tools.type-id
        config-name: tools.config-name
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.