Skip to main content
Projects are the top-level organizational unit in mFoundry — they group workflows, tasks, and collaborators together under a shared context. The Projects API lets you automate every stage of a project’s lifecycle: provisioning new projects programmatically, polling their status, updating metadata, and tearing them down when they are no longer needed. All project endpoints sit under /v1/projects.

GET /v1/projects

List all projects in your organization. Results are returned in reverse-chronological order (newest first) and support cursor-based pagination.
integer
Number of projects to return per page. Defaults to 20. Maximum is 100.
string
Opaque pagination cursor returned as next_cursor in a previous response. Omit this parameter to start from the first page.
string
Filter results by project status. Accepted values: active, archived, draft. Omit to return projects of all statuses.
Example response:

POST /v1/projects

Create a new project in your organization. On success, the API returns the newly created project object with a 201 Created status.
string
required
The display name for the new project. Must be between 1 and 255 characters.
string
An optional human-readable description of the project’s purpose. Maximum 1,000 characters.
string
Initial status for the project. Accepted values: active, draft. Defaults to active.
Example response (201 Created):

GET /v1/projects/:id

Retrieve a single project by its unique ID. Returns the full project object including all metadata fields.
string
required
The unique identifier of the project (for example, proj_abc123).
Example response:

PUT /v1/projects/:id

Update an existing project’s metadata. Supply only the fields you want to change — any field you omit remains unchanged.
string
required
The unique identifier of the project to update.
string
New display name for the project. Must be between 1 and 255 characters.
string
Updated description. Pass an empty string to clear the existing description.
string
New status for the project. Accepted values: active, archived, draft.
Example response:

DELETE /v1/projects/:id

Permanently delete a project and all of its associated resources. This action cannot be undone and the API returns 204 No Content with no response body on success.
string
required
The unique identifier of the project to delete.
Deleting a project is permanent and irreversible. All workflows, tasks, and configuration associated with the project are immediately destroyed and cannot be recovered. Archive the project (status: archived) instead if you want to preserve the data.