Skip to content
cursareDocs
Sign inGet started
Documentation
  • Overview
  • Index2
  • Organization17
  • Sales6
  • Insights8
  • Reports and safety7
  • Minor accounts8
  • Minor safety3
  • Offers11
  • Media1
  • Contents10
  • Learner delivery1
  • Learner runtime5
  • Learners12
  • Cohorts12
  • Intake forms5
  • Campaigns4
  • Teams8
  • Affiliates7
  • Links7
  • Reviews1
  • Integrations26
  • MCP2
  • Webhooks6

Teams

Staff teams, memberships and content-domain roles.

8 endpoints

List teams

GET/teams

The org's teams with their members.

Responses

200List teams.
401Missing, invalid or revoked API key.
429Rate limit exceeded (240 reads/min, 60 writes/min per key).
500Unexpected server error.
curl https://api.cursare.com/v1/teams \
  --header 'Authorization: Bearer cr_live_…'
{
  "data": [
    {
      "id": "string",
      "logo": "string",
      "members": [
        {
          "email": "learner@example.com",
          "name": "string",
          "userId": "string"
        }
      ],
      "name": "string"
    }
  ]
}

Create a team

POST/teams

Request body

namestringrequired
logostring | null

Responses

201Create a team.
400Validation failed or the request body is malformed.
401Missing, invalid or revoked API key.
403The key's organization does not own this resource.
404The resource does not exist (or belongs to another org).
429Rate limit exceeded (240 reads/min, 60 writes/min per key).
500Unexpected server error.
curl https://api.cursare.com/v1/teams \
  --request POST \
  --header 'Authorization: Bearer cr_live_…' \
  --header 'Content-Type: application/json' \
  --data '{
  "name": "string",
  "logo": "string"
}'
{
  "data": {
    "id": "string",
    "name": "string"
  }
}

Get a team

GET/teams/{id}

Path parameters

idstring

The team id.

Responses

200Get a team.
401Missing, invalid or revoked API key.
403The key's organization does not own this resource.
404The resource does not exist (or belongs to another org).
429Rate limit exceeded (240 reads/min, 60 writes/min per key).
500Unexpected server error.
curl https://api.cursare.com/v1/teams/{id} \
  --header 'Authorization: Bearer cr_live_…'
{
  "data": {
    "id": "string",
    "logo": "string",
    "members": [
      {
        "email": "learner@example.com",
        "name": "string",
        "userId": "string"
      }
    ],
    "name": "string"
  }
}

Update a team's name, logo or bio

PATCH/teams/{id}

Org-admin only. Every field is optional — send just the ones you want to change; omitted fields are left alone. Send null for logo or bio to clear them.

Path parameters

idstring

The team id.

Request body

biostring | null
logostring | null
namestring

Responses

200Update a team's name, logo or bio.
400Validation failed or the request body is malformed.
401Missing, invalid or revoked API key.
403The key's organization does not own this resource.
404The resource does not exist (or belongs to another org).
429Rate limit exceeded (240 reads/min, 60 writes/min per key).
500Unexpected server error.
curl https://api.cursare.com/v1/teams/{id} \
  --request PATCH \
  --header 'Authorization: Bearer cr_live_…' \
  --header 'Content-Type: application/json' \
  --data '{
  "bio": "string",
  "logo": "string",
  "name": "string"
}'
{
  "data": {
    "bio": "string",
    "id": "string",
    "logo": "string",
    "name": "string"
  }
}

Delete a team

DELETE/teams/{id}

Dissolves the team; its members stay in the org.

Path parameters

idstring

The team id.

Responses

200Delete a team.
401Missing, invalid or revoked API key.
403The key's organization does not own this resource.
404The resource does not exist (or belongs to another org).
429Rate limit exceeded (240 reads/min, 60 writes/min per key).
500Unexpected server error.
curl https://api.cursare.com/v1/teams/{id} \
  --request DELETE \
  --header 'Authorization: Bearer cr_live_…'
{
  "data": {
    "deleted": true,
    "id": "string"
  }
}

Add a member to a team

POST/teams/{id}/members

Identify the org member by userId or email (one is required). Adding someone grants NOTHING on its own — a member with no roles is just listed on the team. Follow this call with setTeamMemberRoles to give them their responsibilities, otherwise the team is half-configured.

Path parameters

idstring

The team id.

Request body

emailemail
userIdstring

Responses

201Add a member to a team.
400Validation failed or the request body is malformed.
401Missing, invalid or revoked API key.
403The key's organization does not own this resource.
404The resource does not exist (or belongs to another org).
429Rate limit exceeded (240 reads/min, 60 writes/min per key).
500Unexpected server error.
curl https://api.cursare.com/v1/teams/{id}/members \
  --request POST \
  --header 'Authorization: Bearer cr_live_…' \
  --header 'Content-Type: application/json' \
  --data '{
  "email": "learner@example.com",
  "userId": "string"
}'
{
  "data": {
    "teamId": "string",
    "userId": "string"
  }
}

Remove a member from a team

DELETE/teams/{id}/members/{userId}

Path parameters

idstring

The team id.

userIdstring

The Cursare user id.

Responses

200Remove a member from a team.
401Missing, invalid or revoked API key.
403The key's organization does not own this resource.
404The resource does not exist (or belongs to another org).
429Rate limit exceeded (240 reads/min, 60 writes/min per key).
500Unexpected server error.
curl https://api.cursare.com/v1/teams/{id}/members/{userId} \
  --request DELETE \
  --header 'Authorization: Bearer cr_live_…'
{
  "data": {
    "removed": true,
    "teamId": "string",
    "userId": "string"
  }
}

Set a team member's roles

PUT/teams/{id}/members/{userId}/roles

Org-admin only. Replaces the member's WHOLE role set on this team — the roles you send become the roles they have, so include the ones you want to keep. Send [] to strip every responsibility (they stay on the team, but authorize nothing). The user must already be on the team: call addTeamMember first. This is what turns a listed member into someone who can actually work on the team's courses, so run it right after adding anyone.

Path parameters

idstring

The team id.

userIdstring

The Cursare user id of the team member.

Request body

rolesenum[]required

editorfinancecohortlearners

Responses

200Set a team member's roles.
400Validation failed or the request body is malformed.
401Missing, invalid or revoked API key.
403The key's organization does not own this resource.
404The resource does not exist (or belongs to another org).
429Rate limit exceeded (240 reads/min, 60 writes/min per key).
500Unexpected server error.
curl https://api.cursare.com/v1/teams/{id}/members/{userId}/roles \
  --request PUT \
  --header 'Authorization: Bearer cr_live_…' \
  --header 'Content-Type: application/json' \
  --data '{
  "roles": [
    "editor"
  ]
}'
{
  "data": {
    "roles": [
      "editor"
    ],
    "teamId": "string",
    "userId": "string"
  }
}

Your privacy choices

The technical Tag Manager container is required to apply your choices. Analytics and marketing cookies and storage remain optional and stay off until you authorize them. Privacy Policy.

Sign-in, security, core functions and consent enforcement.

Audience measurement such as Google Analytics.

Marketing storage, campaign attribution and optional tags.