SendGrid · Capability

Twilio SendGrid IP Address API — IP Pools

Twilio SendGrid IP Address API — IP Pools. 7 operations. Lead operation: Create an IP pool. Self-contained Naftiko capability covering one Sendgrid business surface.

Run with Naftiko SendgridIP Pools

What You Can Do

POST
Createippool — Create an IP pool
/v1/v3/ips/pools
GET
Listippool — Retrieve all IP pools
/v1/v3/ips/pools
GET
Getippool — Retrieve all the IPs in a specified pool
/v1/v3/ips/pools/{pool-name}
PUT
Updateippool — Rename an IP pool
/v1/v3/ips/pools/{pool-name}
DELETE
Deleteippool — Delete an IP pool
/v1/v3/ips/pools/{pool-name}
POST
Addiptoippool — Add an IP address to a pool
/v1/v3/ips/pools/{pool-name}/ips
DELETE
Deleteipfromippool — Remove an IP address from a pool
/v1/v3/ips/pools/{pool-name}/ips/{ip}

MCP Tools

create-ip-pool

Create an IP pool

retrieve-all-ip-pools

Retrieve all IP pools

read-only idempotent
retrieve-all-ips-specified-pool

Retrieve all the IPs in a specified pool

read-only idempotent
rename-ip-pool

Rename an IP pool

idempotent
delete-ip-pool

Delete an IP pool

idempotent
add-ip-address-pool

Add an IP address to a pool

remove-ip-address-pool

Remove an IP address from a pool

idempotent

Capability Spec

tsg_ips_v3-ip-pools.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Twilio SendGrid IP Address API — IP Pools
  description: 'Twilio SendGrid IP Address API — IP Pools. 7 operations. Lead operation: Create an IP pool. Self-contained
    Naftiko capability covering one Sendgrid business surface.'
  tags:
  - Sendgrid
  - IP Pools
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    SENDGRID_API_KEY: SENDGRID_API_KEY
capability:
  consumes:
  - type: http
    namespace: tsg_ips_v3-ip-pools
    baseUri: https://api.sendgrid.com
    description: Twilio SendGrid IP Address API — IP Pools business capability. Self-contained, no shared references.
    resources:
    - name: v3-ips-pools
      path: /v3/ips/pools
      operations:
      - name: createippool
        method: POST
        description: Create an IP pool
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: listippool
        method: GET
        description: Retrieve all IP pools
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v3-ips-pools-pool_name
      path: /v3/ips/pools/{pool_name}
      operations:
      - name: getippool
        method: GET
        description: Retrieve all the IPs in a specified pool
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updateippool
        method: PUT
        description: Rename an IP pool
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: deleteippool
        method: DELETE
        description: Delete an IP pool
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v3-ips-pools-pool_name-ips
      path: /v3/ips/pools/{pool_name}/ips
      operations:
      - name: addiptoippool
        method: POST
        description: Add an IP address to a pool
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v3-ips-pools-pool_name-ips-ip
      path: /v3/ips/pools/{pool_name}/ips/{ip}
      operations:
      - name: deleteipfromippool
        method: DELETE
        description: Remove an IP address from a pool
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    authentication:
      type: bearer
      token: '{{env.SENDGRID_API_KEY}}'
  exposes:
  - type: rest
    namespace: tsg_ips_v3-ip-pools-rest
    port: 8080
    description: REST adapter for Twilio SendGrid IP Address API — IP Pools. One Spectral-compliant resource per consumed
      operation, prefixed with /v1.
    resources:
    - path: /v1/v3/ips/pools
      name: v3-ips-pools
      description: REST surface for v3-ips-pools.
      operations:
      - method: POST
        name: createippool
        description: Create an IP pool
        call: tsg_ips_v3-ip-pools.createippool
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: listippool
        description: Retrieve all IP pools
        call: tsg_ips_v3-ip-pools.listippool
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v3/ips/pools/{pool-name}
      name: v3-ips-pools-pool-name
      description: REST surface for v3-ips-pools-pool_name.
      operations:
      - method: GET
        name: getippool
        description: Retrieve all the IPs in a specified pool
        call: tsg_ips_v3-ip-pools.getippool
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updateippool
        description: Rename an IP pool
        call: tsg_ips_v3-ip-pools.updateippool
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deleteippool
        description: Delete an IP pool
        call: tsg_ips_v3-ip-pools.deleteippool
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v3/ips/pools/{pool-name}/ips
      name: v3-ips-pools-pool-name-ips
      description: REST surface for v3-ips-pools-pool_name-ips.
      operations:
      - method: POST
        name: addiptoippool
        description: Add an IP address to a pool
        call: tsg_ips_v3-ip-pools.addiptoippool
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v3/ips/pools/{pool-name}/ips/{ip}
      name: v3-ips-pools-pool-name-ips-ip
      description: REST surface for v3-ips-pools-pool_name-ips-ip.
      operations:
      - method: DELETE
        name: deleteipfromippool
        description: Remove an IP address from a pool
        call: tsg_ips_v3-ip-pools.deleteipfromippool
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: tsg_ips_v3-ip-pools-mcp
    port: 9090
    transport: http
    description: MCP adapter for Twilio SendGrid IP Address API — IP Pools. One tool per consumed operation, routed inline
      through this capability's consumes block.
    tools:
    - name: create-ip-pool
      description: Create an IP pool
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: tsg_ips_v3-ip-pools.createippool
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: retrieve-all-ip-pools
      description: Retrieve all IP pools
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: tsg_ips_v3-ip-pools.listippool
      outputParameters:
      - type: object
        mapping: $.
    - name: retrieve-all-ips-specified-pool
      description: Retrieve all the IPs in a specified pool
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: tsg_ips_v3-ip-pools.getippool
      outputParameters:
      - type: object
        mapping: $.
    - name: rename-ip-pool
      description: Rename an IP pool
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: tsg_ips_v3-ip-pools.updateippool
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-ip-pool
      description: Delete an IP pool
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: tsg_ips_v3-ip-pools.deleteippool
      outputParameters:
      - type: object
        mapping: $.
    - name: add-ip-address-pool
      description: Add an IP address to a pool
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: tsg_ips_v3-ip-pools.addiptoippool
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: remove-ip-address-pool
      description: Remove an IP address from a pool
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: tsg_ips_v3-ip-pools.deleteipfromippool
      outputParameters:
      - type: object
        mapping: $.