cardiac_arrest) at an incident location. When automatic dispatch is on for your tenant, wede also dispatches the best team, as long as its score reaches your minimum score.
The same mechanism processes dispatches that field devices queue while offline and send later through Device sync.
Authentication
Session token (Authorization: Bearer <token>) with the dispatch:assign permission. Tenant roles with it: company_admin, operational_supervisor, corporate_client.
Body
string
required
id of an event type of your catalog (GET /v1/catalog, see Event types). Only types that send a team (requires_teams) rank anyone.number
required
Latitude of the incident.
number
required
Longitude of the incident.
string
Identifier of the incident, for example the
event_id wede returned for the event. If you omit it, wede generates a new UUID and returns it.string
Priority of the incident. It influences the suggested
channel of each team.event_id when you retry: if the chosen team already has a mission for that event, wede returns it instead of creating a second one.
Example
Response 200
object
The catalog action:
id, code, name, vertical.string
The
event_id you sent, or the one wede generated.object[]
Available teams with members that cover this event type (
PUT /v1/teams/{teamId}/coverage), best match first.object[]
Available teams with members that cover the whole category of this event type, best match first.
object[]
Always an empty array since 8 October 2026: a team that covers neither the type nor its category is never a candidate. It is listed in
excluded.object
Same fields as in Dispatch score, plus
tier (1 or 2), fallback (false) and missing_equipment, the codes the type calls for that the team does not have operational (they lower the score and never exclude the team). recommended marks the first team within each tier.object[]
Teams of the vertical left out, each with
team_id, team_name and reason: no_members or no_coverage.integer
Total number of candidate teams.
boolean
Whether automatic dispatch is on for your tenant.
object | null
The team wede dispatched automatically (
team_id, team_name, score, channel), or null.boolean
true when the chosen team already had a mission for this event_id, so wede returned that mission.string | null
Mission of the automatically dispatched team, or
null.boolean
true when automatic dispatch is on but could not be completed. An operator must choose a team. Always false when automatic dispatch is off.number
Your tenant’s minimum score for automatic dispatch, from
0 to 1.Automatic dispatch
Automatic dispatch is a tenant setting. Acompany_admin or company_tech turns it on and sets the minimum score with PATCH /v1/tenant/dispatch-settings (dispatch_mode, dispatch_threshold).
When it is on, wede takes the best tier 1 team, or the best tier 2 team when no team covers the type itself, and:
- Records the dispatch and sets the team to
on_mission. - Creates a mission with status
CREATED, the type’s vertical and the incident coordinates. - Sends the
team.dispatchedwebhook with{ team_id, event_id, auto: true, tier, below_threshold }.
threshold is dispatched all the same and the mission is marked below_threshold. Only when no candidate is free does the event stay in the dispatch queue, which wede retries every minute. When automatic dispatch is off, the endpoint only ranks teams, and an operator dispatches with Dispatch a team.
Errors
SDKs
dispatchAction in JavaScript, dispatch_action in Python.