Twilio · Capability

Twilio - Microvisor — Devices

Twilio - Microvisor — Devices. 13 operations. Lead operation: Devices. Self-contained Naftiko capability covering one Twilio business surface.

Run with Naftiko TwilioDevices

What You Can Do

GET
Listdevice — Retrieve a list of all Devices registered with the Account.
/v1/v1/devices
GET
Listdeviceconfig — Retrieve a list of all Configs for a Device.
/v1/v1/devices/{devicesid}/configs
POST
Createdeviceconfig — Create a config for a Microvisor Device.
/v1/v1/devices/{devicesid}/configs
GET
Fetchdeviceconfig — Retrieve a Config for a Device.
/v1/v1/devices/{devicesid}/configs/{key}
POST
Updatedeviceconfig — Update a config for a Microvisor Device.
/v1/v1/devices/{devicesid}/configs/{key}
DELETE
Deletedeviceconfig — Delete a config for a Microvisor Device.
/v1/v1/devices/{devicesid}/configs/{key}
GET
Listdevicesecret — Retrieve a list of all Secrets for a Device.
/v1/v1/devices/{devicesid}/secrets
POST
Createdevicesecret — Create a secret for a Microvisor Device.
/v1/v1/devices/{devicesid}/secrets
GET
Fetchdevicesecret — Retrieve a Secret for a Device.
/v1/v1/devices/{devicesid}/secrets/{key}
POST
Updatedevicesecret — Update a secret for a Microvisor Device.
/v1/v1/devices/{devicesid}/secrets/{key}
DELETE
Deletedevicesecret — Delete a secret for a Microvisor Device.
/v1/v1/devices/{devicesid}/secrets/{key}
GET
Fetchdevice — Fetch a specific Device.
/v1/v1/devices/{sid}
POST
Updatedevice — Update a specific Device.
/v1/v1/devices/{sid}

MCP Tools

retrieve-list-all-devices-registered

Retrieve a list of all Devices registered with the Account.

read-only idempotent
retrieve-list-all-configs-device

Retrieve a list of all Configs for a Device.

read-only idempotent
create-config-microvisor-device

Create a config for a Microvisor Device.

retrieve-config-device

Retrieve a Config for a Device.

read-only idempotent
update-config-microvisor-device

Update a config for a Microvisor Device.

delete-config-microvisor-device

Delete a config for a Microvisor Device.

idempotent
retrieve-list-all-secrets-device

Retrieve a list of all Secrets for a Device.

read-only idempotent
create-secret-microvisor-device

Create a secret for a Microvisor Device.

retrieve-secret-device

Retrieve a Secret for a Device.

read-only idempotent
update-secret-microvisor-device

Update a secret for a Microvisor Device.

delete-secret-microvisor-device

Delete a secret for a Microvisor Device.

idempotent
fetch-specific-device

Fetch a specific Device.

read-only idempotent
update-specific-device

Update a specific Device.

Capability Spec

