# Team Members

Team member (staff) and position management.

Manage staff positions and retrieve team member information.


## List Team Members

 - [GET /locations/{location_id}/team_members](https://developer.alteg.io/en/b2b-v2/openapi/team-members/list_team_members.md): Retrieve all team members (staff) for a location with optional filters.

Filter Values (tri-state):
- 0 = exclude matching
- 1 = only matching
- 2 = all (default for most filters)

| Filter | Default | Description |
|--------|---------|-------------|
| deleted | 0 | 0=active only, 1=deleted only, 2=all |
| fired | 2 | 0=employed, 1=fired only, 2=all |
| user_linked | 2 | 0=no account, 1=has account, 2=all |
| is_paid | 2 | 0=unpaid, 1=paid, 2=all |
| has_schedule | 2 | 0=no schedule, 1=has schedule, 2=all |
| is_assistant | 2 | 0=exclude assistants, 1=only assistants, 2=all |

Available includes:
- position - Position details
- services - Services provided by this team member
- schedule - Work schedule

## List Positions

 - [GET /companies/{company_id}/positions](https://developer.alteg.io/en/b2b-v2/openapi/team-members/list_positions.md): Returns all staff positions for the specified company.

Response uses JSON:API format where type: "position" is the resource type.

Positions define organizational roles and can be assigned to staff members.
Positions are stored at the salon group level but accessed via company.

## Create Position

 - [POST /companies/{company_id}/positions](https://developer.alteg.io/en/b2b-v2/openapi/team-members/create_position.md): Creates a new staff position for the specified company.
At least one salon ID must be provided.

## Get Position

 - [GET /companies/{company_id}/positions/{position_id}](https://developer.alteg.io/en/b2b-v2/openapi/team-members/get_position.md): Retrieve details of a specific position by ID.

Response uses JSON:API format where type: "position" is the resource type.

## Update Position

 - [PUT /companies/{company_id}/positions/{position_id}](https://developer.alteg.io/en/b2b-v2/openapi/team-members/update_position.md): Update an existing staff position.
Title and salon_ids are required in the request body.

## Delete Position

 - [DELETE /companies/{company_id}/positions/{position_id}](https://developer.alteg.io/en/b2b-v2/openapi/team-members/delete_position.md): Delete a staff position.

