Teams
A team is a set of users that share access to resources like analysis views, dashboards, and section templates. Use the Teams API to manage your firm's teams and team membership.
Overview
| Base route | /v1/teams |
| Produces | JSON |
| Pagination | Yes |
| OAuth scopes | TEAMS or TEAMS_WRITE |
Access requirementsGET: No special permissions required.
POST, PATCH, DELETE: Manage teams permission.
Resource attributes
| Attribute | Description |
|---|---|
name | String -- The team's display name. Example: "San Diego Advisor Team" |
Relationships
| Relationship | Description |
|---|---|
members | Users belonging to the team. Managed via /v1/teams/:id/relationships/members. |
Get all teams
Returns all teams, optionally filtered by ID.
GET /v1/teams
AuthenticationAll requests require a base64-encoded API key pair:
Authorization: Basic {base64(key_id:key_secret)}See Access & Authentication for setup.
Optional parameters:
| Parameter | Description |
|---|---|
filter[id] | Comma-delimited team IDs. Returns only teams matching these IDs. |
curl -X GET "https://{firm}.addepar.com/api/v1/teams" \
-H "Authorization: Basic {credentials}" \
-H "Addepar-Firm: 1" \
-H "Accept: application/vnd.api+json"{
"data": [
{
"id": "1",
"type": "teams",
"attributes": {
"name": "Team 1"
},
"relationships": {
"members": {
"links": {
"self": "/v1/teams/1/relationships/members",
"related": "/v1/teams/1/members"
},
"data": [
{"type": "users", "id": "36"},
{"type": "users", "id": "41"}
]
}
},
"links": {
"self": "/v1/teams/1"
}
}
],
"included": [],
"links": {
"next": null
}
}Response codes:
200 OK-- Success
Get a team by ID
Returns a specific team.
GET /v1/teams/:id
curl -X GET "https://{firm}.addepar.com/api/v1/teams/2" \
-H "Authorization: Basic {credentials}" \
-H "Addepar-Firm: 1" \
-H "Accept: application/vnd.api+json"{
"data": {
"id": "2",
"type": "teams",
"attributes": {
"name": "Team 2"
},
"relationships": {
"members": {
"links": {
"self": "/v1/teams/2/relationships/members",
"related": "/v1/teams/2/members"
},
"data": [
{"type": "users", "id": "80"},
{"type": "users", "id": "78"}
]
}
},
"links": {
"self": "/v1/teams/2"
}
},
"included": []
}{
"errors": [
{
"id": "not_found",
"status": "404",
"title": "Not Found",
"detail": "No team exists with the provided ID."
}
]
}Response codes:
200 OK-- Success404 Not Found-- Team does not exist
Get a team's members
Returns the IDs of all users in a team.
GET /v1/teams/:id/relationships/members
curl -X GET "https://{firm}.addepar.com/api/v1/teams/2/relationships/members" \
-H "Authorization: Basic {credentials}" \
-H "Addepar-Firm: 1" \
-H "Accept: application/vnd.api+json"{
"data": [
{"id": "80", "type": "users"},
{"id": "36", "type": "users"},
{"id": "37", "type": "users"}
]
}{
"errors": [
{
"id": "not_found",
"status": "404",
"title": "Not Found",
"detail": "Team does not exist or is not accessible."
}
]
}Response codes:
200 OK-- Success400 Bad Request-- Invalid relationship queried403 Forbidden-- Lacking permission to view users404 Not Found-- Team not found
Create a team
Creates a team with an initial set of members.
POST /v1/teams
curl -X POST "https://{firm}.addepar.com/api/v1/teams" \
-H "Authorization: Basic {credentials}" \
-H "Addepar-Firm: 1" \
-H "Content-Type: application/vnd.api+json" \
-H "Accept: application/vnd.api+json" \
-d '{
"data": {
"type": "teams",
"attributes": {
"name": "Team 4"
},
"relationships": {
"members": {
"data": [
{"type": "users", "id": "32"},
{"type": "users", "id": "61"}
]
}
}
}
}'{
"data": {
"id": "4",
"type": "teams",
"attributes": {
"name": "Team 4"
},
"relationships": {
"members": {
"links": {
"self": "/v1/teams/4/relationships/members",
"related": "/v1/teams/4/members"
},
"data": [
{"type": "users", "id": "32"},
{"type": "users", "id": "61"}
]
}
},
"links": {
"self": "/v1/teams/4"
}
},
"included": []
}{
"errors": [
{
"id": "conflict",
"status": "409",
"title": "Conflict",
"detail": "A team with name 'Team 4' already exists."
}
]
}Response codes:
200 OK-- Team created400 Bad Request-- Nonexistent user ID or lacking self-modification permission403 Forbidden-- Lacking manage teams permission409 Conflict-- Team name already exists
Add users to a team
Adds users to an existing team without removing current members.
POST /v1/teams/:id/relationships/members
curl -X POST "https://{firm}.addepar.com/api/v1/teams/4/relationships/members" \
-H "Authorization: Basic {credentials}" \
-H "Addepar-Firm: 1" \
-H "Content-Type: application/vnd.api+json" \
-H "Accept: application/vnd.api+json" \
-d '{
"data": [
{"id": "36", "type": "users"},
{"id": "60", "type": "users"}
]
}'HTTP/1.1 204 No ContentResponse codes:
204 No Content-- Users added400 Bad Request-- Nonexistent user ID403 Forbidden-- Lacking manage teams permission404 Not Found-- Team not found
Update a team
Updates a team's name or replaces its members.
PATCH /v1/teams/:id
curl -X PATCH "https://{firm}.addepar.com/api/v1/teams/4" \
-H "Authorization: Basic {credentials}" \
-H "Addepar-Firm: 1" \
-H "Content-Type: application/vnd.api+json" \
-H "Accept: application/vnd.api+json" \
-d '{
"data": {
"id": "4",
"type": "teams",
"attributes": {
"name": "Team 4 Renamed"
}
}
}'{
"data": {
"id": "4",
"type": "teams",
"attributes": {
"name": "Team 4 Renamed"
},
"relationships": {
"members": {
"links": {
"self": "/v1/teams/4/relationships/members",
"related": "/v1/teams/4/members"
},
"data": [
{"type": "users", "id": "32"},
{"type": "users", "id": "61"}
]
}
},
"links": {
"self": "/v1/teams/4"
}
},
"included": []
}{
"errors": [
{
"id": "not_found",
"status": "404",
"title": "Not Found",
"detail": "No team exists with the provided ID."
}
]
}Response codes:
200 OK-- Team updated400 Bad Request-- Missing ID or malformed JSON403 Forbidden-- Lacking manage teams permission404 Not Found-- Team not found409 Conflict-- Name already exists or URL/body ID mismatch
Replace a team's members
Removes all existing members and replaces them with a new set.
PATCH /v1/teams/:id/relationships/members
curl -X PATCH "https://{firm}.addepar.com/api/v1/teams/4/relationships/members" \
-H "Authorization: Basic {credentials}" \
-H "Addepar-Firm: 1" \
-H "Content-Type: application/vnd.api+json" \
-H "Accept: application/vnd.api+json" \
-d '{
"data": [
{"id": "32", "type": "users"},
{"id": "61", "type": "users"}
]
}'HTTP/1.1 204 No ContentResponse codes:
204 No Content-- Members replaced400 Bad Request-- Nonexistent user ID403 Forbidden-- Lacking manage teams permission404 Not Found-- Team not found
Delete a team
Deletes a team. The team must have zero members before deletion.
DELETE /v1/teams/:id
PrerequisiteRemove all members from the team before deleting it.
curl -X DELETE "https://{firm}.addepar.com/api/v1/teams/4" \
-H "Authorization: Basic {credentials}" \
-H "Addepar-Firm: 1" \
-H "Accept: application/vnd.api+json"HTTP/1.1 204 No Content{
"errors": [
{
"id": "bad_request",
"status": "400",
"title": "Bad Request",
"detail": "Cannot delete a team that still has members."
}
]
}Response codes:
204 No Content-- Team deleted400 Bad Request-- Team still has members403 Forbidden-- Lacking manage teams permission
Remove users from a team
Removes specific users from a team.
DELETE /v1/teams/:id/relationships/members
curl -X DELETE "https://{firm}.addepar.com/api/v1/teams/4/relationships/members" \
-H "Authorization: Basic {credentials}" \
-H "Addepar-Firm: 1" \
-H "Content-Type: application/vnd.api+json" \
-H "Accept: application/vnd.api+json" \
-d '{
"data": [
{"id": "32", "type": "users"},
{"id": "61", "type": "users"}
]
}'HTTP/1.1 204 No ContentResponse codes:
204 No Content-- Users removed400 Bad Request-- Nonexistent user ID403 Forbidden-- Lacking manage teams permission404 Not Found-- Team not found
Related resources
- Users -- Manage user accounts and permissions.
Updated 19 days ago