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
ProducesJSON
PaginationYes
OAuth scopesTEAMS or TEAMS_WRITE
📘

Access requirements

GET: No special permissions required.
POST, PATCH, DELETE: Manage teams permission.

Resource attributes

AttributeDescription
nameString -- The team's display name. Example: "San Diego Advisor Team"

Relationships

RelationshipDescription
membersUsers belonging to the team. Managed via /v1/teams/:id/relationships/members.

Get all teams

Returns all teams, optionally filtered by ID.

GET /v1/teams

📘

Authentication

All requests require a base64-encoded API key pair:

Authorization: Basic {base64(key_id:key_secret)}

See Access & Authentication for setup.

Optional parameters:

ParameterDescription
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 -- Success
  • 404 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 -- Success
  • 400 Bad Request -- Invalid relationship queried
  • 403 Forbidden -- Lacking permission to view users
  • 404 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 created
  • 400 Bad Request -- Nonexistent user ID or lacking self-modification permission
  • 403 Forbidden -- Lacking manage teams permission
  • 409 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 Content

Response codes:

  • 204 No Content -- Users added
  • 400 Bad Request -- Nonexistent user ID
  • 403 Forbidden -- Lacking manage teams permission
  • 404 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 updated
  • 400 Bad Request -- Missing ID or malformed JSON
  • 403 Forbidden -- Lacking manage teams permission
  • 404 Not Found -- Team not found
  • 409 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 Content

Response codes:

  • 204 No Content -- Members replaced
  • 400 Bad Request -- Nonexistent user ID
  • 403 Forbidden -- Lacking manage teams permission
  • 404 Not Found -- Team not found

Delete a team

Deletes a team. The team must have zero members before deletion.

DELETE /v1/teams/:id

⚠️

Prerequisite

Remove 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 deleted
  • 400 Bad Request -- Team still has members
  • 403 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 Content

Response codes:

  • 204 No Content -- Users removed
  • 400 Bad Request -- Nonexistent user ID
  • 403 Forbidden -- Lacking manage teams permission
  • 404 Not Found -- Team not found

📘

Related resources

  • Users -- Manage user accounts and permissions.

Did this page help you?