Resource

Team

Teams lets your organize users of your project into groups and lets you assign different level of permissions.

The Team Model

Properties

  • Name
    _id
    Type
    Object ID
    Description

    ID of this object

  • Name
    createdAt
    Type
    Date
    Description

    Date and Time when the object was created.

  • Name
    updatedAt
    Type
    Date
    Description

    Date and Time when the object was updated.

  • Name
    project
    Type
    Project
    Description

    Relation to Project Resource in which this object belongs

  • Name
    projectId
    Type
    Object IDRequired
    Description

    ID of your Project in which this object belongs

  • Name
    name
    Type
    TextRequired
    Description

    Any friendly name of this object

  • Name
    description
    Type
    Long Text
    Description

    Friendly description that will help you remember

  • Name
    slug
    Type
    SlugRequired
    Description

    Friendly globally unique name for your object

  • Name
    createdByUser
    Type
    User
    Description

    Relation to User who created this object (if this object was created by a User)

  • Name
    createdByUserId
    Type
    Object ID
    Description

    User ID who created this object (if this object was created by a User)

  • Name
    isPermissionsEditable
    Type
    Boolean
    Description

    Can you edit team permissions? Teams auto-created for you are uneditable but you should be able to edit permissions on the team you create

  • Name
    isTeamDeleteable
    Type
    Boolean
    Description

    Can you delete this team? Teams auto-created for you are not deleteable but you should be able to delete permissions on the team you create

  • Name
    shouldHaveAtLeastOneMember
    Type
    Boolean
    Description

    Can this team have no members? Owner team should have at least 1 member, other teams can have no members

  • Name
    isTeamEditable
    Type
    Boolean
    Description

    Can you edit team? Teams auto-created for you are uneditable but you should be able to edit on the team you create

GETorPOST/api/team/get-list

List

This endpoint allows you to retrieve a paginated list of all your Team. By default, a maximum of ten Team are shown per page.

Optional Query Params

  • limit
    number
    Number of objects to fetch. By default 10, you can increase this count up to 100
  • skip
    number
    Number of objects to skip. This can be useful in pagination

Optional Request Body

List Request

POST
/api/team/get-list?skip=0&limit=10
Headers
Content-Type: application/json
ApiKey: YOUR_API_KEY
Body
{
  "select": {
    "name": true,
    "projectId": true,
    "createdByUserId": true,
    "description": true,
    "isPermissionsEditable": true
  },
  "query": {
    "name": "Engineering Team"
  },
  "sort": {
    "createdAt": -1
  }
}

Response

{
  "count": 10,
  "limit": 10,
  "skip": 0,
  "data": [
    {
      "_id": "377e3be0-28fe-11f1-b591-3fdcef396aba",
      "name": "Engineering Team",
      "projectId": "5f8b9c0d-e1a2-4b3c-8d5e-6f7a8b9c0d1e",
      "createdByUserId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "description": "Team responsible for backend services and infrastructure management",
      "isPermissionsEditable": true
    },
    {
      "_id": "377e3be1-28fe-11f1-b591-3fdcef396aba",
      "name": "Engineering Team",
      "projectId": "5f8b9c0d-e1a2-4b3c-8d5e-6f7a8b9c0d1e",
      "createdByUserId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "description": "Team responsible for backend services and infrastructure management",
      "isPermissionsEditable": true
    },
    {
      "_id": "377e3be2-28fe-11f1-b591-3fdcef396aba",
      "name": "Engineering Team",
      "projectId": "5f8b9c0d-e1a2-4b3c-8d5e-6f7a8b9c0d1e",
      "createdByUserId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "description": "Team responsible for backend services and infrastructure management",
      "isPermissionsEditable": true
    }
  ]
}
GETorPOST/api/team/:id/get-item

Get item by ID

This endpoint allows you to retrieve Team by ID.

  • id
    text
    ID of the Object

Optional Request Body

Get Item Request

POST
/api/team/:id/get-item
Headers
Content-Type: application/json
ApiKey: YOUR_API_KEY
Body
{
  "select": {
    "name": true,
    "projectId": true,
    "createdByUserId": true,
    "description": true,
    "isPermissionsEditable": true
  }
}

Response

{
  "_id": "377e3be0-28fe-11f1-b591-3fdcef396aba",
  "name": "Engineering Team",
  "projectId": "5f8b9c0d-e1a2-4b3c-8d5e-6f7a8b9c0d1e",
  "createdByUserId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "description": "Team responsible for backend services and infrastructure management",
  "isPermissionsEditable": true
}
POST/api/team/count

Count

This endpoint allows you to retrieve the count of all your Team.

Optional Request Body

Count Request

POST
/api/team/count
Headers
Content-Type: application/json
ApiKey: YOUR_API_KEY
Body
{
  "query": {
    "name": "Engineering Team"
  }
}

Response

{
  "count": 107
}
POST/api/team

Create Team

This endpoint allows you to create a new object.

Create Request

POST
/api/team
Headers
Content-Type: application/json
ApiKey: YOUR_API_KEY
Body
{
  "data": {
    "name": "Engineering Team",
    "projectId": "5f8b9c0d-e1a2-4b3c-8d5e-6f7a8b9c0d1e",
    "createdByUserId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "description": "Team responsible for backend services and infrastructure management",
    "createdByUser": "Example created by user"
  }
}

Response

{
  "_id": "377e3be0-28fe-11f1-b591-3fdcef396aba",
  "name": "Engineering Team",
  "projectId": "5f8b9c0d-e1a2-4b3c-8d5e-6f7a8b9c0d1e",
  "createdByUserId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "description": "Team responsible for backend services and infrastructure management",
  "isPermissionsEditable": true
}
PUT/api/team/:id

Update by ID

This endpoint allows you to update object by its ID.

Alternative Methods

For clients that do not support PUT requests, you can use POST or GET with the same request headers and body:

POST/api/team/:id/update-item
GET/api/team/:id/update-item

Update Request

PUT
/api/team/:id
Headers
Content-Type: application/json
ApiKey: YOUR_API_KEY
Body
{
  "data": {
    "name": "Engineering Team",
    "description": "Team responsible for backend services and infrastructure management"
  }
}

Response

{}
DELETE/api/team/:id

Delete by ID

This endpoint allows you to delete object by its ID.

Alternative Methods

For clients that do not support DELETE requests, you can use POST or GET with the same request headers and body:

POST/api/team/:id/delete-item
GET/api/team/:id/delete-item

Delete Request

DELETE
/api/team/:id
Headers
Content-Type: application/json
ApiKey: YOUR_API_KEY

Response

{}

Permissions

Your API Token needs permissions to create, update, read or delete this resource. If you do not have permissions to make a request a 4xx status will be sent as response.

Read Permissions

Required to read Team

  • Project Owner
  • Project Admin
  • Project Member
  • Read Teams
  • Read All Project Resources

Create Permissions

Required to create Team

  • Project Owner
  • Project Admin
  • Project Member
  • Create Team

Update Permissions

Required to update Team

  • Project Owner
  • Project Admin
  • Invite New Members
  • Edit Team Permissions
  • Edit Team

Delete Permissions

Required to delete Team

  • Project Owner
  • Project Admin
  • Delete Team