Projects
Projects are the top-level organizational unit in MockAPI. Each project is an isolated workspace containing its own models, endpoints, API key, team members, and configuration.
What is a Project?
A project in MockAPI represents a single mock API workspace. Everything is scoped to a project: data models, REST endpoints, GraphQL schemas, team members, settings, and request logs. This isolation means you can create separate projects for different applications, environments, or teams without any overlap.
Each project receives a unique API key used to authenticate requests. You can have multiple projects and switch between them using the project selector in the dashboard header.
Creating a Project
To create a new project, click "New Project" from the dashboard or navigate to the project creation page. You'll need to provide:
- Name (required): A descriptive name for your project
- Description (optional): A brief description of what this project is for
- Locale (optional): The locale for data generation (defaults to "en")
Note
The number of projects you can create depends on your plan. Free accounts can have up to 3 projects. See Plans & Billing for details.
Project Limits by Plan
| Plan | Max Projects | Endpoints/Project | Models/Project | Team Members |
|---|---|---|---|---|
| Free | 3 | 25 | 25 | 1 (owner only) |
| Developer | 25 | 100 | 100 | 5 |
| Team | 100 | 500 | 500 | 25 |
| Business | 500 | Unlimited | Unlimited | Unlimited |
| Enterprise | Unlimited | Unlimited | Unlimited | Unlimited |
Switching Projects
Use the project selector in the header of the dashboard to switch between your projects. The currently selected project determines which models, endpoints, logs, and settings you see throughout the interface. Your selection persists across browser sessions.
Project Settings
Each project has configurable settings accessible from Settings → General and Settings → Project in the sidebar. For a full overview, see the Settings documentation.
General Settings
- Name: Update the project name
- Description: Update the project description
- Locale: Change the locale used for data generation (e.g., "en", "de", "ja", "fr")
Advanced Settings
- Latency profile: Pick Fixed, Random, Spike, or Slow 3G under Settings → Project and enter the delay fields the UI shows (custom milliseconds and spike options, not preset delay tiers)
- Pagination: Enable pagination for list responses. When enabled, you can configure: Page parameter name (default: page), Limit parameter name (default: limit), Response metadata field names (page, pageSize, totalPages, totalRecords, etc.)
Pagination Configuration
When pagination is enabled, list responses are wrapped in a metadata object. You can customize the field names in the pagination metadata:
{
"data": [
{ "id": 1, "name": "Item 1" },
{ "id": 2, "name": "Item 2" }
],
"page": 1,
"pageSize": 10,
"totalPages": 5,
"totalRecords": 50,
"prevPage": null,
"nextPage": 2
}You can customize all metadata labels. For example, change data to results, or totalRecords to total.
Clients can control pagination using the limit (or _limit) query parameter to set how many items per page.
Project API Key
Every project has a unique API key that authenticates requests to your mock endpoints. You can find your API key in Settings → API Keys.
- View: The API key is masked by default. Click "Show" to reveal it.
- Copy: Use the copy button to copy the key to your clipboard.
- Regenerate: You can regenerate the API key at any time. This immediately invalidates the old key.
Warning
Regenerating your API key will break all existing integrations using the old key. Make sure to update all clients after regenerating.
For all authentication methods, see Authentication.
Deleting a Project
You can delete a project from Settings → Project. Deleting a project permanently removes all its models, endpoints, schemas, logs, and team data.
Warning
You cannot delete your last remaining project. You must always have at least one project in your account. Project deletion is permanent and cannot be undone.