---
title: "Invite member"
---

> Documentation Index
> Fetch the complete documentation index at: https://docs.sureshake.com/llms.txt
> Use this file to discover all available pages before exploring further.

Path: Sureshake API › entities

`POST /v2/entities/{id}/team/invite`

## Path parameters

- `id` (`entity-team-invite-member.path.id`; string, required)
  - format `uuid`

## Request body

- `userId` (`entity-team-invite-member.userId`; string, optional)
- `email` (`entity-team-invite-member.email`; string, optional)
  - format `email`
- `name` (`entity-team-invite-member.name`; string, optional)
- `role` (`entity-team-invite-member.role`; string, optional)
  - one of `"admin"`, `"executive"`, `"board_member"`, `"employee"`, `"advisor"`
- `title` (`entity-team-invite-member.title`; string, optional)
- `message` (`entity-team-invite-member.message`; string, optional)
- `portfolioRole` (`entity-team-invite-member.portfolioRole`; string, optional, nullable)
  - one of `"admin"`, `"editor"`

## Example request

```json
{
  "userId": "string",
  "email": "user@example.com",
  "name": "string",
  "role": "admin",
  "title": "string",
  "message": "string",
  "portfolioRole": "admin"
}
```

## Code samples

### cURL

```bash
curl --request POST \
  --url 'https://api.sureshake.com/v2/entities/<id>/team/invite' \
  --header 'Content-Type: application/json' \
  --data '
{
  "userId": "string",
  "email": "user@example.com",
  "name": "string",
  "role": "admin",
  "title": "string",
  "message": "string",
  "portfolioRole": "admin"
}
'
```

### TypeScript

```typescript
const url = 'https://api.sureshake.com/v2/entities/<id>/team/invite';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: JSON.stringify({
    userId: 'string',
    email: 'user@example.com',
    name: 'string',
    role: 'admin',
    title: 'string',
    message: 'string',
    portfolioRole: 'admin'
  })
};

fetch(url, options)
  .then(res => res.json())
  .then(json => console.log(json))
  .catch(err => console.error(err));
```

### Python

```python
import requests

url = "https://api.sureshake.com/v2/entities/<id>/team/invite"

payload = {
    "userId": "string",
    "email": "user@example.com",
    "name": "string",
    "role": "admin",
    "title": "string",
    "message": "string",
    "portfolioRole": "admin"
}
headers = {"Content-Type": "application/json"}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
```

## Responses

### 200

Default Response

#### Example

```json
{
  "type": "existing_user",
  "member": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "entityId": "156e622c-6cdf-4c27-9bc9-2f2db69919f5",
    "userId": "string",
    "status": "string",
    "role": "owner",
    "title": "string",
    "portfolioRole": "string",
    "current": true,
    "visibleOnProfile": true,
    "invitedBy": "string",
    "invitedAt": "2019-08-24T14:15:22Z",
    "respondedAt": "2019-08-24T14:15:22Z",
    "startDate": "2019-08-24T14:15:22Z",
    "endDate": "2019-08-24T14:15:22Z",
    "createdAt": "2019-08-24T14:15:22Z",
    "updatedAt": "2019-08-24T14:15:22Z",
    "user": {
      "id": "string",
      "name": "string",
      "email": "string",
      "avatar": "string",
      "bio": "string",
      "company": "string",
      "title": "string"
    },
    "entity": {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "name": "string",
      "slug": "string",
      "logoUrl": "string",
      "description": "string"
    },
    "inviter": {
      "id": "string",
      "name": "string",
      "avatar": "string"
    }
  },
  "invitation": null
}
```

- `type` (`entity-team-invite-member.response.200.type`; string, required)
  - one of `"existing_user"`, `"email_invitation"`
