Projects
Operations about projects
Retrieve projects from your instance.
The maximum number of items to return.
100Example: 100Paginate by setting the cursor parameter to the nextCursor attribute returned by the previous request's response. Default value fetches the first "page" of the collection. See pagination for more detail.
Operation successful.
Paginate through projects by setting the cursor parameter to a nextCursor attribute returned by a previous request. Default value fetches the first "page" of the collection.
eyJvZmZzZXQiOjEwMCwibGltaXQiOjEwMH0=The request is invalid or provides malformed data.
Unauthorized
Forbidden
GET /api/v1/projects HTTP/1.1
X-N8N-API-KEY: YOUR_API_KEY
Accept: */*
{
"data": [
{
"id": "VmwOO9HeTEj20kxM",
"name": "Marketing",
"type": "team",
"icon": {
"type": "emoji",
"value": "text",
"color": "text"
},
"description": "Workflows the marketing team owns.",
"customTelemetryTags": [
{
"key": "text",
"value": "text"
}
],
"creatorId": "f9a2cbb8-0b1e-4b64-9c1c-0d5f5f1f2a3b",
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedAt": "2026-01-01T00:00:00.000Z"
}
],
"nextCursor": "eyJvZmZzZXQiOjEwMCwibGltaXQiOjEwMH0="
}Create a team project on your instance.
MarketingProject ID. The server generates an ID when omitted. An ID that is in use returns HTTP 409.
VmwOO9HeTEj20kxMWorkflows the marketing team owns.Operation successful.
VmwOO9HeTEj20kxMMarketingteamPossible values: Workflows the marketing team owns.f9a2cbb8-0b1e-4b64-9c1c-0d5f5f1f2a3bThe caller's role in the new project.
project:adminScopes the caller holds in the new project.
The request is invalid or provides malformed data.
Unauthorized
Forbidden
A project with this ID exists already. The request does not change the existing project or its members.
Unsupported media type.
POST /api/v1/projects HTTP/1.1
X-N8N-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 203
{
"name": "Marketing",
"id": "VmwOO9HeTEj20kxM",
"icon": {
"type": "emoji",
"value": "text",
"color": "text"
},
"description": "Workflows the marketing team owns.",
"customTelemetryTags": [
{
"key": "text",
"value": "text"
}
]
}{
"id": "VmwOO9HeTEj20kxM",
"name": "Marketing",
"type": "team",
"icon": {
"type": "emoji",
"value": "text",
"color": "text"
},
"description": "Workflows the marketing team owns.",
"customTelemetryTags": [
{
"key": "text",
"value": "text"
}
],
"creatorId": "f9a2cbb8-0b1e-4b64-9c1c-0d5f5f1f2a3b",
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedAt": "2026-01-01T00:00:00.000Z",
"role": "project:admin",
"scopes": [
"text"
]
}Update a project on your instance.
The ID of the project.
MarketingOperation successful.
No content
The request is invalid or provides malformed data.
Unauthorized
Forbidden
The specified resource was not found.
Unsupported media type.
PUT /api/v1/projects/{projectId} HTTP/1.1
X-N8N-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 20
{
"name": "Marketing"
}No content
Delete a project from your instance.
The ID of the project.
Operation successful.
No content
The request is invalid or provides malformed data.
Unauthorized
Forbidden
The specified resource was not found.
DELETE /api/v1/projects/{projectId} HTTP/1.1
X-N8N-API-KEY: YOUR_API_KEY
Accept: */*
No content
Returns a list of all members of a project including their role. Requires user:list scope.
The ID of the project.
The maximum number of items to return.
100Example: 100Paginate by setting the cursor parameter to the nextCursor attribute returned by the previous request's response. Default value fetches the first "page" of the collection. See pagination for more detail.
Operation successful.
Paginate through project members by setting the cursor parameter to the nextCursor attribute returned by a previous request. Default value fetches the first page of the collection.
eyJvZmZzZXQiOjEwMCwibGltaXQiOjEwMH0=The request is invalid or provides malformed data.
Unauthorized
Forbidden
The specified resource was not found.
GET /api/v1/projects/{projectId}/users HTTP/1.1
X-N8N-API-KEY: YOUR_API_KEY
Accept: */*
{
"data": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"email": "john.doe@company.com",
"firstName": "john",
"lastName": "Doe",
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedAt": "2026-01-01T00:00:00.000Z",
"role": "project:viewer"
}
],
"nextCursor": "eyJvZmZzZXQiOjEwMCwibGltaXQiOjEwMH0="
}Add one or more users to a project on your instance.
The ID of the project.
Operation successful.
No content
The request is invalid or provides malformed data.
Unauthorized
Forbidden
The specified resource was not found.
Unsupported media type.
POST /api/v1/projects/{projectId}/users HTTP/1.1
X-N8N-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 89
{
"relations": [
{
"userId": "91765f0d-3b29-45df-adb9-35b23937eb92",
"role": "project:viewer"
}
]
}No content
Delete a user from a project on your instance.
The ID of the project.
The ID of the user.
Operation successful.
No content
Unauthorized
Forbidden
The specified resource was not found.
DELETE /api/v1/projects/{projectId}/users/{userId} HTTP/1.1
X-N8N-API-KEY: YOUR_API_KEY
Accept: */*
No content
Change a user's role in a project.
The ID of the project.
The ID of the user.
The role assigned to the user in the project.
project:viewerOperation successful.
No content
The request is invalid or provides malformed data.
Unauthorized
Forbidden
The specified resource was not found.
Unsupported media type.
PATCH /api/v1/projects/{projectId}/users/{userId} HTTP/1.1
X-N8N-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 25
{
"role": "project:viewer"
}No content
Last updated
Was this helpful?