naftiko: 1.0.0-alpha2 info: label: Amazon SNS Amazon Simple Notification Service (SNS) API — Topics description: 'Amazon SNS Amazon Simple Notification Service (SNS) API — Topics. 5 operations. Lead operation: Amazon Sns Create a New Sns Topic. Self-contained Naftiko capability covering one Amazon Sns business surface.' tags: - Amazon Sns - Topics 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-topics baseUri: https://sns.{region}.amazonaws.com description: Amazon SNS Amazon Simple Notification Service (SNS) API — Topics business capability. Self-contained, no shared references. resources: - name: ?Action=CreateTopic path: /?Action=CreateTopic operations: - name: createtopic method: POST description: Amazon Sns Create a New 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=DeleteTopic path: /?Action=DeleteTopic operations: - name: deletetopic method: POST description: Amazon Sns Delete 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=GetTopicAttributes path: /?Action=GetTopicAttributes operations: - name: gettopicattributes method: GET description: Amazon Sns Get Attributes of an Sns Topic outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: TopicArn in: query type: string description: The ARN of the topic whose properties you want to get required: true - name: ?Action=ListTopics path: /?Action=ListTopics operations: - name: listtopics method: GET description: Amazon Sns List All Sns Topics outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: NextToken in: query type: string description: Token returned by the previous ListTopics request for pagination - name: ?Action=SetTopicAttributes path: /?Action=SetTopicAttributes operations: - name: settopicattributes method: POST description: Amazon Sns Set Attributes on 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-topics-rest port: 8080 description: REST adapter for Amazon SNS Amazon Simple Notification Service (SNS) API — Topics. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/action-createtopic name: action-createtopic description: REST surface for ?Action=CreateTopic. operations: - method: POST name: createtopic description: Amazon Sns Create a New Sns Topic call: amazon-sns-topics.createtopic with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/action-deletetopic name: action-deletetopic description: REST surface for ?Action=DeleteTopic. operations: - method: POST name: deletetopic description: Amazon Sns Delete an Sns Topic call: amazon-sns-topics.deletetopic with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/action-gettopicattributes name: action-gettopicattributes description: REST surface for ?Action=GetTopicAttributes. operations: - method: GET name: gettopicattributes description: Amazon Sns Get Attributes of an Sns Topic call: amazon-sns-topics.gettopicattributes with: TopicArn: rest.TopicArn outputParameters: - type: object mapping: $. - path: /v1/action-listtopics name: action-listtopics description: REST surface for ?Action=ListTopics. operations: - method: GET name: listtopics description: Amazon Sns List All Sns Topics call: amazon-sns-topics.listtopics with: NextToken: rest.NextToken outputParameters: - type: object mapping: $. - path: /v1/action-settopicattributes name: action-settopicattributes description: REST surface for ?Action=SetTopicAttributes. operations: - method: POST name: settopicattributes description: Amazon Sns Set Attributes on an Sns Topic call: amazon-sns-topics.settopicattributes with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: amazon-sns-topics-mcp port: 9090 transport: http description: MCP adapter for Amazon SNS Amazon Simple Notification Service (SNS) API — Topics. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: amazon-sns-create-new-sns description: Amazon Sns Create a New Sns Topic hints: readOnly: false destructive: false idempotent: false call: amazon-sns-topics.createtopic with: body: tools.body outputParameters: - type: object mapping: $. - name: amazon-sns-delete-sns-topic description: Amazon Sns Delete an Sns Topic hints: readOnly: false destructive: false idempotent: false call: amazon-sns-topics.deletetopic with: body: tools.body outputParameters: - type: object mapping: $. - name: amazon-sns-get-attributes-sns description: Amazon Sns Get Attributes of an Sns Topic hints: readOnly: true destructive: false idempotent: true call: amazon-sns-topics.gettopicattributes with: TopicArn: tools.TopicArn outputParameters: - type: object mapping: $. - name: amazon-sns-list-all-sns description: Amazon Sns List All Sns Topics hints: readOnly: true destructive: false idempotent: true call: amazon-sns-topics.listtopics with: NextToken: tools.NextToken outputParameters: - type: object mapping: $. - name: amazon-sns-set-attributes-sns description: Amazon Sns Set Attributes on an Sns Topic hints: readOnly: false destructive: false idempotent: false call: amazon-sns-topics.settopicattributes with: body: tools.body outputParameters: - type: object mapping: $.