SendGrid · Capability

Twilio SendGrid Subusers — Subusers

Twilio SendGrid Subusers — Subusers. 9 operations. Lead operation: List all Subusers. Self-contained Naftiko capability covering one Sendgrid business surface.

Run with Naftiko SendgridSubusers

What You Can Do

GET
Listsubuser — List all Subusers
/v1/v3/subusers
POST
Createsubuser — Create Subuser
/v1/v3/subusers
GET
Listreputation — Retrieve Subuser Reputations
/v1/v3/subusers/reputations
PATCH
Updatesubuser — Enable/disable a subuser
/v1/v3/subusers/{subuser-name}
DELETE
Deletesubuser — Delete a subuser
/v1/v3/subusers/{subuser-name}
GET
Getsubusercredit — Get the Credits for a Subuser
/v1/v3/subusers/{subuser-name}/credits
PUT
Updatesubusercredit — Update the Credits for a Subuser
/v1/v3/subusers/{subuser-name}/credits
PATCH
Updatesubuserremainingcredit — Update the remaining credits for a Subuser
/v1/v3/subusers/{subuser-name}/credits/remaining
PUT
Updatesubuserip — Update IPs assigned to a subuser
/v1/v3/subusers/{subuser-name}/ips

MCP Tools

list-all-subusers

List all Subusers

read-only idempotent
create-subuser

Create Subuser

retrieve-subuser-reputations

Retrieve Subuser Reputations

read-only idempotent
enable-disable-subuser

Enable/disable a subuser

idempotent
delete-subuser

Delete a subuser

idempotent
get-credits-subuser

Get the Credits for a Subuser

read-only idempotent
update-credits-subuser

Update the Credits for a Subuser

idempotent
update-remaining-credits-subuser

Update the remaining credits for a Subuser

idempotent
update-ips-assigned-subuser

Update IPs assigned to a subuser

idempotent

Capability Spec