- `member` (`entity-team-invite-member.response.200.member`; object, optional)
  - `id` (`entity-team-invite-member.response.200.member.id`; string, required)
    - format `uuid`
  - `entityId` (`entity-team-invite-member.response.200.member.entityId`; string, required)
    - format `uuid`
  - `userId` (`entity-team-invite-member.response.200.member.userId`; string, required)
  - `status` (`entity-team-invite-member.response.200.member.status`; string, required)
  - `role` (`entity-team-invite-member.response.200.member.role`; string, required, nullable)
    - one of `"owner"`, `"admin"`, `"executive"`, `"board_member"`, `"employee"`, `"advisor"`
  - `title` (`entity-team-invite-member.response.200.member.title`; string, required, nullable)
  - `portfolioRole` (`entity-team-invite-member.response.200.member.portfolioRole`; string, required, nullable)
  - `current` (`entity-team-invite-member.response.200.member.current`; boolean, required)
  - `visibleOnProfile` (`entity-team-invite-member.response.200.member.visibleOnProfile`; boolean, required)
  - `invitedBy` (`entity-team-invite-member.response.200.member.invitedBy`; string, required)
  - `invitedAt` (`entity-team-invite-member.response.200.member.invitedAt`; string, required)
    - format `date-time`
  - `respondedAt` (`entity-team-invite-member.response.200.member.respondedAt`; string, required, nullable)
    - format `date-time`
  - `startDate` (`entity-team-invite-member.response.200.member.startDate`; string, required, nullable)
    - format `date-time`
  - `endDate` (`entity-team-invite-member.response.200.member.endDate`; string, required, nullable)
    - format `date-time`
  - `createdAt` (`entity-team-invite-member.response.200.member.createdAt`; string, required)
    - format `date-time`
  - `updatedAt` (`entity-team-invite-member.response.200.member.updatedAt`; string, required)
    - format `date-time`
  - `user` (`entity-team-invite-member.response.200.member.user`; object, optional, nullable)
    - `id` (`entity-team-invite-member.response.200.member.user.id`; string, required)
    - `name` (`entity-team-invite-member.response.200.member.user.name`; string, required, nullable)
    - `email` (`entity-team-invite-member.response.200.member.user.email`; string, required, nullable)
    - `avatar` (`entity-team-invite-member.response.200.member.user.avatar`; string, required, nullable)
    - `bio` (`entity-team-invite-member.response.200.member.user.bio`; string, optional, nullable)
    - `company` (`entity-team-invite-member.response.200.member.user.company`; string, optional, nullable)
    - `title` (`entity-team-invite-member.response.200.member.user.title`; string, optional, nullable)
  - `entity` (`entity-team-invite-member.response.200.member.entity`; object, optional, nullable)
    - `id` (`entity-team-invite-member.response.200.member.entity.id`; string, required)
      - format `uuid`
    - `name` (`entity-team-invite-member.response.200.member.entity.name`; string, required)
    - `slug` (`entity-team-invite-member.response.200.member.entity.slug`; string, optional, nullable)
    - `logoUrl` (`entity-team-invite-member.response.200.member.entity.logoUrl`; string, optional, nullable)
    - `description` (`entity-team-invite-member.response.200.member.entity.description`; string, optional, nullable)
  - `inviter` (`entity-team-invite-member.response.200.member.inviter`; object, optional, nullable)
    - `id` (`entity-team-invite-member.response.200.member.inviter.id`; string, required)
    - `name` (`entity-team-invite-member.response.200.member.inviter.name`; string, required, nullable)
    - `avatar` (`entity-team-invite-member.response.200.member.inviter.avatar`; string, required, nullable)
- `invitation` (`entity-team-invite-member.response.200.invitation`; unknown, optional)

### 400

Default Response

#### Example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "traceId": "string"
  }
}
```

- `error` (`entity-team-invite-member.response.400.error`; object, required)
  - `code` (`entity-team-invite-member.response.400.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`entity-team-invite-member.response.400.error.message`; string, required) — Human-readable error message
  - `details` (`entity-team-invite-member.response.400.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`entity-team-invite-member.response.400.error.traceId`; string, optional) — Unique ID for log correlation

### 401

Default Response

#### Example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "traceId": "string"
  }
}
```

- `error` (`entity-team-invite-member.response.401.error`; object, required)
  - `code` (`entity-team-invite-member.response.401.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`entity-team-invite-member.response.401.error.message`; string, required) — Human-readable error message
  - `details` (`entity-team-invite-member.response.401.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`entity-team-invite-member.response.401.error.traceId`; string, optional) — Unique ID for log correlation

### 403

Default Response

#### Example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "traceId": "string"
  }
}
```

- `error` (`entity-team-invite-member.response.403.error`; object, required)
  - `code` (`entity-team-invite-member.response.403.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`entity-team-invite-member.response.403.error.message`; string, required) — Human-readable error message
  - `details` (`entity-team-invite-member.response.403.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`entity-team-invite-member.response.403.error.traceId`; string, optional) — Unique ID for log correlation

### 404

Default Response

#### Example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "traceId": "string"
  }
}
```

- `error` (`entity-team-invite-member.response.404.error`; object, required)
  - `code` (`entity-team-invite-member.response.404.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`entity-team-invite-member.response.404.error.message`; string, required) — Human-readable error message
  - `details` (`entity-team-invite-member.response.404.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`entity-team-invite-member.response.404.error.traceId`; string, optional) — Unique ID for log correlation

### 409

Default Response

#### Example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "traceId": "string"
  }
}
```

- `error` (`entity-team-invite-member.response.409.error`; object, required)
  - `code` (`entity-team-invite-member.response.409.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`entity-team-invite-member.response.409.error.message`; string, required) — Human-readable error message
  - `details` (`entity-team-invite-member.response.409.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`entity-team-invite-member.response.409.error.traceId`; string, optional) — Unique ID for log correlation

### 500

Default Response

#### Example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "traceId": "string"
  }
}
```

- `error` (`entity-team-invite-member.response.500.error`; object, required)
  - `code` (`entity-team-invite-member.response.500.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`entity-team-invite-member.response.500.error.message`; string, required) — Human-readable error message
  - `details` (`entity-team-invite-member.response.500.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`entity-team-invite-member.response.500.error.traceId`; string, optional) — Unique ID for log correlation

### 503

Default Response

#### Example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "traceId": "string"
  }
}
```

- `error` (`entity-team-invite-member.response.503.error`; object, required)
  - `code` (`entity-team-invite-member.response.503.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`entity-team-invite-member.response.503.error.message`; string, required) — Human-readable error message
  - `details` (`entity-team-invite-member.response.503.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`entity-team-invite-member.response.503.error.traceId`; string, optional) — Unique ID for log correlation


Source: https://docs.sureshake.com/reference/entity-team-invite-member/index.md
