Twilio · Capability

Twilio Video API — Participants

Twilio Video API — Participants. 6 operations. Lead operation: Twilio List Room Participants. Self-contained Naftiko capability covering one Twilio business surface.

Run with Naftiko TwilioParticipants

What You Can Do

GET
Listparticipants — Twilio List Room Participants
/v1/rooms/{roomsid}/participants
GET
Fetchparticipant — Twilio Fetch a Participant
/v1/rooms/{roomsid}/participants/{participantsid}
POST
Updateparticipant — Twilio Disconnect a Participant
/v1/rooms/{roomsid}/participants/{participantsid}
GET
Listpublishedtracks — Twilio List Published Tracks
/v1/rooms/{roomsid}/participants/{participantsid}/publishedtracks
GET
Fetchsubscriberules — Twilio Fetch Subscribe Rules
/v1/rooms/{roomsid}/participants/{participantsid}/subscriberules
POST
Updatesubscriberules — Twilio Update Subscribe Rules
/v1/rooms/{roomsid}/participants/{participantsid}/subscriberules

MCP Tools

twilio-list-room-participants

Twilio List Room Participants

read-only idempotent
twilio-fetch-participant

Twilio Fetch a Participant

read-only idempotent
twilio-disconnect-participant

Twilio Disconnect a Participant

twilio-list-published-tracks

Twilio List Published Tracks

read-only idempotent
twilio-fetch-subscribe-rules

Twilio Fetch Subscribe Rules

read-only idempotent
twilio-update-subscribe-rules

Twilio Update Subscribe Rules

Capability Spec

video-participants.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Twilio Video API — Participants
  description: 'Twilio Video API — Participants. 6 operations. Lead operation: Twilio List Room Participants. Self-contained
    Naftiko capability covering one Twilio business surface.'
  tags:
  - Twilio
  - Participants
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    TWILIO_API_KEY: TWILIO_API_KEY
capability:
  consumes:
  - type: http
    namespace: video-participants
    baseUri: https://video.twilio.com/v1
    description: Twilio Video API — Participants business capability. Self-contained, no shared references.
    resources:
    - name: Rooms-RoomSid-Participants
      path: /Rooms/{RoomSid}/Participants
      operations:
      - name: listparticipants
        method: GET
        description: Twilio List Room Participants
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: Status
          in: query
          type: string
        - name: Identity
          in: query
          type: string
        - name: PageSize
          in: query
          type: integer
    - name: Rooms-RoomSid-Participants-ParticipantSid
      path: /Rooms/{RoomSid}/Participants/{ParticipantSid}
      operations:
      - name: fetchparticipant
        method: GET
        description: Twilio Fetch a Participant
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updateparticipant
        method: POST
        description: Twilio Disconnect a Participant
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: Rooms-RoomSid-Participants-ParticipantSid-PublishedTracks
      path: /Rooms/{RoomSid}/Participants/{ParticipantSid}/PublishedTracks
      operations:
      - name: listpublishedtracks
        method: GET
        description: Twilio List Published Tracks
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: Rooms-RoomSid-Participants-ParticipantSid-SubscribeRules
      path: /Rooms/{RoomSid}/Participants/{ParticipantSid}/SubscribeRules
      operations:
      - name: fetchsubscriberules
        method: GET
        description: Twilio Fetch Subscribe Rules
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updatesubscriberules
        method: POST
        description: Twilio Update Subscribe Rules
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    authentication:
      type: basic
      username: '{{env.TWILIO_USER}}'
      password: '{{env.TWILIO_PASS}}'
  exposes:
  - type: rest
    namespace: video-participants-rest
    port: 8080
    description: REST adapter for Twilio Video API — Participants. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/rooms/{roomsid}/participants
      name: rooms-roomsid-participants
      description: REST surface for Rooms-RoomSid-Participants.
      operations:
      - method: GET
        name: listparticipants
        description: Twilio List Room Participants
        call: video-participants.listparticipants
        with:
          Status: rest.Status
          Identity: rest.Identity
          PageSize: rest.PageSize
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/rooms/{roomsid}/participants/{participantsid}
      name: rooms-roomsid-participants-participantsid
      description: REST surface for Rooms-RoomSid-Participants-ParticipantSid.
      operations:
      - method: GET
        name: fetchparticipant
        description: Twilio Fetch a Participant
        call: video-participants.fetchparticipant
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: updateparticipant
        description: Twilio Disconnect a Participant
        call: video-participants.updateparticipant
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/rooms/{roomsid}/participants/{participantsid}/publishedtracks
      name: rooms-roomsid-participants-participantsid-publishedtracks
      description: REST surface for Rooms-RoomSid-Participants-ParticipantSid-PublishedTracks.
      operations:
      - method: GET
        name: listpublishedtracks
        description: Twilio List Published Tracks
        call: video-participants.listpublishedtracks
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/rooms/{roomsid}/participants/{participantsid}/subscriberules
      name: rooms-roomsid-participants-participantsid-subscriberules
      description: REST surface for Rooms-RoomSid-Participants-ParticipantSid-SubscribeRules.
      operations:
      - method: GET
        name: fetchsubscriberules
        description: Twilio Fetch Subscribe Rules
        call: video-participants.fetchsubscriberules
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: updatesubscriberules
        description: Twilio Update Subscribe Rules
        call: video-participants.updatesubscriberules
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: video-participants-mcp
    port: 9090
    transport: http
    description: MCP adapter for Twilio Video API — Participants. One tool per consumed operation, routed inline through this
      capability's consumes block.
    tools:
    - name: twilio-list-room-participants
      description: Twilio List Room Participants
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: video-participants.listparticipants
      with:
        Status: tools.Status
        Identity: tools.Identity
        PageSize: tools.PageSize
      outputParameters:
      - type: object
        mapping: $.
    - name: twilio-fetch-participant
      description: Twilio Fetch a Participant
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: video-participants.fetchparticipant
      outputParameters:
      - type: object
        mapping: $.
    - name: twilio-disconnect-participant
      description: Twilio Disconnect a Participant
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: video-participants.updateparticipant
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: twilio-list-published-tracks
      description: Twilio List Published Tracks
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: video-participants.listpublishedtracks
      outputParameters:
      - type: object
        mapping: $.
    - name: twilio-fetch-subscribe-rules
      description: Twilio Fetch Subscribe Rules
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: video-participants.fetchsubscriberules
      outputParameters:
      - type: object
        mapping: $.
    - name: twilio-update-subscribe-rules
      description: Twilio Update Subscribe Rules
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: video-participants.updatesubscriberules
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.