tsg_subusers_v3-subusers.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Twilio SendGrid Subusers — Subusers
  description: 'Twilio SendGrid Subusers — Subusers. 9 operations. Lead operation: List all Subusers. Self-contained Naftiko
    capability covering one Sendgrid business surface.'
  tags:
  - Sendgrid
  - Subusers
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    SENDGRID_API_KEY: SENDGRID_API_KEY
capability:
  consumes:
  - type: http
    namespace: tsg_subusers_v3-subusers
    baseUri: https://api.sendgrid.com
    description: Twilio SendGrid Subusers — Subusers business capability. Self-contained, no shared references.
    resources:
    - name: v3-subusers
      path: /v3/subusers
      operations:
      - name: listsubuser
        method: GET
        description: List all Subusers
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: username
          in: query
          type: string
          description: The username of this subuser.
        - name: limit
          in: query
          type: integer
          description: '`limit` sets the page size, i.e. maximum number of items from the list to be returned for a single
            API request. If omitted, the default page size is used.'
        - name: region
          in: query
          type: string
          description: 'Filter for Subusers in this region. If not provided, all Subusers will be returned. All users can
            also be explicitly requested by using the filter `all`. Users '
        - name: include_region
          in: query
          type: boolean
          description: Optional flag to include the regions of the Subusers in the response. If not provided, the region will
            be omitted from the response.
      - name: createsubuser
        method: POST
        description: Create Subuser
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v3-subusers-reputations
      path: /v3/subusers/reputations
      operations:
      - name: listreputation
        method: GET
        description: Retrieve Subuser Reputations
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: usernames
          in: query
          type: string
    - name: v3-subusers-subuser_name
      path: /v3/subusers/{subuser_name}
      operations:
      - name: updatesubuser
        method: PATCH
        description: Enable/disable a subuser
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: deletesubuser
        method: DELETE
        description: Delete a subuser
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v3-subusers-subuser_name-credits
      path: /v3/subusers/{subuser_name}/credits
      operations:
      - name: getsubusercredit
        method: GET
        description: Get the Credits for a Subuser
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updatesubusercredit
        method: PUT
        description: Update the Credits for a Subuser
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: v3-subusers-subuser_name-credits-remaining
      path: /v3/subusers/{subuser_name}/credits/remaining
      operations:
      - name: updatesubuserremainingcredit
        method: PATCH
        description: Update the remaining credits for a Subuser
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: v3-subusers-subuser_name-ips
      path: /v3/subusers/{subuser_name}/ips
      operations:
      - name: updatesubuserip
        method: PUT
        description: Update IPs assigned to a subuser
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    authentication:
      type: bearer
      token: '{{env.SENDGRID_API_KEY}}'
  exposes:
  - type: rest
    namespace: tsg_subusers_v3-subusers-rest
    port: 8080
    description: REST adapter for Twilio SendGrid Subusers — Subusers. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/v3/subusers
      name: v3-subusers
      description: REST surface for v3-subusers.
      operations:
      - method: GET
        name: listsubuser
        description: List all Subusers
        call: tsg_subusers_v3-subusers.listsubuser
        with:
          username: rest.username
          limit: rest.limit
          region: rest.region
          include_region: rest.include_region
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createsubuser
        description: Create Subuser
        call: tsg_subusers_v3-subusers.createsubuser
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v3/subusers/reputations
      name: v3-subusers-reputations
      description: REST surface for v3-subusers-reputations.
      operations:
      - method: GET
        name: listreputation
        description: Retrieve Subuser Reputations
        call: tsg_subusers_v3-subusers.listreputation
        with:
          usernames: rest.usernames
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v3/subusers/{subuser-name}
      name: v3-subusers-subuser-name
      description: REST surface for v3-subusers-subuser_name.
      operations:
      - method: PATCH
        name: updatesubuser
        description: Enable/disable a subuser
        call: tsg_subusers_v3-subusers.updatesubuser
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletesubuser
        description: Delete a subuser
        call: tsg_subusers_v3-subusers.deletesubuser
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v3/subusers/{subuser-name}/credits
      name: v3-subusers-subuser-name-credits
      description: REST surface for v3-subusers-subuser_name-credits.
      operations:
      - method: GET
        name: getsubusercredit
        description: Get the Credits for a Subuser
        call: tsg_subusers_v3-subusers.getsubusercredit
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updatesubusercredit
        description: Update the Credits for a Subuser
        call: tsg_subusers_v3-subusers.updatesubusercredit
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v3/subusers/{subuser-name}/credits/remaining
      name: v3-subusers-subuser-name-credits-remaining
      description: REST surface for v3-subusers-subuser_name-credits-remaining.
      operations:
      - method: PATCH
        name: updatesubuserremainingcredit
        description: Update the remaining credits for a Subuser
        call: tsg_subusers_v3-subusers.updatesubuserremainingcredit
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v3/subusers/{subuser-name}/ips
      name: v3-subusers-subuser-name-ips
      description: REST surface for v3-subusers-subuser_name-ips.
      operations:
      - method: PUT
        name: updatesubuserip
        description: Update IPs assigned to a subuser
        call: tsg_subusers_v3-subusers.updatesubuserip
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: tsg_subusers_v3-subusers-mcp
    port: 9090
    transport: http
    description: MCP adapter for Twilio SendGrid Subusers — Subusers. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: list-all-subusers
      description: List all Subusers
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: tsg_subusers_v3-subusers.listsubuser
      with:
        username: tools.username
        limit: tools.limit
        region: tools.region
        include_region: tools.include_region
      outputParameters:
      - type: object
        mapping: $.
    - name: create-subuser
      description: Create Subuser
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: tsg_subusers_v3-subusers.createsubuser
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: retrieve-subuser-reputations
      description: Retrieve Subuser Reputations
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: tsg_subusers_v3-subusers.listreputation
      with:
        usernames: tools.usernames
      outputParameters:
      - type: object
        mapping: $.
    - name: enable-disable-subuser
      description: Enable/disable a subuser
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: tsg_subusers_v3-subusers.updatesubuser
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-subuser
      description: Delete a subuser
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: tsg_subusers_v3-subusers.deletesubuser
      outputParameters:
      - type: object
        mapping: $.
    - name: get-credits-subuser
      description: Get the Credits for a Subuser
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: tsg_subusers_v3-subusers.getsubusercredit
      outputParameters:
      - type: object
        mapping: $.
    - name: update-credits-subuser
      description: Update the Credits for a Subuser
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: tsg_subusers_v3-subusers.updatesubusercredit
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: update-remaining-credits-subuser
      description: Update the remaining credits for a Subuser
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: tsg_subusers_v3-subusers.updatesubuserremainingcredit
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: update-ips-assigned-subuser
      description: Update IPs assigned to a subuser
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: tsg_subusers_v3-subusers.updatesubuserip
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.