Skip to main content
Returns the teams of your tenant that are currently available, ranked from best to worst match for the incident. The score combines how close each team is, what it can handle (vertical, event type, operational equipment), how many of its members are available and whether the incident falls inside the boundary of the team’s zone (a team whose zone boundary does not contain the incident ranks lower, but is not excluded). Nothing is dispatched: use the result to choose a team, then call Dispatch a team. With event_id, the ranking follows the event’s type in your catalog: the candidates are the teams with members that cover the type (tier 1) or its whole category (tier 2), the type’s required_equipment counts in the score and is reported per team as missing_equipment, and the other teams of the vertical come back in excluded with a reason. This is how the dashboard ranks teams. A team without members is never a candidate in either mode.

Authentication

Session token (Authorization: Bearer <token>) with the dispatch:assign permission. Tenant roles with it: company_admin, operational_supervisor, corporate_client.
The integration API key (x-wede-api-key) has no dispatch:* permission. Calls with an API key return 403 forbidden.

Body

number
required
Latitude of the incident.
number
required
Longitude of the incident.
string
event_id of an event of your tenant. When its type is in your catalog, the ranking is by coverage (see above) and vertical, event_type and required_equipment are taken from the type. Otherwise the plain ranking below applies.
string
Vertical of the incident. Teams that cover it rank higher.
string
Event type of the incident. Teams whose vertical settings list it rank higher.
string
Priority of the incident. It influences the suggested channel.
string[]
Codes of your equipment list the incident needs, lowercase (for example defibrillator). Only equipment with status operational counts.

Example

By event:

Response 200

object[]
Available teams, best match first.
string
Team UUID.
string
Team name.
string
Always available: teams on a mission or offline are not candidates.
string
Primary vertical of the team.
number
Estimated distance from the team to the incident, in kilometres. 0 when the team position is unknown.
number
Estimated travel time in minutes.
number
From 0 to 1. With required_equipment, the share of those codes the team has operational. Without it, a neutral value that is higher when the team has any operational equipment.
number
Share of the team’s members that are available, from 0 to 1.
number
Overall match from 0 to 1. Higher is better.
true for the first team in the list only.
string
Channel wede suggests for reaching the team: internet, sms or voice.
object
Position used for the team: lat, lng, source and, when known, last_seen. source is gps (a member’s reported location), zone (centre of the team’s home zone) or unknown.
integer
With event_id only: 1 when the team covers the type, 2 when it covers the whole category. Tier 1 teams come first.
string[]
With event_id only: codes the type calls for that the team does not have operational.
integer
Number of teams in scored.
object[]
Teams left out, each with team_id, team_name and reason: no_members (nobody would receive the mission) or, with event_id, no_coverage (the team covers neither the type nor its category).
boolean
true when the ranking followed the event’s type. Then event_type (code) and required_equipment (codes) are also returned.
Team positions come from the locations your members report with Update member location. Keep them fresh for accurate ranking.

Errors

SDKs

scoreTeams in JavaScript, score_teams in Python.