naftiko: 1.0.0-alpha2 info: label: Speakeasy API — Workspaces description: 'Speakeasy API — Workspaces. 15 operations. Lead operation: Get Workspace by Context. Self-contained Naftiko capability covering one Speakeasy business surface.' tags: - Speakeasy - Workspaces created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: SPEAKEASY_API_KEY: SPEAKEASY_API_KEY capability: consumes: - type: http namespace: speakeasy-workspaces baseUri: https://api.prod.speakeasy.com description: Speakeasy API — Workspaces business capability. Self-contained, no shared references. resources: - name: v1-workspace path: /v1/workspace operations: - name: getworkspacebycontext method: GET description: Get Workspace by Context outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createworkspace method: POST description: Create a Workspace outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-workspace-feature_flags path: /v1/workspace/feature_flags operations: - name: setworkspacefeatureflags method: POST description: Set Workspace Feature Flags outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-workspace-workspace_id path: /v1/workspace/{workspace_id} operations: - name: getworkspace method: GET description: Get Workspace outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-workspace-workspace_id-details path: /v1/workspace/{workspace_id}/details operations: - name: updateworkspacedetails method: POST description: Update Workspace Details outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-workspace-workspace_id-feature_flags path: /v1/workspace/{workspace_id}/feature_flags operations: - name: getworkspacefeatureflags method: GET description: Get Workspace Feature Flags outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-workspace-workspace_id-settings path: /v1/workspace/{workspace_id}/settings operations: - name: getworkspacesettings method: GET description: Get Workspace Settings outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updateworkspacesettings method: PUT description: Update Workspace Settings outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-workspace-workspace_id-team path: /v1/workspace/{workspace_id}/team operations: - name: getworkspaceteam method: GET description: Get Team Members for a Particular Workspace outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-workspace-workspace_id-team-email-email path: /v1/workspace/{workspace_id}/team/email/{email} operations: - name: grantuseraccesstoworkspace method: PUT description: Grant a User Access to a Particular Workspace outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-workspace-workspace_id-team-userId path: /v1/workspace/{workspace_id}/team/{userId} operations: - name: revokeuseraccesstoworkspace method: DELETE description: Revoke a User's Access to a Particular Workspace outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-workspace-workspace_id-tokens path: /v1/workspace/{workspace_id}/tokens operations: - name: getworkspacetokens method: GET description: Get Tokens for a Particular Workspace outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createworkspacetoken method: POST description: Create a Token for a Particular Workspace outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-workspace-workspace_id-tokens-tokenID path: /v1/workspace/{workspace_id}/tokens/{tokenID} operations: - name: deleteworkspacetoken method: DELETE description: Delete a Token for a Particular Workspace outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-workspaces path: /v1/workspaces operations: - name: getworkspaces method: GET description: Get Workspaces for a User outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: bearer token: '{{env.SPEAKEASY_API_KEY}}' exposes: - type: rest namespace: speakeasy-workspaces-rest port: 8080 description: REST adapter for Speakeasy API — Workspaces. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v1/workspace name: v1-workspace description: REST surface for v1-workspace. operations: - method: GET name: getworkspacebycontext description: Get Workspace by Context call: speakeasy-workspaces.getworkspacebycontext outputParameters: - type: object mapping: $. - method: POST name: createworkspace description: Create a Workspace call: speakeasy-workspaces.createworkspace with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/workspace/feature-flags name: v1-workspace-feature-flags description: REST surface for v1-workspace-feature_flags. operations: - method: POST name: setworkspacefeatureflags description: Set Workspace Feature Flags call: speakeasy-workspaces.setworkspacefeatureflags with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/workspace/{workspace-id} name: v1-workspace-workspace-id description: REST surface for v1-workspace-workspace_id. operations: - method: GET name: getworkspace description: Get Workspace call: speakeasy-workspaces.getworkspace outputParameters: - type: object mapping: $. - path: /v1/v1/workspace/{workspace-id}/details name: v1-workspace-workspace-id-details description: REST surface for v1-workspace-workspace_id-details. operations: - method: POST name: updateworkspacedetails description: Update Workspace Details call: speakeasy-workspaces.updateworkspacedetails with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/workspace/{workspace-id}/feature-flags name: v1-workspace-workspace-id-feature-flags description: REST surface for v1-workspace-workspace_id-feature_flags. operations: - method: GET name: getworkspacefeatureflags description: Get Workspace Feature Flags call: speakeasy-workspaces.getworkspacefeatureflags outputParameters: - type: object mapping: $. - path: /v1/v1/workspace/{workspace-id}/settings name: v1-workspace-workspace-id-settings description: REST surface for v1-workspace-workspace_id-settings. operations: - method: GET name: getworkspacesettings description: Get Workspace Settings call: speakeasy-workspaces.getworkspacesettings outputParameters: - type: object mapping: $. - method: PUT name: updateworkspacesettings description: Update Workspace Settings call: speakeasy-workspaces.updateworkspacesettings with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/workspace/{workspace-id}/team name: v1-workspace-workspace-id-team description: REST surface for v1-workspace-workspace_id-team. operations: - method: GET name: getworkspaceteam description: Get Team Members for a Particular Workspace call: speakeasy-workspaces.getworkspaceteam outputParameters: - type: object mapping: $. - path: /v1/v1/workspace/{workspace-id}/team/email/{email} name: v1-workspace-workspace-id-team-email-email description: REST surface for v1-workspace-workspace_id-team-email-email. operations: - method: PUT name: grantuseraccesstoworkspace description: Grant a User Access to a Particular Workspace call: speakeasy-workspaces.grantuseraccesstoworkspace outputParameters: - type: object mapping: $. - path: /v1/v1/workspace/{workspace-id}/team/{userid} name: v1-workspace-workspace-id-team-userid description: REST surface for v1-workspace-workspace_id-team-userId. operations: - method: DELETE name: revokeuseraccesstoworkspace description: Revoke a User's Access to a Particular Workspace call: speakeasy-workspaces.revokeuseraccesstoworkspace outputParameters: - type: object mapping: $. - path: /v1/v1/workspace/{workspace-id}/tokens name: v1-workspace-workspace-id-tokens description: REST surface for v1-workspace-workspace_id-tokens. operations: - method: GET name: getworkspacetokens description: Get Tokens for a Particular Workspace call: speakeasy-workspaces.getworkspacetokens outputParameters: - type: object mapping: $. - method: POST name: createworkspacetoken description: Create a Token for a Particular Workspace call: speakeasy-workspaces.createworkspacetoken with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/workspace/{workspace-id}/tokens/{tokenid} name: v1-workspace-workspace-id-tokens-tokenid description: REST surface for v1-workspace-workspace_id-tokens-tokenID. operations: - method: DELETE name: deleteworkspacetoken description: Delete a Token for a Particular Workspace call: speakeasy-workspaces.deleteworkspacetoken outputParameters: - type: object mapping: $. - path: /v1/v1/workspaces name: v1-workspaces description: REST surface for v1-workspaces. operations: - method: GET name: getworkspaces description: Get Workspaces for a User call: speakeasy-workspaces.getworkspaces outputParameters: - type: object mapping: $. - type: mcp namespace: speakeasy-workspaces-mcp port: 9090 transport: http description: MCP adapter for Speakeasy API — Workspaces. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: get-workspace-context description: Get Workspace by Context hints: readOnly: true destructive: false idempotent: true call: speakeasy-workspaces.getworkspacebycontext outputParameters: - type: object mapping: $. - name: create-workspace description: Create a Workspace hints: readOnly: false destructive: false idempotent: false call: speakeasy-workspaces.createworkspace with: body: tools.body outputParameters: - type: object mapping: $. - name: set-workspace-feature-flags description: Set Workspace Feature Flags hints: readOnly: false destructive: false idempotent: false call: speakeasy-workspaces.setworkspacefeatureflags with: body: tools.body outputParameters: - type: object mapping: $. - name: get-workspace description: Get Workspace hints: readOnly: true destructive: false idempotent: true call: speakeasy-workspaces.getworkspace outputParameters: - type: object mapping: $. - name: update-workspace-details description: Update Workspace Details hints: readOnly: false destructive: false idempotent: false call: speakeasy-workspaces.updateworkspacedetails with: body: tools.body outputParameters: - type: object mapping: $. - name: get-workspace-feature-flags description: Get Workspace Feature Flags hints: readOnly: true destructive: false idempotent: true call: speakeasy-workspaces.getworkspacefeatureflags outputParameters: - type: object mapping: $. - name: get-workspace-settings description: Get Workspace Settings hints: readOnly: true destructive: false idempotent: true call: speakeasy-workspaces.getworkspacesettings outputParameters: - type: object mapping: $. - name: update-workspace-settings description: Update Workspace Settings hints: readOnly: false destructive: false idempotent: true call: speakeasy-workspaces.updateworkspacesettings with: body: tools.body outputParameters: - type: object mapping: $. - name: get-team-members-particular-workspace description: Get Team Members for a Particular Workspace hints: readOnly: true destructive: false idempotent: true call: speakeasy-workspaces.getworkspaceteam outputParameters: - type: object mapping: $. - name: grant-user-access-particular-workspace description: Grant a User Access to a Particular Workspace hints: readOnly: false destructive: false idempotent: true call: speakeasy-workspaces.grantuseraccesstoworkspace outputParameters: - type: object mapping: $. - name: revoke-user-s-access-particular-workspace description: Revoke a User's Access to a Particular Workspace hints: readOnly: false destructive: true idempotent: true call: speakeasy-workspaces.revokeuseraccesstoworkspace outputParameters: - type: object mapping: $. - name: get-tokens-particular-workspace description: Get Tokens for a Particular Workspace hints: readOnly: true destructive: false idempotent: true call: speakeasy-workspaces.getworkspacetokens outputParameters: - type: object mapping: $. - name: create-token-particular-workspace description: Create a Token for a Particular Workspace hints: readOnly: false destructive: false idempotent: false call: speakeasy-workspaces.createworkspacetoken with: body: tools.body outputParameters: - type: object mapping: $. - name: delete-token-particular-workspace description: Delete a Token for a Particular Workspace hints: readOnly: false destructive: true idempotent: true call: speakeasy-workspaces.deleteworkspacetoken outputParameters: - type: object mapping: $. - name: get-workspaces-user description: Get Workspaces for a User hints: readOnly: true destructive: false idempotent: true call: speakeasy-workspaces.getworkspaces outputParameters: - type: object mapping: $.