Twilio · Capability

Twilio - Events — Subscriptions

Twilio - Events — Subscriptions. 10 operations. Lead operation: Subscriptions. Self-contained Naftiko capability covering one Twilio business surface.

Run with Naftiko TwilioSubscriptions

What You Can Do

GET
Listsubscription — Retrieve a paginated list of Subscriptions belonging to the account used to make the request.
/v1/v1/subscriptions
POST
Createsubscription — Create a new Subscription.
/v1/v1/subscriptions
GET
Fetchsubscription — Fetch a specific Subscription.
/v1/v1/subscriptions/{sid}
POST
Updatesubscription — Update a Subscription.
/v1/v1/subscriptions/{sid}
DELETE
Deletesubscription — Delete a specific Subscription.
/v1/v1/subscriptions/{sid}
GET
Listsubscribedevent — Retrieve a list of all Subscribed Event types for a Subscription.
/v1/v1/subscriptions/{subscriptionsid}/subscribedevents
POST
Createsubscribedevent — Add an event type to a Subscription.
/v1/v1/subscriptions/{subscriptionsid}/subscribedevents
GET
Fetchsubscribedevent — Read an Event for a Subscription.
/v1/v1/subscriptions/{subscriptionsid}/subscribedevents/{type}
POST
Updatesubscribedevent — Update an Event for a Subscription.
/v1/v1/subscriptions/{subscriptionsid}/subscribedevents/{type}
DELETE
Deletesubscribedevent — Remove an event type from a Subscription.
/v1/v1/subscriptions/{subscriptionsid}/subscribedevents/{type}

MCP Tools

retrieve-paginated-list-subscriptions-belonging

Retrieve a paginated list of Subscriptions belonging to the account used to make the request.

read-only idempotent
create-new-subscription

Create a new Subscription.

fetch-specific-subscription

Fetch a specific Subscription.

read-only idempotent
update-subscription

Update a Subscription.

delete-specific-subscription

Delete a specific Subscription.

idempotent
retrieve-list-all-subscribed-event

Retrieve a list of all Subscribed Event types for a Subscription.

read-only idempotent
add-event-type-subscription

Add an event type to a Subscription.

read-event-subscription

Read an Event for a Subscription.

read-only idempotent
update-event-subscription

Update an Event for a Subscription.

remove-event-type-subscription

Remove an event type from a Subscription.

idempotent

Capability Spec

