naftiko: 1.0.0-alpha2 info: label: Truto Admin API — Integrated Accounts description: 'Truto Admin API — Integrated Accounts. 5 operations. Lead operation: List integrated accounts. Self-contained Naftiko capability covering one Truto business surface.' tags: - Truto - Integrated Accounts created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: TRUTO_API_KEY: TRUTO_API_KEY capability: consumes: - type: http namespace: admin-integrated-accounts baseUri: https://api.truto.one description: Truto Admin API — Integrated Accounts business capability. Self-contained, no shared references. resources: - name: integrated-accounts path: /integrated-accounts operations: - name: listintegratedaccounts method: GET description: List integrated accounts outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: integration in: query type: string description: Filter by integration name (e.g., bamboohr, greenhouse, salesforce). - name: status in: query type: string description: Filter by account status. - name: page in: query type: integer description: Page number for pagination. - name: limit in: query type: integer description: Number of results per page. - name: createintegratedaccount method: POST description: Create integrated account outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: integrated-accounts-id path: /integrated-accounts/{id} operations: - name: getintegratedaccount method: GET description: Get integrated account outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: Integrated account identifier. required: true - name: deleteintegratedaccount method: DELETE description: Delete integrated account outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: Integrated account identifier. required: true - name: integrated-accounts-id-run-post-install-actions path: /integrated-accounts/{id}/run-post-install-actions operations: - name: runpostinstallactions method: POST description: Run post-install actions outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: Integrated account identifier. required: true authentication: type: bearer token: '{{env.TRUTO_API_KEY}}' exposes: - type: rest namespace: admin-integrated-accounts-rest port: 8080 description: REST adapter for Truto Admin API — Integrated Accounts. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/integrated-accounts name: integrated-accounts description: REST surface for integrated-accounts. operations: - method: GET name: listintegratedaccounts description: List integrated accounts call: admin-integrated-accounts.listintegratedaccounts with: integration: rest.integration status: rest.status page: rest.page limit: rest.limit outputParameters: - type: object mapping: $. - method: POST name: createintegratedaccount description: Create integrated account call: admin-integrated-accounts.createintegratedaccount with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/integrated-accounts/{id} name: integrated-accounts-id description: REST surface for integrated-accounts-id. operations: - method: GET name: getintegratedaccount description: Get integrated account call: admin-integrated-accounts.getintegratedaccount with: id: rest.id outputParameters: - type: object mapping: $. - method: DELETE name: deleteintegratedaccount description: Delete integrated account call: admin-integrated-accounts.deleteintegratedaccount with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/integrated-accounts/{id}/run-post-install-actions name: integrated-accounts-id-run-post-install-actions description: REST surface for integrated-accounts-id-run-post-install-actions. operations: - method: POST name: runpostinstallactions description: Run post-install actions call: admin-integrated-accounts.runpostinstallactions with: id: rest.id outputParameters: - type: object mapping: $. - type: mcp namespace: admin-integrated-accounts-mcp port: 9090 transport: http description: MCP adapter for Truto Admin API — Integrated Accounts. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-integrated-accounts description: List integrated accounts hints: readOnly: true destructive: false idempotent: true call: admin-integrated-accounts.listintegratedaccounts with: integration: tools.integration status: tools.status page: tools.page limit: tools.limit outputParameters: - type: object mapping: $. - name: create-integrated-account description: Create integrated account hints: readOnly: false destructive: false idempotent: false call: admin-integrated-accounts.createintegratedaccount with: body: tools.body outputParameters: - type: object mapping: $. - name: get-integrated-account description: Get integrated account hints: readOnly: true destructive: false idempotent: true call: admin-integrated-accounts.getintegratedaccount with: id: tools.id outputParameters: - type: object mapping: $. - name: delete-integrated-account description: Delete integrated account hints: readOnly: false destructive: true idempotent: true call: admin-integrated-accounts.deleteintegratedaccount with: id: tools.id outputParameters: - type: object mapping: $. - name: run-post-install-actions description: Run post-install actions hints: readOnly: false destructive: false idempotent: false call: admin-integrated-accounts.runpostinstallactions with: id: tools.id outputParameters: - type: object mapping: $.