naftiko: 1.0.0-alpha2 info: label: Toolhouse API — Backoffice description: 'Toolhouse API — Backoffice. 16 operations. Lead operation: Bo Create Agent Run From Schedule. Self-contained Naftiko capability covering one Toolhouse business surface.' tags: - Toolhouse - Backoffice created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: TOOLHOUSE_API_KEY: TOOLHOUSE_API_KEY capability: consumes: - type: http namespace: toolhouse-backoffice baseUri: '' description: Toolhouse API — Backoffice business capability. Self-contained, no shared references. resources: - name: backoffice-agent-runs-from-schedule path: /backoffice/agent-runs-from-schedule operations: - name: bocreateagentrunfromschedulebackofficeagentrunsfromschedulepost method: POST description: Bo Create Agent Run From Schedule outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: backoffice-api-keys path: /backoffice/api-keys operations: - name: postcreateapikeybackofficeapikeyspost method: POST description: Post Create Api Key outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: backoffice-cleanup path: /backoffice/cleanup operations: - name: performcleanuptasksbackofficecleanuppost method: POST description: Perform Cleanup Tasks outputRawFormat: json outputParameters: - name: result type: object value: $. - name: backoffice-events path: /backoffice/events operations: - name: proxytocustomeriobackofficeeventspost method: POST description: Proxy To Customerio outputRawFormat: json outputParameters: - name: result type: object value: $. - name: backoffice-mcp-servers path: /backoffice/mcp-servers operations: - name: getmcpserversbackofficemcpserversget method: GET description: Get Mcp Servers outputRawFormat: json outputParameters: - name: result type: object value: $. - name: syncmcpserversbackofficemcpserverspost method: POST description: Sync Mcp Servers outputRawFormat: json outputParameters: - name: result type: object value: $. - name: backoffice-onboarding-runs path: /backoffice/onboarding-runs operations: - name: createrunbackofficeonboardingrunspost method: POST description: Create Run outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: backoffice-schedules path: /backoffice/schedules operations: - name: getactiveschedulesbackofficeschedulesget method: GET description: Get Active Schedules outputRawFormat: json outputParameters: - name: result type: object value: $. - name: backoffice-users path: /backoffice/users operations: - name: createuserroutebackofficeuserspost method: POST description: Create User Route outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: backoffice-users-by-email-email path: /backoffice/users/by/email/{email} operations: - name: getuserbyemailroutebackofficeusersbyemailemailget method: GET description: Get User By Email Route outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: email in: path type: string required: true - name: backoffice-users-reset_credit_allowance path: /backoffice/users/reset_credit_allowance operations: - name: postresetcreditallowancebackofficeusersresetcreditallowancepost method: POST description: Post Reset Credit Allowance outputRawFormat: json outputParameters: - name: result type: object value: $. - name: backoffice-users-user_id path: /backoffice/users/{user_id} operations: - name: getuserroutebackofficeusersuseridget method: GET description: Get User Route outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: user_id in: path type: string required: true - name: backoffice-users-user_id-credits path: /backoffice/users/{user_id}/credits operations: - name: getusercreditsrequestbackofficeusersuseridcreditsget method: GET description: Get User Credits Request outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: user_id in: path type: string required: true - name: backoffice-users-user_id-default-api-key path: /backoffice/users/{user_id}/default-api-key operations: - name: getdefaultapikeyforuserbackofficeusersuseriddefaultapikeyget method: GET description: Get Default Api Key For User outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: user_id in: path type: string required: true - name: backoffice-users-user_id-monthly_credit_allowance path: /backoffice/users/{user_id}/monthly_credit_allowance operations: - name: updateusercreditsrequestbackofficeusersuseridmonthlycreditallowanceput method: PUT description: Update User Credits Request outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: user_id in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: backoffice-worker-status path: /backoffice/worker-status operations: - name: getworkerstatusbackofficeworkerstatusget method: GET description: Get Worker Status outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: bearer token: '{{env.TOOLHOUSE_API_KEY}}' exposes: - type: rest namespace: toolhouse-backoffice-rest port: 8080 description: REST adapter for Toolhouse API — Backoffice. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/backoffice/agent-runs-from-schedule name: backoffice-agent-runs-from-schedule description: REST surface for backoffice-agent-runs-from-schedule. operations: - method: POST name: bocreateagentrunfromschedulebackofficeagentrunsfromschedulepost description: Bo Create Agent Run From Schedule call: toolhouse-backoffice.bocreateagentrunfromschedulebackofficeagentrunsfromschedulepost with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/backoffice/api-keys name: backoffice-api-keys description: REST surface for backoffice-api-keys. operations: - method: POST name: postcreateapikeybackofficeapikeyspost description: Post Create Api Key call: toolhouse-backoffice.postcreateapikeybackofficeapikeyspost with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/backoffice/cleanup name: backoffice-cleanup description: REST surface for backoffice-cleanup. operations: - method: POST name: performcleanuptasksbackofficecleanuppost description: Perform Cleanup Tasks call: toolhouse-backoffice.performcleanuptasksbackofficecleanuppost outputParameters: - type: object mapping: $. - path: /v1/backoffice/events name: backoffice-events description: REST surface for backoffice-events. operations: - method: POST name: proxytocustomeriobackofficeeventspost description: Proxy To Customerio call: toolhouse-backoffice.proxytocustomeriobackofficeeventspost outputParameters: - type: object mapping: $. - path: /v1/backoffice/mcp-servers name: backoffice-mcp-servers description: REST surface for backoffice-mcp-servers. operations: - method: GET name: getmcpserversbackofficemcpserversget description: Get Mcp Servers call: toolhouse-backoffice.getmcpserversbackofficemcpserversget outputParameters: - type: object mapping: $. - method: POST name: syncmcpserversbackofficemcpserverspost description: Sync Mcp Servers call: toolhouse-backoffice.syncmcpserversbackofficemcpserverspost outputParameters: - type: object mapping: $. - path: /v1/backoffice/onboarding-runs name: backoffice-onboarding-runs description: REST surface for backoffice-onboarding-runs. operations: - method: POST name: createrunbackofficeonboardingrunspost description: Create Run call: toolhouse-backoffice.createrunbackofficeonboardingrunspost with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/backoffice/schedules name: backoffice-schedules description: REST surface for backoffice-schedules. operations: - method: GET name: getactiveschedulesbackofficeschedulesget description: Get Active Schedules call: toolhouse-backoffice.getactiveschedulesbackofficeschedulesget outputParameters: - type: object mapping: $. - path: /v1/backoffice/users name: backoffice-users description: REST surface for backoffice-users. operations: - method: POST name: createuserroutebackofficeuserspost description: Create User Route call: toolhouse-backoffice.createuserroutebackofficeuserspost with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/backoffice/users/by/email/{email} name: backoffice-users-by-email-email description: REST surface for backoffice-users-by-email-email. operations: - method: GET name: getuserbyemailroutebackofficeusersbyemailemailget description: Get User By Email Route call: toolhouse-backoffice.getuserbyemailroutebackofficeusersbyemailemailget with: email: rest.email outputParameters: - type: object mapping: $. - path: /v1/backoffice/users/reset-credit-allowance name: backoffice-users-reset-credit-allowance description: REST surface for backoffice-users-reset_credit_allowance. operations: - method: POST name: postresetcreditallowancebackofficeusersresetcreditallowancepost description: Post Reset Credit Allowance call: toolhouse-backoffice.postresetcreditallowancebackofficeusersresetcreditallowancepost outputParameters: - type: object mapping: $. - path: /v1/backoffice/users/{user-id} name: backoffice-users-user-id description: REST surface for backoffice-users-user_id. operations: - method: GET name: getuserroutebackofficeusersuseridget description: Get User Route call: toolhouse-backoffice.getuserroutebackofficeusersuseridget with: user_id: rest.user_id outputParameters: - type: object mapping: $. - path: /v1/backoffice/users/{user-id}/credits name: backoffice-users-user-id-credits description: REST surface for backoffice-users-user_id-credits. operations: - method: GET name: getusercreditsrequestbackofficeusersuseridcreditsget description: Get User Credits Request call: toolhouse-backoffice.getusercreditsrequestbackofficeusersuseridcreditsget with: user_id: rest.user_id outputParameters: - type: object mapping: $. - path: /v1/backoffice/users/{user-id}/default-api-key name: backoffice-users-user-id-default-api-key description: REST surface for backoffice-users-user_id-default-api-key. operations: - method: GET name: getdefaultapikeyforuserbackofficeusersuseriddefaultapikeyget description: Get Default Api Key For User call: toolhouse-backoffice.getdefaultapikeyforuserbackofficeusersuseriddefaultapikeyget with: user_id: rest.user_id outputParameters: - type: object mapping: $. - path: /v1/backoffice/users/{user-id}/monthly-credit-allowance name: backoffice-users-user-id-monthly-credit-allowance description: REST surface for backoffice-users-user_id-monthly_credit_allowance. operations: - method: PUT name: updateusercreditsrequestbackofficeusersuseridmonthlycreditallowanceput description: Update User Credits Request call: toolhouse-backoffice.updateusercreditsrequestbackofficeusersuseridmonthlycreditallowanceput with: user_id: rest.user_id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/backoffice/worker-status name: backoffice-worker-status description: REST surface for backoffice-worker-status. operations: - method: GET name: getworkerstatusbackofficeworkerstatusget description: Get Worker Status call: toolhouse-backoffice.getworkerstatusbackofficeworkerstatusget outputParameters: - type: object mapping: $. - type: mcp namespace: toolhouse-backoffice-mcp port: 9090 transport: http description: MCP adapter for Toolhouse API — Backoffice. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: bo-create-agent-run-schedule description: Bo Create Agent Run From Schedule hints: readOnly: false destructive: false idempotent: false call: toolhouse-backoffice.bocreateagentrunfromschedulebackofficeagentrunsfromschedulepost with: body: tools.body outputParameters: - type: object mapping: $. - name: post-create-api-key description: Post Create Api Key hints: readOnly: false destructive: false idempotent: false call: toolhouse-backoffice.postcreateapikeybackofficeapikeyspost with: body: tools.body outputParameters: - type: object mapping: $. - name: perform-cleanup-tasks description: Perform Cleanup Tasks hints: readOnly: false destructive: false idempotent: false call: toolhouse-backoffice.performcleanuptasksbackofficecleanuppost outputParameters: - type: object mapping: $. - name: proxy-customerio description: Proxy To Customerio hints: readOnly: false destructive: false idempotent: false call: toolhouse-backoffice.proxytocustomeriobackofficeeventspost outputParameters: - type: object mapping: $. - name: get-mcp-servers description: Get Mcp Servers hints: readOnly: true destructive: false idempotent: true call: toolhouse-backoffice.getmcpserversbackofficemcpserversget outputParameters: - type: object mapping: $. - name: sync-mcp-servers description: Sync Mcp Servers hints: readOnly: false destructive: false idempotent: false call: toolhouse-backoffice.syncmcpserversbackofficemcpserverspost outputParameters: - type: object mapping: $. - name: create-run description: Create Run hints: readOnly: false destructive: false idempotent: false call: toolhouse-backoffice.createrunbackofficeonboardingrunspost with: body: tools.body outputParameters: - type: object mapping: $. - name: get-active-schedules description: Get Active Schedules hints: readOnly: true destructive: false idempotent: true call: toolhouse-backoffice.getactiveschedulesbackofficeschedulesget outputParameters: - type: object mapping: $. - name: create-user-route description: Create User Route hints: readOnly: false destructive: false idempotent: false call: toolhouse-backoffice.createuserroutebackofficeuserspost with: body: tools.body outputParameters: - type: object mapping: $. - name: get-user-email-route description: Get User By Email Route hints: readOnly: true destructive: false idempotent: true call: toolhouse-backoffice.getuserbyemailroutebackofficeusersbyemailemailget with: email: tools.email outputParameters: - type: object mapping: $. - name: post-reset-credit-allowance description: Post Reset Credit Allowance hints: readOnly: false destructive: false idempotent: false call: toolhouse-backoffice.postresetcreditallowancebackofficeusersresetcreditallowancepost outputParameters: - type: object mapping: $. - name: get-user-route description: Get User Route hints: readOnly: true destructive: false idempotent: true call: toolhouse-backoffice.getuserroutebackofficeusersuseridget with: user_id: tools.user_id outputParameters: - type: object mapping: $. - name: get-user-credits-request description: Get User Credits Request hints: readOnly: true destructive: false idempotent: true call: toolhouse-backoffice.getusercreditsrequestbackofficeusersuseridcreditsget with: user_id: tools.user_id outputParameters: - type: object mapping: $. - name: get-default-api-key-user description: Get Default Api Key For User hints: readOnly: true destructive: false idempotent: true call: toolhouse-backoffice.getdefaultapikeyforuserbackofficeusersuseriddefaultapikeyget with: user_id: tools.user_id outputParameters: - type: object mapping: $. - name: update-user-credits-request description: Update User Credits Request hints: readOnly: false destructive: false idempotent: true call: toolhouse-backoffice.updateusercreditsrequestbackofficeusersuseridmonthlycreditallowanceput with: user_id: tools.user_id body: tools.body outputParameters: - type: object mapping: $. - name: get-worker-status description: Get Worker Status hints: readOnly: true destructive: false idempotent: true call: toolhouse-backoffice.getworkerstatusbackofficeworkerstatusget outputParameters: - type: object mapping: $.