Skip to main content

Projects

Projects are managed through the MessagePipe dashboard. They are the top-level organizational unit in MessagePipe. Templates, providers, API keys and configurations all belong to a project.

Creating a Project

Only users with the project_admin role can create projects.

POST /projects
Content-Type: application/json
Authorization: Bearer {your-jwt-token}

{
"name": "My App"
}

Response:

{
"id": "project-uuid",
"name": "My App",
"createdAt": "2024-01-01T10:00:00Z"
}

Get Your Projects

GET /projects
Authorization: Bearer {your-jwt-token}

Returns all projects the authenticated user belongs to.

Delete a Project

Only the project owner can delete a project.

DELETE /projects/{projectId}
Authorization: Bearer {your-jwt-token}

⚠️ Deleting a project removes all associated templates, configurations and API keys. This action cannot be undone.

Team Management

Get Team Members

GET /projects/{projectId}/team
Authorization: Bearer {your-jwt-token}

Invite a Team Member

Invite a user to collaborate on a project. You can optionally specify a role. It defaults to team_member if omitted.

POST /projects/invite
Content-Type: application/json
Authorization: Bearer {your-jwt-token}

{
"email": "teammate@example.com",
"projectId": "project-uuid",
"role": "team_member"
}

Role options:

RoleDescription
team_memberStandard collaborator access (default)
project_adminCan manage project settings and team

The invited user will receive an email with an invitation link.

Remove a Team Member

Remove an existing member from a project:

DELETE /projects/{projectId}/members/{userId}
Authorization: Bearer {your-jwt-token}

Responses:

StatusDescription
200Team member removed successfully
401Unauthorized: You don't have permission to remove members
404Project or user not found

Manage Invites

Get All Project Invites

GET /projects/{projectId}/invites
Authorization: Bearer {your-jwt-token}

Resend an Invite

POST /projects/resend-invite/{inviteId}
Authorization: Bearer {your-jwt-token}

Cancel a Pending Invite

DELETE /projects/cancel-invite/{inviteId}
Authorization: Bearer {your-jwt-token}

Accept an Invite

This endpoint does not require authentication. New users complete registration as part of accepting:

POST /projects/accept-invite
Content-Type: application/json

{
"token": "invite-token-from-email",
"firstName": "Jane",
"lastName": "Doe",
"password": "secure-password"
}