Skip to main content
Teams belong to the optional teams, dispatch and missions module, used by operational verticals that send people to the field (emergency services, healthcare field teams, field services, delivery). An integration that only sends and syncs events does not need teams. A team is a field unit that wede can dispatch to an event: an ambulance crew, a technician squad, a courier team. Each team belongs to one tenant, has one primary vertical, an optional home zone and a list of members.

Authentication

All team endpoints need a session token (Authorization: Bearer <token>, see Login).
The integration API key (x-wede-api-key) authenticates as api_user, which has no teams:* permission. Calls with an API key return 403 forbidden.

The team object

string
Team UUID.
string
Tenant that owns the team.
string | null
UUID of the team’s home zone.
string
Team name, unique within your tenant.
string
Your own team type label, for example ADVANCED_LIFE_SUPPORT.
string
Primary vertical of the team, for example healthcare.
string[]
Free list of equipment labels stored on the team. Managed equipment with status and quantity lives in Team equipment.
string
available, on_mission or offline.
object[]
Returned by the list and get endpoints. Each member has id, name, role, status, lat, lng and last_seen.
string
ISO 8601 timestamp.
string
ISO 8601 timestamp.

List teams

Returns every team of your tenant, ordered by name, with its members.
Response 200

Get a team

string
required
Team UUID.
Returns the team object with its members.

Create a team

Requires teams:manage.
string
required
2 to 100 characters. Must be unique within your tenant.
string
required
2 to 50 characters.
string
required
2 to 50 characters.
string[]
Equipment labels.
string
UUID of an existing zone.
string
default:"available"
available, on_mission or offline.
Returns 201 with the team object (without members). wede sends the team.created webhook with { team_id, name, vertical }.

Update a team

Requires teams:manage. Send only the fields you want to change: name, type, vertical, equipment, zone_id, status, with the same rules as on create. A body with no fields returns the team unchanged.
string
required
Team UUID.
Returns 200 with the updated team object. wede sends the team.updated webhook with { team_id, fields }, where fields lists the names of the fields you sent.

Delete a team

Requires teams:manage. Only a team that was never sent on a mission can be deleted; deleting it also deletes its members, equipment and vertical settings. A team with missions is kept as their history: the call returns 409 team_has_missions. Set it unavailable instead.
Returns 204 with no body. wede sends the team.deleted webhook with { team_id }.

Errors

SDKs

listTeams and getTeam in JavaScript, list_teams and get_team in Python.