All
id fields across every entity are UUIDs (version 4). When referencing a resource in the API or in webhook payloads, always use the full UUID string — human-readable slugs and names are for display purposes only and may change.Organization
An organization is the top-level container for everything your company owns in mFoundry. It holds your member roster, billing details, and organization-wide settings. Each organization has a globally unique slug used in dashboard URLs and certain API routes.string
required
The unique UUID that permanently identifies this organization. Use this field when referencing the organization in API requests and webhook payloads.
string
required
The human-readable display name of the organization, shown in the dashboard header and on invoices.
string
required
A URL-safe, globally unique identifier for the organization (e.g.
acme-corp). The slug appears in dashboard URLs and can be updated by an Owner in Settings → General.string (ISO 8601)
The UTC timestamp at which the organization was created. This field is read-only and set by the server.
Project
A project belongs to exactly one organization and serves as the primary workspace for a product, initiative, or client engagement. Projects group workflows together and define which team members have access to those workflows through role assignments. Use the/projects endpoints to create, retrieve, update, and delete projects programmatically.
string
required
The unique UUID that identifies this project. Immutable after creation.
string
required
The display name of the project. Must be unique within the parent organization.
string
An optional plain-text description that helps team members understand the project’s purpose and scope.
string
required
The current lifecycle state of the project. Accepted values are
active, paused, and archived.string
required
The UUID of the organization this project belongs to. Used in API routes and for access-control evaluation.
string (ISO 8601)
The UTC timestamp at which the project was created. Set by the server and read-only.
string (ISO 8601)
The UTC timestamp of the most recent change to the project’s metadata. Automatically updated on every write operation.
Workflow
A workflow is an ordered sequence of steps that lives inside a project. Each workflow is independently versioned, meaning you can edit and test changes without affecting live executions. When a workflow is triggered — either manually, on a schedule, or by an incoming webhook — mFoundry creates a workflow run and spawns individual task records for each step.string
required
The unique UUID that identifies this workflow. Immutable after creation.
string
required
The display name of the workflow, visible in the project dashboard and in API responses.
string
required
The UUID of the project this workflow belongs to. Determines which members can view and edit the workflow based on project-level roles.
array
An ordered array of step objects that define the workflow’s logic. Each step specifies an action type, configuration, and any conditional branching rules.
string (ISO 8601)
The UTC timestamp at which the workflow was created. Set by the server and read-only.
Task
A task is the runtime record of a single step executing within a workflow run. When a workflow is triggered, mFoundry automatically creates one task per step and tracks its progress in real time. Tasks are read-only after creation — you can inspect their status and logs, retry failed tasks, or cancel pending ones from the dashboard or via the API.string
required
The unique UUID that identifies this task. Immutable after creation.
string
required
The UUID of the workflow that owns this task.
string
required
The current execution state of the task. Accepted values are
pending, running, succeeded, and failed.string
required
The name of the workflow step this task corresponds to, as defined in the workflow configuration.
object
The JSON output produced by the step upon successful completion. Present only when
status is succeeded.string
A human-readable error message describing why the task failed. Present only when
status is failed.string (ISO 8601)
The UTC timestamp at which the task was created. Set by the server and read-only.
string (ISO 8601)
The UTC timestamp of the most recent status change. Automatically updated as the task progresses.
User
A user represents a human or service account that has been granted membership to one or more organizations. Users authenticate via email and password or SSO, and interact with mFoundry through the dashboard or the API using personal access tokens. Use the/users endpoints to list and retrieve user records.
string
required
The unique UUID that identifies this user across all organizations. Immutable after account creation.
string
required
The user’s verified email address, used for authentication, notifications, and as the primary contact identifier.
string
required
The user’s display name as shown in the dashboard, activity feed, and audit logs.
string
required
The user’s role within a given organization or project context. Accepted values are
owner, admin, member, and viewer. See Key Features → Team Collaboration for a full permissions breakdown.string (ISO 8601)
The UTC timestamp at which the user account was created. Set by the server and read-only.
Webhook
A webhook is an outbound HTTP endpoint registration that tells mFoundry where to deliver event notifications for a given project. Once registered, mFoundry sends a signed JSON payload to your target URL whenever a configured event occurs — such as a workflow completing or a task failing. Use the/webhooks endpoints to create, list, and delete webhook registrations.
string
required
The unique UUID that identifies this webhook registration. Use this value when deleting a webhook via
DELETE /webhooks/:id.string
required
The UUID of the project this webhook is scoped to. Events from other projects will not be delivered to this endpoint.
string
required
The HTTPS URL that mFoundry will POST event payloads to. Must be publicly reachable.
array of strings
required
The list of event types that trigger a delivery to this webhook. Example values include
workflow.completed, workflow.failed, and task.failed.string
An optional shared secret used to sign each delivery with an HMAC-SHA256 signature. Verify the
X-mFoundry-Signature header in your receiver to confirm authenticity.string (ISO 8601)
The UTC timestamp at which the webhook was registered. Set by the server and read-only.