Invites

Invites allow you to add new team members to your workspace. When you create an invite, an email is sent to the recipient with instructions to join. If the user already has an account, they are added automatically.


The Invite Object

  • Name
    id
    Type
    uuid
    Description

    Unique identifier for the invite.

  • Name
    workspace_id
    Type
    uuid
    Description

    The workspace this invite belongs to.

  • Name
    email
    Type
    string
    Description

    Email address of the invited user.

  • Name
    seat
    Type
    string
    Description

    Seat type for the user: full or lite.

  • Name
    workspace
    Type
    object
    Description

    Workspace details (only included in certain responses).

  • Name
    created_at
    Type
    datetime
    Description

    Timestamp when the invite was created.

  • Name
    updated_at
    Type
    datetime
    Description

    Timestamp when the invite was last updated.


GET/app/invites

List Invites

Retrieve all pending invites for your workspace.

Request

GET
/app/invites
curl https://api.pipeback.com/app/invites \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "x-workspace-id: YOUR_WORKSPACE_ID"

Response

{
  "data": [
    {
      "id": "9d5f3d04-6f03-8h5e-2e7i-5f6g7h8i9j0a",
      "workspace_id": "9d5f3cf9-fa6f-498b-b5be-bd078b7d5339",
      "email": "newuser@example.com",
      "seat": "full",
      "workspace": {
        "id": "9d5f3cf9-fa6f-498b-b5be-bd078b7d5339",
        "name": "My Workspace",
        "handle": "my-workspace"
      },
      "created_at": "2025-10-26 10:00:00",
      "updated_at": "2025-10-26 10:00:00"
    },
    {
      "id": "9d5f3d04-6f03-8h5e-2e7i-5f6g7h8i9j0b",
      "workspace_id": "9d5f3cf9-fa6f-498b-b5be-bd078b7d5339",
      "email": "contractor@example.com",
      "seat": "lite",
      "workspace": {
        "id": "9d5f3cf9-fa6f-498b-b5be-bd078b7d5339",
        "name": "My Workspace",
        "handle": "my-workspace"
      },
      "created_at": "2025-10-26 11:30:00",
      "updated_at": "2025-10-26 11:30:00"
    }
  ]
}

POST/app/invites

Create an Invite

Create a new invite to add a user to your workspace. If the email belongs to an existing user, they will be added to the workspace automatically. Otherwise, an invitation email will be sent.

Required Attributes

  • Name
    email
    Type
    string
    Required
    *
    Description

    Email address of the user to invite. Must be unique per workspace (cannot send duplicate invites).

  • Name
    seat
    Type
    string
    Required
    *
    Description

    Seat type: full or lite.

Seat Types

  • Name
    full
    Description

    Full access seat with all features and permissions.

  • Name
    lite
    Description

    Limited access seat with restricted features.

Request

POST
/app/invites
curl -X POST https://api.pipeback.com/app/invites \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "x-workspace-id: YOUR_WORKSPACE_ID" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "teammate@example.com",
    "seat": "full"
  }'

Response (New User)

{
  "data": {
    "id": "9d5f3d04-6f03-8h5e-2e7i-5f6g7h8i9j0c",
    "workspace_id": "9d5f3cf9-fa6f-498b-b5be-bd078b7d5339",
    "email": "teammate@example.com",
    "seat": "full",
    "workspace": {
      "id": "9d5f3cf9-fa6f-498b-b5be-bd078b7d5339",
      "name": "My Workspace",
      "handle": "my-workspace"
    },
    "created_at": "2025-10-26 16:00:00",
    "updated_at": "2025-10-26 16:00:00"
  }
}

Response (Existing User)

{
  "message": "User already has an account and was added to the workspace automatically."
}

GET/app/invites/{id}

Retrieve an Invite

Retrieve details about a specific invite. This endpoint does not require authentication and can be accessed by the invited user using the invite link.

Request

GET
/app/invites/{id}
curl https://api.pipeback.com/app/invites/9d5f3d04-6f03-8h5e-2e7i-5f6g7h8i9j0a

Response

{
  "data": {
    "id": "9d5f3d04-6f03-8h5e-2e7i-5f6g7h8i9j0a",
    "workspace_id": "9d5f3cf9-fa6f-498b-b5be-bd078b7d5339",
    "email": "newuser@example.com",
    "seat": "full",
    "workspace": {
      "id": "9d5f3cf9-fa6f-498b-b5be-bd078b7d5339",
      "name": "My Workspace",
      "handle": "my-workspace",
      "logo": "https://example.com/logo.png"
    },
    "created_at": "2025-10-26 10:00:00",
    "updated_at": "2025-10-26 10:00:00"
  }
}

POST/app/invites/{id}

Accept an Invite

Accept an invitation by creating a new user account. This endpoint is used by new users to complete their registration and join the workspace. After accepting, the invite is deleted and the user is automatically added to the workspace.

Required Attributes

  • Name
    email
    Type
    string
    Required
    *
    Description

    Must match the email address on the invite.

  • Name
    name
    Type
    string
    Required
    *
    Description

    Full name of the user (max 255 characters).

  • Name
    password
    Type
    string
    Required
    *
    Description

    User password (max 255 characters).

  • Name
    password_confirmation
    Type
    string
    Required
    *
    Description

    Password confirmation (must match password).

Optional Attributes

  • Name
    device
    Type
    string
    Description

    Device identifier for the authentication token (default: "default").

Request

POST
/app/invites/{id}
curl -X POST https://api.pipeback.com/app/invites/9d5f3d04-6f03-8h5e-2e7i-5f6g7h8i9j0a \
  -H "Content-Type: application/json" \
  -d '{
    "email": "newuser@example.com",
    "name": "New User",
    "password": "secure_password_123",
    "password_confirmation": "secure_password_123",
    "device": "web"
  }'

Response

{
  "token": "1|abcdef123456789...",
  "user": {
    "id": "9d5f3d04-2c61-4d1a-8a3e-1b2c3d4e5f6d",
    "name": "New User",
    "email": "newuser@example.com",
    "email_verified_at": "2025-10-26T16:00:00.000000Z",
    "created_at": "2025-10-26T16:00:00.000000Z",
    "updated_at": "2025-10-26T16:00:00.000000Z"
  }
}

DELETE/app/invites/{id}

Delete an Invite

Revoke a pending invitation. This permanently deletes the invite and the recipient will no longer be able to accept it.

Request

DELETE
/app/invites/{id}
curl -X DELETE https://api.pipeback.com/app/invites/9d5f3d04-6f03-8h5e-2e7i-5f6g7h8i9j0a \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "x-workspace-id: YOUR_WORKSPACE_ID"

Response

{
}

Invite Workflow

The invite process follows this workflow:

  1. Create Invite - Admin creates an invite with email and seat type
  2. Email Sent - If user doesn't exist, invitation email is sent
  3. Auto-Add - If user exists, they're added to workspace automatically
  4. Accept Invite - New user clicks link, creates account via POST /app/invites/{id}
  5. Setup - User is added to workspace, default team, and receives welcome setup
  6. Billing - Workspace subscription is updated to add the new seat
  7. Cleanup - Invite is deleted after successful acceptance

Something wrong with this page?