naftiko: 1.0.0-alpha2 info: label: Better Stack API — Escalation Policies description: 'Better Stack API — Escalation Policies. 5 operations. Lead operation: Better Stack List Escalation Policies. Self-contained Naftiko capability covering one Better Stack business surface.' tags: - Better Stack - Escalation Policies created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: BETTER_STACK_API_KEY: BETTER_STACK_API_KEY capability: consumes: - type: http namespace: better-stack-escalation-policies baseUri: https://uptime.betterstack.com/api/v2 description: Better Stack API — Escalation Policies business capability. Self-contained, no shared references. resources: - name: policies path: /policies operations: - name: listescalationpolicies method: GET description: Better Stack List Escalation Policies outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: team_name in: query type: string description: Filter policies by team name when using a global API token. - name: createescalationpolicy method: POST description: Better Stack Create Escalation Policy outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: policies-id path: /policies/{id} operations: - name: getescalationpolicy method: GET description: Better Stack Get Escalation Policy outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The unique identifier of the escalation policy. required: true - name: updateescalationpolicy method: PATCH description: Better Stack Update Escalation Policy outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The unique identifier of the escalation policy. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: deleteescalationpolicy method: DELETE description: Better Stack Delete Escalation Policy outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The unique identifier of the escalation policy. required: true authentication: type: bearer token: '{{env.BETTER_STACK_API_KEY}}' exposes: - type: rest namespace: better-stack-escalation-policies-rest port: 8080 description: REST adapter for Better Stack API — Escalation Policies. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/policies name: policies description: REST surface for policies. operations: - method: GET name: listescalationpolicies description: Better Stack List Escalation Policies call: better-stack-escalation-policies.listescalationpolicies with: team_name: rest.team_name outputParameters: - type: object mapping: $. - method: POST name: createescalationpolicy description: Better Stack Create Escalation Policy call: better-stack-escalation-policies.createescalationpolicy with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/policies/{id} name: policies-id description: REST surface for policies-id. operations: - method: GET name: getescalationpolicy description: Better Stack Get Escalation Policy call: better-stack-escalation-policies.getescalationpolicy with: id: rest.id outputParameters: - type: object mapping: $. - method: PATCH name: updateescalationpolicy description: Better Stack Update Escalation Policy call: better-stack-escalation-policies.updateescalationpolicy with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteescalationpolicy description: Better Stack Delete Escalation Policy call: better-stack-escalation-policies.deleteescalationpolicy with: id: rest.id outputParameters: - type: object mapping: $. - type: mcp namespace: better-stack-escalation-policies-mcp port: 9090 transport: http description: MCP adapter for Better Stack API — Escalation Policies. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: better-stack-list-escalation-policies description: Better Stack List Escalation Policies hints: readOnly: true destructive: false idempotent: true call: better-stack-escalation-policies.listescalationpolicies with: team_name: tools.team_name outputParameters: - type: object mapping: $. - name: better-stack-create-escalation-policy description: Better Stack Create Escalation Policy hints: readOnly: false destructive: false idempotent: false call: better-stack-escalation-policies.createescalationpolicy with: body: tools.body outputParameters: - type: object mapping: $. - name: better-stack-get-escalation-policy description: Better Stack Get Escalation Policy hints: readOnly: true destructive: false idempotent: true call: better-stack-escalation-policies.getescalationpolicy with: id: tools.id outputParameters: - type: object mapping: $. - name: better-stack-update-escalation-policy description: Better Stack Update Escalation Policy hints: readOnly: false destructive: false idempotent: true call: better-stack-escalation-policies.updateescalationpolicy with: id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: better-stack-delete-escalation-policy description: Better Stack Delete Escalation Policy hints: readOnly: false destructive: true idempotent: true call: better-stack-escalation-policies.deleteescalationpolicy with: id: tools.id outputParameters: - type: object mapping: $.