naftiko: 1.0.0-alpha2 info: label: Okta API — Subscription description: 'Okta API — Subscription. 6 operations. Lead operation: Okta List all subscriptions of a Custom Role. Self-contained Naftiko capability covering one Okta business surface.' tags: - Okta - Subscription created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: OKTA_API_KEY: OKTA_API_KEY capability: consumes: - type: http namespace: okta-subscription baseUri: https://your-subdomain.okta.com description: Okta API — Subscription business capability. Self-contained, no shared references. resources: - name: api-v1-roles-roleTypeOrRoleId-subscriptions path: /api/v1/roles/{roleTypeOrRoleId}/subscriptions operations: - name: listrolesubscriptions method: GET description: Okta List all subscriptions of a Custom Role outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: roleTypeOrRoleId in: path type: string required: true - name: api-v1-roles-roleTypeOrRoleId-subscriptions-notificationType path: /api/v1/roles/{roleTypeOrRoleId}/subscriptions/{notificationType} operations: - name: getrolesubscriptionbynotificationtype method: GET description: Okta Get subscriptions of a Custom Role with a specific notification type outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: roleTypeOrRoleId in: path type: string required: true - name: notificationType in: path type: string required: true - name: api-v1-roles-roleTypeOrRoleId-subscriptions-notificationType-subscribe path: /api/v1/roles/{roleTypeOrRoleId}/subscriptions/{notificationType}/subscribe operations: - name: subscriberolesubscriptionbynotificationtype method: POST description: Okta Subscribe a Custom Role to a specific notification type outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: roleTypeOrRoleId in: path type: string required: true - name: notificationType in: path type: string required: true - name: api-v1-roles-roleTypeOrRoleId-subscriptions-notificationType-unsubscribe path: /api/v1/roles/{roleTypeOrRoleId}/subscriptions/{notificationType}/unsubscribe operations: - name: unsubscriberolesubscriptionbynotificationtype method: POST description: Okta Unsubscribe a Custom Role from a specific notification type outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: roleTypeOrRoleId in: path type: string required: true - name: notificationType in: path type: string required: true - name: api-v1-users-userId-subscriptions-notificationType-subscribe path: /api/v1/users/{userId}/subscriptions/{notificationType}/subscribe operations: - name: subscribeusersubscriptionbynotificationtype method: POST description: Okta Subscribe to a specific notification type outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: userId in: path type: string required: true - name: notificationType in: path type: string required: true - name: api-v1-users-userId-subscriptions-notificationType-unsubscribe path: /api/v1/users/{userId}/subscriptions/{notificationType}/unsubscribe operations: - name: unsubscribeusersubscriptionbynotificationtype method: POST description: Okta Unsubscribe from a specific notification type outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: userId in: path type: string required: true - name: notificationType in: path type: string required: true authentication: type: apikey key: Authorization value: '{{env.OKTA_API_KEY}}' placement: header exposes: - type: rest namespace: okta-subscription-rest port: 8080 description: REST adapter for Okta API — Subscription. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/v1/roles/{roletypeorroleid}/subscriptions name: api-v1-roles-roletypeorroleid-subscriptions description: REST surface for api-v1-roles-roleTypeOrRoleId-subscriptions. operations: - method: GET name: listrolesubscriptions description: Okta List all subscriptions of a Custom Role call: okta-subscription.listrolesubscriptions with: roleTypeOrRoleId: rest.roleTypeOrRoleId outputParameters: - type: object mapping: $. - path: /v1/api/v1/roles/{roletypeorroleid}/subscriptions/{notificationtype} name: api-v1-roles-roletypeorroleid-subscriptions-notificationtype description: REST surface for api-v1-roles-roleTypeOrRoleId-subscriptions-notificationType. operations: - method: GET name: getrolesubscriptionbynotificationtype description: Okta Get subscriptions of a Custom Role with a specific notification type call: okta-subscription.getrolesubscriptionbynotificationtype with: roleTypeOrRoleId: rest.roleTypeOrRoleId notificationType: rest.notificationType outputParameters: - type: object mapping: $. - path: /v1/api/v1/roles/{roletypeorroleid}/subscriptions/{notificationtype}/subscribe name: api-v1-roles-roletypeorroleid-subscriptions-notificationtype-subscribe description: REST surface for api-v1-roles-roleTypeOrRoleId-subscriptions-notificationType-subscribe. operations: - method: POST name: subscriberolesubscriptionbynotificationtype description: Okta Subscribe a Custom Role to a specific notification type call: okta-subscription.subscriberolesubscriptionbynotificationtype with: roleTypeOrRoleId: rest.roleTypeOrRoleId notificationType: rest.notificationType outputParameters: - type: object mapping: $. - path: /v1/api/v1/roles/{roletypeorroleid}/subscriptions/{notificationtype}/unsubscribe name: api-v1-roles-roletypeorroleid-subscriptions-notificationtype-unsubscribe description: REST surface for api-v1-roles-roleTypeOrRoleId-subscriptions-notificationType-unsubscribe. operations: - method: POST name: unsubscriberolesubscriptionbynotificationtype description: Okta Unsubscribe a Custom Role from a specific notification type call: okta-subscription.unsubscriberolesubscriptionbynotificationtype with: roleTypeOrRoleId: rest.roleTypeOrRoleId notificationType: rest.notificationType outputParameters: - type: object mapping: $. - path: /v1/api/v1/users/{userid}/subscriptions/{notificationtype}/subscribe name: api-v1-users-userid-subscriptions-notificationtype-subscribe description: REST surface for api-v1-users-userId-subscriptions-notificationType-subscribe. operations: - method: POST name: subscribeusersubscriptionbynotificationtype description: Okta Subscribe to a specific notification type call: okta-subscription.subscribeusersubscriptionbynotificationtype with: userId: rest.userId notificationType: rest.notificationType outputParameters: - type: object mapping: $. - path: /v1/api/v1/users/{userid}/subscriptions/{notificationtype}/unsubscribe name: api-v1-users-userid-subscriptions-notificationtype-unsubscribe description: REST surface for api-v1-users-userId-subscriptions-notificationType-unsubscribe. operations: - method: POST name: unsubscribeusersubscriptionbynotificationtype description: Okta Unsubscribe from a specific notification type call: okta-subscription.unsubscribeusersubscriptionbynotificationtype with: userId: rest.userId notificationType: rest.notificationType outputParameters: - type: object mapping: $. - type: mcp namespace: okta-subscription-mcp port: 9090 transport: http description: MCP adapter for Okta API — Subscription. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: okta-list-all-subscriptions-custom description: Okta List all subscriptions of a Custom Role hints: readOnly: true destructive: false idempotent: true call: okta-subscription.listrolesubscriptions with: roleTypeOrRoleId: tools.roleTypeOrRoleId outputParameters: - type: object mapping: $. - name: okta-get-subscriptions-custom-role description: Okta Get subscriptions of a Custom Role with a specific notification type hints: readOnly: true destructive: false idempotent: true call: okta-subscription.getrolesubscriptionbynotificationtype with: roleTypeOrRoleId: tools.roleTypeOrRoleId notificationType: tools.notificationType outputParameters: - type: object mapping: $. - name: okta-subscribe-custom-role-specific description: Okta Subscribe a Custom Role to a specific notification type hints: readOnly: false destructive: false idempotent: false call: okta-subscription.subscriberolesubscriptionbynotificationtype with: roleTypeOrRoleId: tools.roleTypeOrRoleId notificationType: tools.notificationType outputParameters: - type: object mapping: $. - name: okta-unsubscribe-custom-role-specific description: Okta Unsubscribe a Custom Role from a specific notification type hints: readOnly: false destructive: false idempotent: false call: okta-subscription.unsubscriberolesubscriptionbynotificationtype with: roleTypeOrRoleId: tools.roleTypeOrRoleId notificationType: tools.notificationType outputParameters: - type: object mapping: $. - name: okta-subscribe-specific-notification-type description: Okta Subscribe to a specific notification type hints: readOnly: false destructive: false idempotent: false call: okta-subscription.subscribeusersubscriptionbynotificationtype with: userId: tools.userId notificationType: tools.notificationType outputParameters: - type: object mapping: $. - name: okta-unsubscribe-specific-notification-type description: Okta Unsubscribe from a specific notification type hints: readOnly: false destructive: false idempotent: false call: okta-subscription.unsubscribeusersubscriptionbynotificationtype with: userId: tools.userId notificationType: tools.notificationType outputParameters: - type: object mapping: $.