Skip to main content
The mFoundry REST API gives you full programmatic control over your organization’s projects, users, and webhooks. Every API request travels over HTTPS to the base URL https://api.mfoundry.io/v1, and every response returns JSON — making it straightforward to integrate mFoundry into your own tooling, automate workflows, or build custom dashboards on top of the platform.

Base URL

All API endpoints are relative to the following base URL:
Include this prefix before every endpoint path shown in this reference. For example, the full URL for listing projects is https://api.mfoundry.io/v1/projects.

Versioning

The current API version is v1, and the version identifier is embedded directly in the URL path. This means you always know which version your integration targets just by looking at the URL — no separate header or query parameter required. When mFoundry introduces breaking changes, they ship under a new version prefix (for example, /v2). Non-breaking additions — such as new optional fields or new endpoints — may be added to the existing version without notice. You should write your integration to tolerate unknown fields in responses.

Rate Limits

You can make up to 1,000 requests per minute per API key. Every API response includes the following headers so you can monitor your usage in real time: When you exceed the rate limit, the API returns a 429 Too Many Requests status. Wait until the time indicated by X-RateLimit-Reset before retrying, or implement exponential backoff in your client.

Request Format

Send all request bodies as JSON and set the Content-Type header accordingly:
Every successful response body is also JSON. DELETE endpoints that return no content respond with 204 No Content and an empty body. See the Errors page for details on error response structure.

Pagination

All list endpoints support cursor-based pagination via two query parameters: When more records exist beyond the current page, the response includes a next_cursor field. Pass that value as the cursor parameter on your next request to retrieve the following page. When next_cursor is absent or null, you have reached the last page.

Explore the API

Authentication

Learn how to include your Bearer token and handle auth errors.

Errors

Understand the error response format and all HTTP status codes.