Exec Workspace API
The Workspace API from Exec — 3 operation(s) for workspace.
The Workspace API from Exec — 3 operation(s) for workspace.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/exec:exec-workspace-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Exec Workspace API
version: '1.0'
description: 'REST API for programmatic access to your Exec workspace.
Use the Exec API to read workspace data, list members, retrieve group information,
and create interactive scenario creation sessions.
## Authentication
All requests require a valid API key passed in the Authorization header:
```
Authorization: Bearer exec_live_...
```
Create API keys in your workspace settings under **Settings > API**.'
servers:
- url: https://api.exec.com/rest/v1
description: Production
security:
- bearerAuth: []
tags:
- name: Workspace
paths:
/workspace:
get:
operationId: getWorkspace
summary: Get workspace info
description: Returns basic information about the authenticated workspace.
tags:
- Workspace
responses:
'200':
description: Workspace information
content:
application/json:
schema:
$ref: '#/components/schemas/Workspace'
example:
id: a1b2c3d4e5f6
name: Acme Corp
url_slug: acme-corp
created_at: '2024-01-15T10:30:00Z'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
/workspace/members:
get:
operationId: listWorkspaceMembers
summary: List workspace members
description: Returns a paginated list of workspace members with basic user info.
tags:
- Workspace
parameters:
- name: page
in: query
description: Page number (1-indexed)
schema:
type: integer
default: 1
minimum: 1
- name: page_size
in: query
description: Number of results per page (max 100)
schema:
type: integer
default: 50
minimum: 1
maximum: 100
- name: group_ids
in: query
description: Comma-separated workspace group IDs to filter by
schema:
type: string
responses:
'200':
description: List of workspace members
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/WorkspaceMember'
pagination:
$ref: '#/components/schemas/Pagination'
example:
data:
- id: m1n2o3p4q5r6
user:
id: u7v8w9x0y1z2
email: jane@acme.com
first_name: Jane
last_name: Smith
role: admin
created_at: '2024-01-15T10:30:00Z'
pagination:
page: 1
page_size: 50
total_count: 25
total_pages: 1
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
/workspace/groups:
get:
operationId: listWorkspaceGroups
summary: List workspace groups
description: Returns a paginated list of groups in the workspace.
tags:
- Workspace
parameters:
- name: page
in: query
description: Page number (1-indexed)
schema:
type: integer
default: 1
minimum: 1
- name: page_size
in: query
description: Number of results per page (max 100)
schema:
type: integer
default: 50
minimum: 1
maximum: 100
responses:
'200':
description: List of workspace groups
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/WorkspaceGroup'
pagination:
$ref: '#/components/schemas/Pagination'
example:
data:
- id: g1h2i3j4k5l6
name: Sales Team
created_at: '2024-02-01T09:00:00Z'
- id: g7h8i9j0k1l2
name: Customer Success
created_at: '2024-02-15T14:30:00Z'
pagination:
page: 1
page_size: 50
total_count: 2
total_pages: 1
'401':
$ref: '#/components/responses/Unauthorized'
components:
responses:
BadRequest:
description: Invalid request parameters
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationErrorDetail'
example:
error:
type: invalid_request
code: invalid_pagination
message: Invalid pagination parameters
Forbidden:
description: Workspace is inactive
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationErrorDetail'
example:
error:
type: authorization_error
code: workspace_inactive
message: Workspace is inactive
Unauthorized:
description: Missing or invalid API key
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationErrorDetail'
example:
error:
type: authentication_error
code: invalid_api_key
message: Invalid or inactive API key
schemas:
WorkspaceMember:
type: object
description: A workspace member. The id is the user's unique identifier, consistent with user objects across all endpoints.
properties:
id:
type: string
description: Unique user identifier (same as user.id in sessions, assignments, etc.)
email:
type: string
format: email
description: Member's email address
first_name:
type: string
description: Member's first name
last_name:
type: string
description: Member's last name
role:
type: string
description: Member's role in the workspace
enum:
- admin
- staff
- member
created_at:
type: string
format: date-time
description: When the member was added
WorkspaceGroup:
type: object
properties:
id:
type: string
description: Unique group identifier
name:
type: string
description: Group name
created_at:
type: string
format: date-time
description: When the group was created
Workspace:
type: object
properties:
id:
type: string
description: Unique workspace identifier
name:
type: string
description: Workspace display name
url_slug:
type: string
description: URL-friendly workspace identifier
created_at:
type: string
format: date-time
description: When the workspace was created
ValidationErrorDetail:
type: object
properties:
error:
type: object
properties:
type:
type: string
description: Error category (e.g., "invalid_request")
code:
type: string
description: Specific error code (e.g., "user_not_found")
message:
type: string
description: Human-readable error message
Pagination:
type: object
properties:
page:
type: integer
description: Current page number
page_size:
type: integer
description: Number of items per page
total_count:
type: integer
description: Total number of items
total_pages:
type: integer
description: Total number of pages
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: 'API key created in Settings > API.
Format: `exec_live_` followed by 40 alphanumeric characters.
'
x-provenance:
method: harvested
publisher: Exec
source: https://docs.exec.com/api-reference/openapi.yaml
note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
stamped by stamp-openapi-provenance.py (roadmap#793)