Skip to content

location.created

POST

A location is added. Sent to the account’s webhooks, and to an OAuth app that subscribes to it while its installation grants account:read.

X-Talki-Signature
required
string

t=<unix seconds>,v1=<hex HMAC-SHA256>, the HMAC computed over <t>.<raw body> with the signing secret. During a secret rotation it carries one v1 per secret: accept the request if any matches.

X-Talki-Event
required
string

The event type, as in type.

X-Talki-Delivery
required
string

The event ID, as in id.

Media typeapplication/json
object
id
required
Id

The event’s ID, evt_ and 32 hex characters. Equal to the X-Talki-Delivery header and unchanged on a redelivery: deduplicate on it.

string
type
required
string
Allowed values: location.created
created_at
required
Created At

When the event was written, ISO 8601 with a +00:00 offset, possibly with microseconds. Parse it as an instant.

string format: date-time
api_version
required
Api Version

The dated contract version data is shaped for: the endpoint’s version on a webhook, the app’s on an app event.

string
account_id
required
Account Id

The Talki account the event happened on.

string
livemode
required
Livemode

false for an event from a sandbox account.

boolean
origin
required
Any of:
EventOrigin
object
source
required
Source

Where the change came from: voice (the assistant, during a call), dashboard (a person in the Talki web or mobile app), api (a credential through the API) or system (a rule Talki applied on its own). New values may be added; treat one you do not recognise as unknown.

string
credential_id
required
Any of:
string
idempotency_key
required
Any of:
string
installation_id
Any of:
string
data
required

The event’s payload.

object
object
required

The Location object, as the REST API returns it.

object
id
required
Id

Opaque Talki location identifier.

string
name
required
Name

What the business calls the location; what the assistant names it to callers. Unique among active locations, not among all of them: key on id.

string
is_default
required
Is Default

True for the main location, exactly one per account. It is never switched off.

boolean
status
required
Status

active — it answers its calls and takes bookings. inactive — switched off in Talki, by the owner or because the plan has room for fewer locations: its records stay, it takes no calls or bookings, and it has no Talki number.

string
Allowed values: active inactive
phone_number
required
Any of:
string
line
required
LocationLine

The location’s Talki number, its line that forwards to it, and whether that forwarding has been proven. For the main location, the same as Account.line.

object
phone_number
required
Any of:
string
forwarding_number
required
Any of:
string
status
required

no_number while the location has no Talki number. unverified until a forwarding check of the current forwarding_number has succeeded, including while none is set. verified once one has; it proves forwarding was on at verified_at, not that it still is. Changing forwarding_number returns it to unverified.

string
Allowed values: no_number unverified verified
verified_at
required
Any of:
string format: date-time
position
required
Position

The owner’s display order, lowest first. Not unique.

integer
created_at
required
Created At

When the location was added, RFC 3339 UTC.

string format: date-time
deactivated_at
required
Any of:
string format: date-time
Example
{
"id": "evt_04d8e87897db4ecab459a456ea55e754",
"type": "location.created",
"created_at": "2026-09-22T15:04:06.218734+00:00",
"api_version": "2026-10-01",
"account_id": "f7e39b9a-1ac8-45e4-93da-2600f17cb286",
"livemode": true,
"origin": {
"source": "dashboard",
"credential_id": null,
"idempotency_key": null
},
"data": {
"object": {
"id": "0b7d4e19-8a2c-4f61-9d3e-5c1a7b2f8e40",
"name": "Studio Bellini",
"is_default": true,
"status": "active",
"phone_number": "+390350000001",
"line": {
"phone_number": "+390350000001",
"forwarding_number": "+393331112222",
"status": "verified",
"verified_at": "2026-10-07T09:30:12Z"
},
"position": 0,
"created_at": "2026-08-01T08:00:00Z",
"deactivated_at": null
}
}
}

Any 2xx acknowledges the event. Any other status, a redirect, or no answer within 10 seconds is a failure and is retried; 410 disables a webhook endpoint at once.