Amazon SNS · Capability

Amazon SNS Amazon Simple Notification Service (SNS) API — Subscriptions

Amazon SNS Amazon Simple Notification Service (SNS) API — Subscriptions. 7 operations. Lead operation: Amazon Sns Confirm a Pending Subscription. Self-contained Naftiko capability covering one Amazon Sns business surface.

Run with Naftiko Amazon SnsSubscriptions

What You Can Do

POST
Confirmsubscription — Amazon Sns Confirm a Pending Subscription
/v1/action-confirmsubscription
GET
Getsubscriptionattributes — Amazon Sns Get Attributes of a Subscription
/v1/action-getsubscriptionattributes
GET
Listsubscriptions — Amazon Sns List All Subscriptions
/v1/action-listsubscriptions
GET
Listsubscriptionsbytopic — Amazon Sns List Subscriptions for a Specific Topic
/v1/action-listsubscriptionsbytopic
POST
Setsubscriptionattributes — Amazon Sns Set Attributes on a Subscription
/v1/action-setsubscriptionattributes
POST
Subscribe — Amazon Sns Subscribe an Endpoint to an Sns Topic
/v1/action-subscribe
POST
Unsubscribe — Amazon Sns Unsubscribe From an Sns Topic
/v1/action-unsubscribe

MCP Tools

amazon-sns-confirm-pending-subscription

Amazon Sns Confirm a Pending Subscription

amazon-sns-get-attributes-subscription

Amazon Sns Get Attributes of a Subscription

read-only idempotent
amazon-sns-list-all-subscriptions

Amazon Sns List All Subscriptions

read-only idempotent
amazon-sns-list-subscriptions-specific

Amazon Sns List Subscriptions for a Specific Topic

read-only idempotent
amazon-sns-set-attributes-subscription

Amazon Sns Set Attributes on a Subscription

amazon-sns-subscribe-endpoint-sns

Amazon Sns Subscribe an Endpoint to an Sns Topic

amazon-sns-unsubscribe-sns-topic

Amazon Sns Unsubscribe From an Sns Topic

Capability Spec

