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: $.