Skip to main content

Overview

The Projects API allows you to create and manage projects (workspaces) within your platform. Projects are isolated environments where flows, connections, and runs are organized. Each project can have multiple users and its own configuration.

Base Endpoint

List Projects

Retrieve a paginated list of projects for your platform.

Query Parameters

string
Filter by external ID (useful for integration with external systems)
string
Search projects by name (partial match)
array
Filter by project type: TEAM, PERSONAL
number
default:"50"
Number of projects to return (1-100)
string
Pagination cursor from previous response

Response

array
Array of project objects with limits and analytics
string
Cursor for next page
string
Cursor for previous page
Response Example

Create Project

Create a new team project on your platform.

Request Body

string
required
Name of the project. Must match pattern: alphanumeric, spaces, hyphens, underscores only
string
External identifier for integration. Must be unique across the platform
object
Custom metadata to store with the project
number
Maximum number of flow runs that can execute concurrently
array
Array of global connection external IDs to pre-assign to this project

Response

Returns the created project with plan and analytics (status code 201).
Project Types:
  • PERSONAL - Automatically created for each user, cannot be deleted
  • TEAM - Created via API or UI, can have multiple members
You can only create TEAM projects via the API.

Get Project

Retrieve details about a specific project.

Path Parameters

string
required
The project ID

Response

Returns the project object with plan and analytics.

Update Project

Update project configuration and settings.

Path Parameters

string
required
The project ID

Request Body

string
New display name for the project
string
Update external ID (platform admins only)
object
Update custom metadata
boolean
Enable or disable git-based releases
object
Update project icon
enum
Icon color name
object
Update project plan settings
enum
Set to ALLOWED to whitelist pieces, or NONE to allow all
array
Array of allowed piece names (when filter type is ALLOWED)
array
Update global connections assigned to this project

Response

Returns the updated project object.
Authorization Note:Only platform admins can update externalId. Regular project members with appropriate permissions can update other fields.

Delete Project

Permanently delete a team project.

Path Parameters

string
required
The project ID to delete

Response

Returns 204 No Content on successful deletion.
Deletion Restrictions:
  • Personal projects cannot be deleted
  • Only platform admins can delete projects
  • Deletion is permanent and cannot be undone
  • All flows, runs, and connections in the project will be deleted

Project Plan Limits

Projects can have different plan limits based on your platform edition:

Team Projects Limits

Attempting to create more team projects than allowed will result in an error:

Pieces Filter (Integrations Control)

Control which integrations (pieces) are available in a project:

Allow All Pieces

Whitelist Specific Pieces

Use piece filtering to:
  • Restrict integrations for security/compliance
  • Simplify the UI for specific teams
  • Control costs for paid integrations

Global Connections

Assign platform-level (global) connections to projects:
Global connections:
  • Are managed at the platform level
  • Can be shared across multiple projects
  • Useful for company-wide integrations
  • Reduce duplicate connection setup

Concurrent Jobs Limit

Control resource usage by limiting concurrent flow runs:
  • Set to null for unlimited concurrent jobs
  • Use limits to prevent resource exhaustion
  • Runs exceeding the limit are queued

Error Responses

Project Not Found (404)

Cannot Delete Personal Project (400)

Team Projects Limit Reached (400)

Best Practices

  • Use TEAM projects for departments or product lines
  • Set meaningful displayName values
  • Use metadata to store organizational info (cost center, owner email)
  • Leverage externalId for integration with external systems
  • Set maxConcurrentJobs based on expected load
  • Monitor analytics to track usage
  • Use piece filtering to control integration sprawl
  • Regularly review and archive inactive projects
  • Use piece filtering to enforce allowed integrations
  • Assign global connections for sensitive credentials
  • Enable releasesEnabled for version-controlled deployments
  • Document project purpose in metadata
  • Use one project per customer/tenant
  • Set unique externalId for each tenant
  • Store tenant metadata in project metadata
  • Configure appropriate concurrent job limits per tenant

Code Examples

Project Members

For managing project members, see the Project Members API documentation.

Flows API

Manage flows within projects

Connections API

Manage project connections