naftiko: 1.0.0-alpha2 info: label: Productiv Developer API — Provisioned Users description: 'Productiv Developer API — Provisioned Users. 3 operations. Lead operation: Productiv Publish Provisioned Users. Self-contained Naftiko capability covering one Productiv business surface.' tags: - Productiv - Provisioned Users created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: PRODUCTIV_API_KEY: PRODUCTIV_API_KEY capability: consumes: - type: http namespace: developer-provisioned-users baseUri: https://public-api.productiv.com description: Productiv Developer API — Provisioned Users business capability. Self-contained, no shared references. resources: - name: services-push-v1-customer-apps-appId-users path: /services/push/v1/customer/apps/{appId}/users operations: - name: publishprovisionedusers method: POST description: Productiv Publish Provisioned Users outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: appId in: path type: string description: The unique identifier of the application. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: getprovisionedusers method: GET description: Productiv Get Provisioned Users outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: appId in: path type: string description: The unique identifier of the application. required: true - name: deleteprovisionedusers method: DELETE description: Productiv Delete Provisioned Users outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: appId in: path type: string description: The unique identifier of the application. required: true - name: body in: body type: object description: Request body (JSON). required: true authentication: type: bearer token: '{{env.PRODUCTIV_API_KEY}}' exposes: - type: rest namespace: developer-provisioned-users-rest port: 8080 description: REST adapter for Productiv Developer API — Provisioned Users. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/services/push/v1/customer/apps/{appid}/users name: services-push-v1-customer-apps-appid-users description: REST surface for services-push-v1-customer-apps-appId-users. operations: - method: POST name: publishprovisionedusers description: Productiv Publish Provisioned Users call: developer-provisioned-users.publishprovisionedusers with: appId: rest.appId body: rest.body outputParameters: - type: object mapping: $. - method: GET name: getprovisionedusers description: Productiv Get Provisioned Users call: developer-provisioned-users.getprovisionedusers with: appId: rest.appId outputParameters: - type: object mapping: $. - method: DELETE name: deleteprovisionedusers description: Productiv Delete Provisioned Users call: developer-provisioned-users.deleteprovisionedusers with: appId: rest.appId body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: developer-provisioned-users-mcp port: 9090 transport: http description: MCP adapter for Productiv Developer API — Provisioned Users. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: productiv-publish-provisioned-users description: Productiv Publish Provisioned Users hints: readOnly: false destructive: false idempotent: false call: developer-provisioned-users.publishprovisionedusers with: appId: tools.appId body: tools.body outputParameters: - type: object mapping: $. - name: productiv-get-provisioned-users description: Productiv Get Provisioned Users hints: readOnly: true destructive: false idempotent: true call: developer-provisioned-users.getprovisionedusers with: appId: tools.appId outputParameters: - type: object mapping: $. - name: productiv-delete-provisioned-users description: Productiv Delete Provisioned Users hints: readOnly: false destructive: true idempotent: true call: developer-provisioned-users.deleteprovisionedusers with: appId: tools.appId body: tools.body outputParameters: - type: object mapping: $.