amazon-sns-subscriptions.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Amazon SNS Amazon Simple Notification Service (SNS) API — Subscriptions
  description: 'Amazon SNS Amazon Simple Notification Service (SNS) API — Subscriptions. 7 operations. Lead operation: Amazon
    Sns Confirm a Pending Subscription. Self-contained Naftiko capability covering one Amazon Sns business surface.'
  tags:
  - Amazon Sns
  - Subscriptions
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    AMAZON_SNS_API_KEY: AMAZON_SNS_API_KEY
capability:
  consumes:
  - type: http
    namespace: amazon-sns-subscriptions
    baseUri: https://sns.{region}.amazonaws.com
    description: Amazon SNS Amazon Simple Notification Service (SNS) API — Subscriptions business capability. Self-contained,
      no shared references.
    resources:
    - name: ?Action=ConfirmSubscription
      path: /?Action=ConfirmSubscription
      operations:
      - name: confirmsubscription
        method: POST
        description: Amazon Sns Confirm a Pending Subscription
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: ?Action=GetSubscriptionAttributes
      path: /?Action=GetSubscriptionAttributes
      operations:
      - name: getsubscriptionattributes
        method: GET
        description: Amazon Sns Get Attributes of a Subscription
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: SubscriptionArn
          in: query
          type: string
          description: The ARN of the subscription whose properties you want to get
          required: true
    - name: ?Action=ListSubscriptions
      path: /?Action=ListSubscriptions
      operations:
      - name: listsubscriptions
        method: GET
        description: Amazon Sns List All Subscriptions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: NextToken
          in: query
          type: string
          description: Token returned by the previous request for pagination
    - name: ?Action=ListSubscriptionsByTopic
      path: /?Action=ListSubscriptionsByTopic
      operations:
      - name: listsubscriptionsbytopic
        method: GET
        description: Amazon Sns List Subscriptions for a Specific Topic
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: TopicArn
          in: query
          type: string
          description: The ARN of the topic for which you wish to list subscriptions
          required: true
        - name: NextToken
          in: query
          type: string
          description: Token returned by the previous request for pagination
    - name: ?Action=SetSubscriptionAttributes
      path: /?Action=SetSubscriptionAttributes
      operations:
      - name: setsubscriptionattributes
        method: POST
        description: Amazon Sns Set Attributes on a Subscription
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: ?Action=Subscribe
      path: /?Action=Subscribe
      operations:
      - name: subscribe
        method: POST
        description: Amazon Sns Subscribe an Endpoint to an Sns Topic
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: ?Action=Unsubscribe
      path: /?Action=Unsubscribe
      operations:
      - name: unsubscribe
        method: POST
        description: Amazon Sns Unsubscribe From an Sns Topic
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    authentication:
      type: bearer
      token: '{{env.AMAZON_SNS_API_KEY}}'
  exposes:
  - type: rest
    namespace: amazon-sns-subscriptions-rest
    port: 8080
    description: REST adapter for Amazon SNS Amazon Simple Notification Service (SNS) API — Subscriptions. One Spectral-compliant
      resource per consumed operation, prefixed with /v1.
    resources:
    - path: /v1/action-confirmsubscription
      name: action-confirmsubscription
      description: REST surface for ?Action=ConfirmSubscription.
      operations:
      - method: POST
        name: confirmsubscription
        description: Amazon Sns Confirm a Pending Subscription
        call: amazon-sns-subscriptions.confirmsubscription
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/action-getsubscriptionattributes
      name: action-getsubscriptionattributes
      description: REST surface for ?Action=GetSubscriptionAttributes.
      operations:
      - method: GET
        name: getsubscriptionattributes
        description: Amazon Sns Get Attributes of a Subscription
        call: amazon-sns-subscriptions.getsubscriptionattributes
        with:
          SubscriptionArn: rest.SubscriptionArn
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/action-listsubscriptions
      name: action-listsubscriptions
      description: REST surface for ?Action=ListSubscriptions.
      operations:
      - method: GET
        name: listsubscriptions
        description: Amazon Sns List All Subscriptions
        call: amazon-sns-subscriptions.listsubscriptions
        with:
          NextToken: rest.NextToken
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/action-listsubscriptionsbytopic
      name: action-listsubscriptionsbytopic
      description: REST surface for ?Action=ListSubscriptionsByTopic.
      operations:
      - method: GET
        name: listsubscriptionsbytopic
        description: Amazon Sns List Subscriptions for a Specific Topic
        call: amazon-sns-subscriptions.listsubscriptionsbytopic
        with:
          TopicArn: rest.TopicArn
          NextToken: rest.NextToken
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/action-setsubscriptionattributes
      name: action-setsubscriptionattributes
      description: REST surface for ?Action=SetSubscriptionAttributes.
      operations:
      - method: POST
        name: setsubscriptionattributes
        description: Amazon Sns Set Attributes on a Subscription
        call: amazon-sns-subscriptions.setsubscriptionattributes
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/action-subscribe
      name: action-subscribe
      description: REST surface for ?Action=Subscribe.
      operations:
      - method: POST
        name: subscribe
        description: Amazon Sns Subscribe an Endpoint to an Sns Topic
        call: amazon-sns-subscriptions.subscribe
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/action-unsubscribe
      name: action-unsubscribe
      description: REST surface for ?Action=Unsubscribe.
      operations:
      - method: POST
        name: unsubscribe
        description: Amazon Sns Unsubscribe From an Sns Topic
        call: amazon-sns-subscriptions.unsubscribe
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: amazon-sns-subscriptions-mcp
    port: 9090
    transport: http
    description: MCP adapter for Amazon SNS Amazon Simple Notification Service (SNS) API — Subscriptions. One tool per consumed
      operation, routed inline through this capability's consumes block.
    tools:
    - name: amazon-sns-confirm-pending-subscription
      description: Amazon Sns Confirm a Pending Subscription
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: amazon-sns-subscriptions.confirmsubscription
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: amazon-sns-get-attributes-subscription
      description: Amazon Sns Get Attributes of a Subscription
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: amazon-sns-subscriptions.getsubscriptionattributes
      with:
        SubscriptionArn: tools.SubscriptionArn
      outputParameters:
      - type: object
        mapping: $.
    - name: amazon-sns-list-all-subscriptions
      description: Amazon Sns List All Subscriptions
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: amazon-sns-subscriptions.listsubscriptions
      with:
        NextToken: tools.NextToken
      outputParameters:
      - type: object
        mapping: $.
    - name: amazon-sns-list-subscriptions-specific
      description: Amazon Sns List Subscriptions for a Specific Topic
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: amazon-sns-subscriptions.listsubscriptionsbytopic
      with:
        TopicArn: tools.TopicArn
        NextToken: tools.NextToken
      outputParameters:
      - type: object
        mapping: $.
    - name: amazon-sns-set-attributes-subscription
      description: Amazon Sns Set Attributes on a Subscription
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: amazon-sns-subscriptions.setsubscriptionattributes
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: amazon-sns-subscribe-endpoint-sns
      description: Amazon Sns Subscribe an Endpoint to an Sns Topic
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: amazon-sns-subscriptions.subscribe
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: amazon-sns-unsubscribe-sns-topic
      description: Amazon Sns Unsubscribe From an Sns Topic
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: amazon-sns-subscriptions.unsubscribe
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.