invite_user
Invite someone to your Marcora account by email as a creator or admin, or into a specific project as a collaborator. An invitation email is sent automatically, and the response also returns the exact invite link so you can share it directly. Admins can invite any role; a creator can invite collaborators only.
Parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
email | string | Yes | — | Email address of the person to invite |
role | string | Yes | — | Role to grant: admin, creator, or collaborator |
project_id | string | No | — | Project UUID (from list_projects). Required for collaborator; for creator/admin, optionally also adds them to this project and deep-links their invite to it. |
Input Schema
{
"type": "object",
"required": [
"email",
"role"
],
"properties": {
"role": {
"enum": [
"admin",
"creator",
"collaborator"
],
"type": "string",
"description": "Role to grant: admin, creator, or collaborator"
},
"email": {
"type": "string",
"description": "Email address of the person to invite"
},
"project_id": {
"type": "string",
"format": "uuid",
"description": "Project UUID (from list_projects). Required for collaborator; for creator/admin, optionally also adds them to this project and deep-links their invite to it."
}
}
}Output Schema
{
"type": "object",
"required": [
"outcome",
"emailed",
"message",
"email",
"role"
],
"properties": {
"role": {
"type": "string",
"description": "`admin`, `creator`, or `collaborator`."
},
"email": {
"type": "string",
"description": "The invited email address."
},
"emailed": {
"type": "boolean",
"description": "True when an invitation email was sent."
},
"message": {
"type": "string",
"description": "Human-readable summary of what happened."
},
"outcome": {
"type": "string",
"description": "`invited` (an invitation email was sent) or `added_to_project` (the email was already a team member and was added straight to the project)."
},
"project_id": {
"type": [
"string",
"null"
],
"description": "Project the invitee was added to / pointed at, if any."
},
"invite_link": {
"type": [
"string",
"null"
],
"description": "The exact link to share directly — the sign-up link (with the project deep-link when a project was given) for new users and for existing users with no active team, or the login URL for existing users who still belong to an active team. null when no invitation was sent."
},
"invite_token": {
"type": [
"string",
"null"
],
"description": "Invitation token, when one was sent."
},
"existing_user": {
"type": [
"boolean",
"null"
],
"description": "True if the email already had a Marcora account. Such a user gets the login link if they still belong to an active team, or the sign-up link to rejoin if they have none (for example, a removed teammate). False for a brand-new user (sign-up link)."
},
"invitation_id": {
"type": [
"integer",
"null"
],
"description": "ID of the created/reused invitation, when one was sent."
}
}
}Instructions
Invite someone to your Marcora account by email. An invitation email is sent automatically, and the response also returns the exact invite_link so you can share it directly — for example, paste it to the person in Slack.
When to use: when the user wants to add someone to their team or to a project — "invite jordan@acme.com", "add Sam to the Website Update project", "get me a sign-up link for Priya".
Roles
| Role | What they get |
|---|---|
creator |
A full team member who can create and edit content |
admin |
A team administrator |
collaborator |
A project-scoped member who works only inside one project |
Who can invite whom
You must be an admin to invite someone as an admin or a creator — admins can invite any role. A creator can invite collaborators only. Viewers cannot invite anyone.
project_iddoes not restrict a creator or an admin. It is required for acollaborator— that's the project they'll collaborate on. For acreatororadminit is optional and does not limit their access; they keep full team access. It simply also adds them to that project and deep-links their invite so they land in it on first sign-in. Get the UUID fromlist_projects.
Brand-new invitees are emailed a sign-up link. People who already have a Marcora account and still belong to an active team are emailed a login link and see the invitation in-app once they log in. People who have an account but no active team (for example, a removed teammate) are emailed a sign-up link to rejoin with their existing password.
Output
| Field | Type | Description |
|---|---|---|
outcome |
string | invited (an invitation email was sent) or added_to_project (the email was already a team member and was added straight to the project) |
emailed |
boolean | True when an invitation email was sent |
invite_link |
string | null | The exact link to share directly — the sign-up link (with the project deep-link when a project was given) for new users and for existing users with no active team, or the login URL for existing users who still belong to an active team. null when no invitation was sent |
message |
string | Human-readable summary of what happened |
email |
string | The invited email address |
role |
string | admin, creator, or collaborator |
project_id |
string | null | Project the invitee was added to / pointed at, if any |
existing_user |
boolean | null | True if the email already had a Marcora account. Such a user gets the login link if they still belong to an active team, or the sign-up link to rejoin if they have none (for example, a removed teammate). False for a brand-new user (sign-up link) |
invitation_id |
integer | null | ID of the created/reused invitation, when one was sent |
invite_token |
string | null | Invitation token, when one was sent |
Only outcome, emailed, message, email and role are always present — the rest are null when they don't apply.
Errors. A
collaboratorwith noproject_idreturns a 400. Inviting acreatororadminwhen you are not an admin returns a 403. An email that is already an active team member (with no project to add them to), or that already has a pending invitation, returns a clear error.
Example prompts
- "Invite jordan@acme.com to the team as a creator"
- "Add sam@acme.com as a collaborator on the Website Update project"
- "Invite priya@acme.com as an admin and give me the sign-up link to send her"