events-subscriptions.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Twilio - Events — Subscriptions
  description: 'Twilio - Events — Subscriptions. 10 operations. Lead operation: Subscriptions. Self-contained Naftiko capability
    covering one Twilio business surface.'
  tags:
  - Twilio
  - Subscriptions
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    TWILIO_API_KEY: TWILIO_API_KEY
capability:
  consumes:
  - type: http
    namespace: events-subscriptions
    baseUri: https://events.twilio.com
    description: Twilio - Events — Subscriptions business capability. Self-contained, no shared references.
    resources:
    - name: v1-Subscriptions
      path: /v1/Subscriptions
      operations:
      - name: listsubscription
        method: GET
        description: Retrieve a paginated list of Subscriptions belonging to the account used to make the request.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: SinkSid
          in: query
          type: string
          description: The SID of the sink that the list of Subscriptions should be filtered by.
        - 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: createsubscription
        method: POST
        description: Create a new Subscription.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-Subscriptions-Sid
      path: /v1/Subscriptions/{Sid}
      operations:
      - name: fetchsubscription
        method: GET
        description: Fetch a specific Subscription.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: Sid
          in: path
          type: string
          description: A 34 character string that uniquely identifies this Subscription.
          required: true
      - name: updatesubscription
        method: POST
        description: Update a Subscription.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: Sid
          in: path
          type: string
          description: A 34 character string that uniquely identifies this Subscription.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: deletesubscription
        method: DELETE
        description: Delete a specific Subscription.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: Sid
          in: path
          type: string
          description: A 34 character string that uniquely identifies this Subscription.
          required: true
    - name: v1-Subscriptions-SubscriptionSid-SubscribedEvents
      path: /v1/Subscriptions/{SubscriptionSid}/SubscribedEvents
      operations:
      - name: listsubscribedevent
        method: GET
        description: Retrieve a list of all Subscribed Event types for a Subscription.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: SubscriptionSid
          in: path
          type: string
          description: The unique SID identifier of the Subscription.
          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: createsubscribedevent
        method: POST
        description: Add an event type to a Subscription.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: SubscriptionSid
          in: path
          type: string
          description: The unique SID identifier of the Subscription.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-Subscriptions-SubscriptionSid-SubscribedEvents-Type
      path: /v1/Subscriptions/{SubscriptionSid}/SubscribedEvents/{Type}
      operations:
      - name: fetchsubscribedevent
        method: GET
        description: Read an Event for a Subscription.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: SubscriptionSid
          in: path
          type: string
          description: The unique SID identifier of the Subscription.
          required: true
        - name: Type
          in: path
          type: string
          description: Type of event being subscribed to.
          required: true
      - name: updatesubscribedevent
        method: POST
        description: Update an Event for a Subscription.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: SubscriptionSid
          in: path
          type: string
          description: The unique SID identifier of the Subscription.
          required: true
        - name: Type
          in: path
          type: string
          description: Type of event being subscribed to.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: deletesubscribedevent
        method: DELETE
        description: Remove an event type from a Subscription.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: SubscriptionSid
          in: path
          type: string
          description: The unique SID identifier of the Subscription.
          required: true
        - name: Type
          in: path
          type: string
          description: Type of event being subscribed to.
          required: true
    authentication:
      type: basic
      username: '{{env.TWILIO_USER}}'
      password: '{{env.TWILIO_PASS}}'
  exposes:
  - type: rest
    namespace: events-subscriptions-rest
    port: 8080
    description: REST adapter for Twilio - Events — Subscriptions. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/v1/subscriptions
      name: v1-subscriptions
      description: REST surface for v1-Subscriptions.
      operations:
      - method: GET
        name: listsubscription
        description: Retrieve a paginated list of Subscriptions belonging to the account used to make the request.
        call: events-subscriptions.listsubscription
        with:
          SinkSid: rest.SinkSid
          PageSize: rest.PageSize
          Page: rest.Page
          PageToken: rest.PageToken
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createsubscription
        description: Create a new Subscription.
        call: events-subscriptions.createsubscription
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/subscriptions/{sid}
      name: v1-subscriptions-sid
      description: REST surface for v1-Subscriptions-Sid.
      operations:
      - method: GET
        name: fetchsubscription
        description: Fetch a specific Subscription.
        call: events-subscriptions.fetchsubscription
        with:
          Sid: rest.Sid
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: updatesubscription
        description: Update a Subscription.
        call: events-subscriptions.updatesubscription
        with:
          Sid: rest.Sid
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletesubscription
        description: Delete a specific Subscription.
        call: events-subscriptions.deletesubscription
        with:
          Sid: rest.Sid
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/subscriptions/{subscriptionsid}/subscribedevents
      name: v1-subscriptions-subscriptionsid-subscribedevents
      description: REST surface for v1-Subscriptions-SubscriptionSid-SubscribedEvents.
      operations:
      - method: GET
        name: listsubscribedevent
        description: Retrieve a list of all Subscribed Event types for a Subscription.
        call: events-subscriptions.listsubscribedevent
        with:
          SubscriptionSid: rest.SubscriptionSid
          PageSize: rest.PageSize
          Page: rest.Page
          PageToken: rest.PageToken
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createsubscribedevent
        description: Add an event type to a Subscription.
        call: events-subscriptions.createsubscribedevent
        with:
          SubscriptionSid: rest.SubscriptionSid
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/subscriptions/{subscriptionsid}/subscribedevents/{type}
      name: v1-subscriptions-subscriptionsid-subscribedevents-type
      description: REST surface for v1-Subscriptions-SubscriptionSid-SubscribedEvents-Type.
      operations:
      - method: GET
        name: fetchsubscribedevent
        description: Read an Event for a Subscription.
        call: events-subscriptions.fetchsubscribedevent
        with:
          SubscriptionSid: rest.SubscriptionSid
          Type: rest.Type
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: updatesubscribedevent
        description: Update an Event for a Subscription.
        call: events-subscriptions.updatesubscribedevent
        with:
          SubscriptionSid: rest.SubscriptionSid
          Type: rest.Type
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletesubscribedevent
        description: Remove an event type from a Subscription.
        call: events-subscriptions.deletesubscribedevent
        with:
          SubscriptionSid: rest.SubscriptionSid
          Type: rest.Type
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: events-subscriptions-mcp
    port: 9090
    transport: http
    description: MCP adapter for Twilio - Events — Subscriptions. One tool per consumed operation, routed inline through this
      capability's consumes block.
    tools:
    - name: retrieve-paginated-list-subscriptions-belonging
      description: Retrieve a paginated list of Subscriptions belonging to the account used to make the request.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: events-subscriptions.listsubscription
      with:
        SinkSid: tools.SinkSid
        PageSize: tools.PageSize
        Page: tools.Page
        PageToken: tools.PageToken
      outputParameters:
      - type: object
        mapping: $.
    - name: create-new-subscription
      description: Create a new Subscription.
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: events-subscriptions.createsubscription
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: fetch-specific-subscription
      description: Fetch a specific Subscription.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: events-subscriptions.fetchsubscription
      with:
        Sid: tools.Sid
      outputParameters:
      - type: object
        mapping: $.
    - name: update-subscription
      description: Update a Subscription.
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: events-subscriptions.updatesubscription
      with:
        Sid: tools.Sid
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-specific-subscription
      description: Delete a specific Subscription.
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: events-subscriptions.deletesubscription
      with:
        Sid: tools.Sid
      outputParameters:
      - type: object
        mapping: $.
    - name: retrieve-list-all-subscribed-event
      description: Retrieve a list of all Subscribed Event types for a Subscription.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: events-subscriptions.listsubscribedevent
      with:
        SubscriptionSid: tools.SubscriptionSid
        PageSize: tools.PageSize
        Page: tools.Page
        PageToken: tools.PageToken
      outputParameters:
      - type: object
        mapping: $.
    - name: add-event-type-subscription
      description: Add an event type to a Subscription.
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: events-subscriptions.createsubscribedevent
      with:
        SubscriptionSid: tools.SubscriptionSid
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: read-event-subscription
      description: Read an Event for a Subscription.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: events-subscriptions.fetchsubscribedevent
      with:
        SubscriptionSid: tools.SubscriptionSid
        Type: tools.Type
      outputParameters:
      - type: object
        mapping: $.
    - name: update-event-subscription
      description: Update an Event for a Subscription.
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: events-subscriptions.updatesubscribedevent
      with:
        SubscriptionSid: tools.SubscriptionSid
        Type: tools.Type
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: remove-event-type-subscription
      description: Remove an event type from a Subscription.
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: events-subscriptions.deletesubscribedevent
      with:
        SubscriptionSid: tools.SubscriptionSid
        Type: tools.Type
      outputParameters:
      - type: object
        mapping: $.