microvisor-devices.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Twilio - Microvisor — Devices
  description: 'Twilio - Microvisor — Devices. 13 operations. Lead operation: Devices. Self-contained Naftiko capability covering
    one Twilio business surface.'
  tags:
  - Twilio
  - Devices
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    TWILIO_API_KEY: TWILIO_API_KEY
capability:
  consumes:
  - type: http
    namespace: microvisor-devices
    baseUri: https://microvisor.twilio.com
    description: Twilio - Microvisor — Devices business capability. Self-contained, no shared references.
    resources:
    - name: v1-Devices
      path: /v1/Devices
      operations:
      - name: listdevice
        method: GET
        description: Retrieve a list of all Devices registered with the Account.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: PageSize
          in: query
          type: integer
          description: How many resources to return in each list page. The default is 50, and the maximum is 1000.
        - name: Page
          in: query
          type: integer
          description: The page index. This value is simply for client state.
        - name: PageToken
          in: query
          type: string
          description: The page token. This is provided by the API.
    - name: v1-Devices-DeviceSid-Configs
      path: /v1/Devices/{DeviceSid}/Configs
      operations:
      - name: listdeviceconfig
        method: GET
        description: Retrieve a list of all Configs for a Device.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: DeviceSid
          in: path
          type: string
          description: A 34-character string that uniquely identifies the Device.
          required: true
        - name: PageSize
          in: query
          type: integer
          description: How many resources to return in each list page. The default is 50, and the maximum is 1000.
        - name: Page
          in: query
          type: integer
          description: The page index. This value is simply for client state.
        - name: PageToken
          in: query
          type: string
          description: The page token. This is provided by the API.
      - name: createdeviceconfig
        method: POST
        description: Create a config for a Microvisor Device.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: DeviceSid
          in: path
          type: string
          description: A 34-character string that uniquely identifies the Device.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-Devices-DeviceSid-Configs-Key
      path: /v1/Devices/{DeviceSid}/Configs/{Key}
      operations:
      - name: fetchdeviceconfig
        method: GET
        description: Retrieve a Config for a Device.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: DeviceSid
          in: path
          type: string
          description: A 34-character string that uniquely identifies the Device.
          required: true
        - name: Key
          in: path
          type: string
          description: The config key; up to 100 characters.
          required: true
      - name: updatedeviceconfig
        method: POST
        description: Update a config for a Microvisor Device.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: DeviceSid
          in: path
          type: string
          description: A 34-character string that uniquely identifies the Device.
          required: true
        - name: Key
          in: path
          type: string
          description: The config key; up to 100 characters.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: deletedeviceconfig
        method: DELETE
        description: Delete a config for a Microvisor Device.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: DeviceSid
          in: path
          type: string
          description: A 34-character string that uniquely identifies the Device.
          required: true
        - name: Key
          in: path
          type: string
          description: The config key; up to 100 characters.
          required: true
    - name: v1-Devices-DeviceSid-Secrets
      path: /v1/Devices/{DeviceSid}/Secrets
      operations:
      - name: listdevicesecret
        method: GET
        description: Retrieve a list of all Secrets for a Device.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: DeviceSid
          in: path
          type: string
          description: A 34-character string that uniquely identifies the Device.
          required: true
        - name: PageSize
          in: query
          type: integer
          description: How many resources to return in each list page. The default is 50, and the maximum is 1000.
        - name: Page
          in: query
          type: integer
          description: The page index. This value is simply for client state.
        - name: PageToken
          in: query
          type: string
          description: The page token. This is provided by the API.
      - name: createdevicesecret
        method: POST
        description: Create a secret for a Microvisor Device.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: DeviceSid
          in: path
          type: string
          description: A 34-character string that uniquely identifies the Device.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-Devices-DeviceSid-Secrets-Key
      path: /v1/Devices/{DeviceSid}/Secrets/{Key}
      operations:
      - name: fetchdevicesecret
        method: GET
        description: Retrieve a Secret for a Device.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: DeviceSid
          in: path
          type: string
          description: A 34-character string that uniquely identifies the Device.
          required: true
        - name: Key
          in: path
          type: string
          description: The secret key; up to 100 characters.
          required: true
      - name: updatedevicesecret
        method: POST
        description: Update a secret for a Microvisor Device.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: DeviceSid
          in: path
          type: string
          description: A 34-character string that uniquely identifies the Device.
          required: true
        - name: Key
          in: path
          type: string
          description: The secret key; up to 100 characters.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: deletedevicesecret
        method: DELETE
        description: Delete a secret for a Microvisor Device.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: DeviceSid
          in: path
          type: string
          description: A 34-character string that uniquely identifies the Device.
          required: true
        - name: Key
          in: path
          type: string
          description: The secret key; up to 100 characters.
          required: true
    - name: v1-Devices-Sid
      path: /v1/Devices/{Sid}
      operations:
      - name: fetchdevice
        method: GET
        description: Fetch a specific Device.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: Sid
          in: path
          type: string
          description: A 34-character string that uniquely identifies this Device.
          required: true
      - name: updatedevice
        method: POST
        description: Update a specific Device.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: Sid
          in: path
          type: string
          description: A 34-character string that uniquely identifies this Device.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    authentication:
      type: basic
      username: '{{env.TWILIO_USER}}'
      password: '{{env.TWILIO_PASS}}'
  exposes:
  - type: rest
    namespace: microvisor-devices-rest
    port: 8080
    description: REST adapter for Twilio - Microvisor — Devices. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/v1/devices
      name: v1-devices
      description: REST surface for v1-Devices.
      operations:
      - method: GET
        name: listdevice
        description: Retrieve a list of all Devices registered with the Account.
        call: microvisor-devices.listdevice
        with:
          PageSize: rest.PageSize
          Page: rest.Page
          PageToken: rest.PageToken
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/devices/{devicesid}/configs
      name: v1-devices-devicesid-configs
      description: REST surface for v1-Devices-DeviceSid-Configs.
      operations:
      - method: GET
        name: listdeviceconfig
        description: Retrieve a list of all Configs for a Device.
        call: microvisor-devices.listdeviceconfig
        with:
          DeviceSid: rest.DeviceSid
          PageSize: rest.PageSize
          Page: rest.Page
          PageToken: rest.PageToken
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createdeviceconfig
        description: Create a config for a Microvisor Device.
        call: microvisor-devices.createdeviceconfig
        with:
          DeviceSid: rest.DeviceSid
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/devices/{devicesid}/configs/{key}
      name: v1-devices-devicesid-configs-key
      description: REST surface for v1-Devices-DeviceSid-Configs-Key.
      operations:
      - method: GET
        name: fetchdeviceconfig
        description: Retrieve a Config for a Device.
        call: microvisor-devices.fetchdeviceconfig
        with:
          DeviceSid: rest.DeviceSid
          Key: rest.Key
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: updatedeviceconfig
        description: Update a config for a Microvisor Device.
        call: microvisor-devices.updatedeviceconfig
        with:
          DeviceSid: rest.DeviceSid
          Key: rest.Key
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletedeviceconfig
        description: Delete a config for a Microvisor Device.
        call: microvisor-devices.deletedeviceconfig
        with:
          DeviceSid: rest.DeviceSid
          Key: rest.Key
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/devices/{devicesid}/secrets
      name: v1-devices-devicesid-secrets
      description: REST surface for v1-Devices-DeviceSid-Secrets.
      operations:
      - method: GET
        name: listdevicesecret
        description: Retrieve a list of all Secrets for a Device.
        call: microvisor-devices.listdevicesecret
        with:
          DeviceSid: rest.DeviceSid
          PageSize: rest.PageSize
          Page: rest.Page
          PageToken: rest.PageToken
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createdevicesecret
        description: Create a secret for a Microvisor Device.
        call: microvisor-devices.createdevicesecret
        with:
          DeviceSid: rest.DeviceSid
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/devices/{devicesid}/secrets/{key}
      name: v1-devices-devicesid-secrets-key
      description: REST surface for v1-Devices-DeviceSid-Secrets-Key.
      operations:
      - method: GET
        name: fetchdevicesecret
        description: Retrieve a Secret for a Device.
        call: microvisor-devices.fetchdevicesecret
        with:
          DeviceSid: rest.DeviceSid
          Key: rest.Key
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: updatedevicesecret
        description: Update a secret for a Microvisor Device.
        call: microvisor-devices.updatedevicesecret
        with:
          DeviceSid: rest.DeviceSid
          Key: rest.Key
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletedevicesecret
        description: Delete a secret for a Microvisor Device.
        call: microvisor-devices.deletedevicesecret
        with:
          DeviceSid: rest.DeviceSid
          Key: rest.Key
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/devices/{sid}
      name: v1-devices-sid
      description: REST surface for v1-Devices-Sid.
      operations:
      - method: GET
        name: fetchdevice
        description: Fetch a specific Device.
        call: microvisor-devices.fetchdevice
        with:
          Sid: rest.Sid
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: updatedevice
        description: Update a specific Device.
        call: microvisor-devices.updatedevice
        with:
          Sid: rest.Sid
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: microvisor-devices-mcp
    port: 9090
    transport: http
    description: MCP adapter for Twilio - Microvisor — Devices. One tool per consumed operation, routed inline through this
      capability's consumes block.
    tools:
    - name: retrieve-list-all-devices-registered
      description: Retrieve a list of all Devices registered with the Account.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: microvisor-devices.listdevice
      with:
        PageSize: tools.PageSize
        Page: tools.Page
        PageToken: tools.PageToken
      outputParameters:
      - type: object
        mapping: $.
    - name: retrieve-list-all-configs-device
      description: Retrieve a list of all Configs for a Device.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: microvisor-devices.listdeviceconfig
      with:
        DeviceSid: tools.DeviceSid
        PageSize: tools.PageSize
        Page: tools.Page
        PageToken: tools.PageToken
      outputParameters:
      - type: object
        mapping: $.
    - name: create-config-microvisor-device
      description: Create a config for a Microvisor Device.
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: microvisor-devices.createdeviceconfig
      with:
        DeviceSid: tools.DeviceSid
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: retrieve-config-device
      description: Retrieve a Config for a Device.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: microvisor-devices.fetchdeviceconfig
      with:
        DeviceSid: tools.DeviceSid
        Key: tools.Key
      outputParameters:
      - type: object
        mapping: $.
    - name: update-config-microvisor-device
      description: Update a config for a Microvisor Device.
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: microvisor-devices.updatedeviceconfig
      with:
        DeviceSid: tools.DeviceSid
        Key: tools.Key
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-config-microvisor-device
      description: Delete a config for a Microvisor Device.
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: microvisor-devices.deletedeviceconfig
      with:
        DeviceSid: tools.DeviceSid
        Key: tools.Key
      outputParameters:
      - type: object
        mapping: $.
    - name: retrieve-list-all-secrets-device
      description: Retrieve a list of all Secrets for a Device.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: microvisor-devices.listdevicesecret
      with:
        DeviceSid: tools.DeviceSid
        PageSize: tools.PageSize
        Page: tools.Page
        PageToken: tools.PageToken
      outputParameters:
      - type: object
        mapping: $.
    - name: create-secret-microvisor-device
      description: Create a secret for a Microvisor Device.
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: microvisor-devices.createdevicesecret
      with:
        DeviceSid: tools.DeviceSid
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: retrieve-secret-device
      description: Retrieve a Secret for a Device.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: microvisor-devices.fetchdevicesecret
      with:
        DeviceSid: tools.DeviceSid
        Key: tools.Key
      outputParameters:
      - type: object
        mapping: $.
    - name: update-secret-microvisor-device
      description: Update a secret for a Microvisor Device.
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: microvisor-devices.updatedevicesecret
      with:
        DeviceSid: tools.DeviceSid
        Key: tools.Key
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-secret-microvisor-device
      description: Delete a secret for a Microvisor Device.
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: microvisor-devices.deletedevicesecret
      with:
        DeviceSid: tools.DeviceSid
        Key: tools.Key
      outputParameters:
      - type: object
        mapping: $.
    - name: fetch-specific-device
      description: Fetch a specific Device.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: microvisor-devices.fetchdevice
      with:
        Sid: tools.Sid
      outputParameters:
      - type: object
        mapping: $.
    - name: update-specific-device
      description: Update a specific Device.
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: microvisor-devices.updatedevice
      with:
        Sid: tools.Sid
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.