Reference
Territories
Ground the team watches, authored as your own GeoJSON, a radius around a point, or named places.
Create a territory
POST /api/v1/territories
Draw a territory: a GeoJSON shape, a radius, or named places.
territories:write Idempotency-Key honoured
Body
name
string
required
What the territory is called on the map and in alerts.
kind
string
required
How the shape is authored: polygon (send geometry), radius (send an address or latitude/longitude plus radius_miles), or places (send place_ids plus radius_miles).
status
string
The watch state to start in: watching (the default), paused or archived.
colour
string
The swatch it is drawn in: petrol, slate, moss, rust, plum or sand.
notes
string
Free text, kept with the territory.
geometry
array
A GeoJSON Polygon or MultiPolygon, or a Feature wrapping one. The shape watched is exactly the shape sent, never simplified or clamped.
address
string
For a radius territory: the address at its centre, located for you.
latitude
number
For a radius territory: the centre latitude, instead of an address.
longitude
number
For a radius territory: the centre longitude, instead of an address.
radius_miles
number
For radius and places territories: how far the territory reaches.
place_ids
array
For a places territory: ids from GET /api/v1/places.
Answers
200
Replayed. This Idempotency-Key was honoured before; the earlier answer is returned again, with an Idempotent-Replay: true header.
201
Created.
409
This Idempotency-Key was already used for a different request, or its first request is still being processed. A retry must resend the request it is retrying.
Plus the shared refusals: 401, 402, 403, 404, 422 and 429, described on Errors.
curl -X POST https://titanweather.com/api/v1/territories \
-H "Authorization: Bearer $TITAN_API_TOKEN" \
-H "Idempotency-Key: collin-county-north-v1" \
-H "Content-Type: application/json" \
-d '{
"name": "Plano North",
"kind": "polygon",
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-96.75,
33.05
],
[
-96.62,
33.05
],
[
-96.62,
33.13
],
[
-96.75,
33.13
],
[
-96.75,
33.05
]
]
]
}
}'
$titan = new \GuzzleHttp\Client([
'base_uri' => 'https://titanweather.com',
'headers' => ['Authorization' => 'Bearer '.getenv('TITAN_API_TOKEN')],
]);
$response = $titan->post('/api/v1/territories', [
'headers' => ['Idempotency-Key' => 'collin-county-north-v1'],
'json' => [
'name' => 'Plano North',
'kind' => 'polygon',
'geometry' => [
'type' => 'Polygon',
'coordinates' => [
[
[
-96.75,
33.05,
],
[
-96.62,
33.05,
],
[
-96.62,
33.13,
],
[
-96.75,
33.13,
],
[
-96.75,
33.05,
],
],
],
],
],
]);
$territory = json_decode((string) $response->getBody(), true);
const response = await fetch('https://titanweather.com/api/v1/territories', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.TITAN_API_TOKEN}`,
'Idempotency-Key': 'collin-county-north-v1',
'Content-Type': 'application/json',
},
body: JSON.stringify({
name: 'Plano North',
kind: 'polygon',
geometry: {
type: 'Polygon',
coordinates: [
[
[
-96.75,
33.05,
],
[
-96.62,
33.05,
],
[
-96.62,
33.13,
],
[
-96.75,
33.13,
],
[
-96.75,
33.05,
],
],
],
},
}),
});
const territory = await response.json();
import os
import requests
response = requests.post(
"https://titanweather.com/api/v1/territories",
headers={
"Authorization": f"Bearer {os.environ['TITAN_API_TOKEN']}",
"Idempotency-Key": "collin-county-north-v1",
},
json={
"name": "Plano North",
"kind": "polygon",
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-96.75,
33.05,
],
[
-96.62,
33.05,
],
[
-96.62,
33.13,
],
[
-96.75,
33.13,
],
[
-96.75,
33.05,
],
],
],
},
},
)
territory = response.json()
{
"data": {
"id": "0198c2d8-9b34-7c05-b1e7-64d0f8a92c31",
"object": "territory",
"name": "Plano North",
"kind": "polygon",
"description": "drawn on the map",
"definition": [],
"status": "watching",
"area_sq_miles": 68.4,
"color": "#1F6B82",
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-96.75,
33.05
],
[
-96.62,
33.05
],
[
-96.62,
33.13
],
[
-96.75,
33.13
],
[
-96.75,
33.05
]
]
]
},
"centre": {
"latitude": 33.09,
"longitude": -96.685
},
"bounds": {
"west": -96.75,
"south": 33.05,
"east": -96.62,
"north": 33.13
},
"notes": null,
"last_activity_on": "2023-04-21",
"created_at": "2026-06-02T19:30:00Z",
"updated_at": "2026-08-21T16:44:09Z",
"links": {
"self": "https://titanweather.com/api/v1/territories/0198c2d8-9b34-7c05-b1e7-64d0f8a92c31",
"exposures": "https://titanweather.com/api/v1/territories/0198c2d8-9b34-7c05-b1e7-64d0f8a92c31/exposures"
}
}
}
Quote a territory
POST /api/v1/territories/quote
What a shape would be, and whether the plan has room for it, without saving it.
territories:write
Body
name
string
required
What the territory is called on the map and in alerts.
kind
string
required
How the shape is authored: polygon (send geometry), radius (send an address or latitude/longitude plus radius_miles), or places (send place_ids plus radius_miles).
status
string
The watch state to start in: watching (the default), paused or archived.
colour
string
The swatch it is drawn in: petrol, slate, moss, rust, plum or sand.
notes
string
Free text, kept with the territory.
geometry
array
A GeoJSON Polygon or MultiPolygon, or a Feature wrapping one. The shape watched is exactly the shape sent, never simplified or clamped.
address
string
For a radius territory: the address at its centre, located for you.
latitude
number
For a radius territory: the centre latitude, instead of an address.
longitude
number
For a radius territory: the centre longitude, instead of an address.
radius_miles
number
For radius and places territories: how far the territory reaches.
place_ids
array
For a places territory: ids from GET /api/v1/places.
Answers
200
The answer.
Plus the shared refusals: 401, 402, 403, 404, 422 and 429, described on Errors.
curl -X POST https://titanweather.com/api/v1/territories/quote \
-H "Authorization: Bearer $TITAN_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"kind": "radius",
"address": "Plano, TX",
"radius_miles": 10
}'
$titan = new \GuzzleHttp\Client([
'base_uri' => 'https://titanweather.com',
'headers' => ['Authorization' => 'Bearer '.getenv('TITAN_API_TOKEN')],
]);
$response = $titan->post('/api/v1/territories/quote', [
'json' => [
'kind' => 'radius',
'address' => 'Plano, TX',
'radius_miles' => 10,
],
]);
$quote = json_decode((string) $response->getBody(), true);
const response = await fetch('https://titanweather.com/api/v1/territories/quote', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.TITAN_API_TOKEN}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
kind: 'radius',
address: 'Plano, TX',
radius_miles: 10,
}),
});
const quote = await response.json();
import os
import requests
response = requests.post(
"https://titanweather.com/api/v1/territories/quote",
headers={
"Authorization": f"Bearer {os.environ['TITAN_API_TOKEN']}",
},
json={
"kind": "radius",
"address": "Plano, TX",
"radius_miles": 10,
},
)
quote = response.json()
{
"object": "territory_quote",
"kind": "radius",
"geometry": {
"type": "MultiPolygon",
"coordinates": [
[
"..."
]
]
},
"centre": {
"latitude": 33.0198,
"longitude": -96.6989
},
"bounds": {
"west": -96.8722,
"south": 32.8747,
"east": -96.5256,
"north": 33.1649
},
"area_sq_miles": 314.2,
"allowed": true,
"notice": null
}
List territories
GET /api/v1/territories
The ground the team watches.
territories:read paginated
Query parameters
status
enum
Only territories in this watch state.
Answers
200
The answer.
Plus the shared refusals: 401, 402, 403, 404, 422 and 429, described on Errors.
curl https://titanweather.com/api/v1/territories \
-H "Authorization: Bearer $TITAN_API_TOKEN"
$titan = new \GuzzleHttp\Client([
'base_uri' => 'https://titanweather.com',
'headers' => ['Authorization' => 'Bearer '.getenv('TITAN_API_TOKEN')],
]);
$response = $titan->get('/api/v1/territories');
$territories = json_decode((string) $response->getBody(), true);
const response = await fetch('https://titanweather.com/api/v1/territories', {
headers: {
Authorization: `Bearer ${process.env.TITAN_API_TOKEN}`,
},
});
const territories = await response.json();
import os
import requests
response = requests.get(
"https://titanweather.com/api/v1/territories",
headers={
"Authorization": f"Bearer {os.environ['TITAN_API_TOKEN']}",
},
)
territories = response.json()
{
"data": [
{
"id": "0198c2d8-9b34-7c05-b1e7-64d0f8a92c31",
"object": "territory",
"name": "Plano North",
"kind": "polygon",
"description": "drawn on the map",
"definition": [],
"status": "watching",
"area_sq_miles": 68.4,
"color": "#1F6B82",
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-96.75,
33.05
],
[
-96.62,
33.05
],
[
-96.62,
33.13
],
[
-96.75,
33.13
],
[
-96.75,
33.05
]
]
]
},
"centre": {
"latitude": 33.09,
"longitude": -96.685
},
"bounds": {
"west": -96.75,
"south": 33.05,
"east": -96.62,
"north": 33.13
},
"notes": null,
"last_activity_on": "2023-04-21",
"created_at": "2026-06-02T19:30:00Z",
"updated_at": "2026-08-21T16:44:09Z",
"links": {
"self": "https://titanweather.com/api/v1/territories/0198c2d8-9b34-7c05-b1e7-64d0f8a92c31",
"exposures": "https://titanweather.com/api/v1/territories/0198c2d8-9b34-7c05-b1e7-64d0f8a92c31/exposures"
}
}
],
"links": {
"first": "https://titanweather.com/api/v1/territories?page=1",
"last": "https://titanweather.com/api/v1/territories?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "https://titanweather.com/api/v1/territories",
"per_page": 25,
"to": 1,
"total": 1
}
}
Retrieve a territory
GET /api/v1/territories/{territory}
One territory, with its shape as GeoJSON.
territories:read
Path parameters
territory
The territory id, a uuid from a create or list response.
Answers
200
The answer.
Plus the shared refusals: 401, 402, 403, 404, 422 and 429, described on Errors.
curl https://titanweather.com/api/v1/territories/0198c2d8-9b34-7c05-b1e7-64d0f8a92c31 \
-H "Authorization: Bearer $TITAN_API_TOKEN"
$titan = new \GuzzleHttp\Client([
'base_uri' => 'https://titanweather.com',
'headers' => ['Authorization' => 'Bearer '.getenv('TITAN_API_TOKEN')],
]);
$response = $titan->get('/api/v1/territories/0198c2d8-9b34-7c05-b1e7-64d0f8a92c31');
$territory = json_decode((string) $response->getBody(), true);
const response = await fetch('https://titanweather.com/api/v1/territories/0198c2d8-9b34-7c05-b1e7-64d0f8a92c31', {
headers: {
Authorization: `Bearer ${process.env.TITAN_API_TOKEN}`,
},
});
const territory = await response.json();
import os
import requests
response = requests.get(
"https://titanweather.com/api/v1/territories/0198c2d8-9b34-7c05-b1e7-64d0f8a92c31",
headers={
"Authorization": f"Bearer {os.environ['TITAN_API_TOKEN']}",
},
)
territory = response.json()
{
"data": {
"id": "0198c2d8-9b34-7c05-b1e7-64d0f8a92c31",
"object": "territory",
"name": "Plano North",
"kind": "polygon",
"description": "drawn on the map",
"definition": [],
"status": "watching",
"area_sq_miles": 68.4,
"color": "#1F6B82",
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-96.75,
33.05
],
[
-96.62,
33.05
],
[
-96.62,
33.13
],
[
-96.75,
33.13
],
[
-96.75,
33.05
]
]
]
},
"centre": {
"latitude": 33.09,
"longitude": -96.685
},
"bounds": {
"west": -96.75,
"south": 33.05,
"east": -96.62,
"north": 33.13
},
"notes": null,
"last_activity_on": "2023-04-21",
"created_at": "2026-06-02T19:30:00Z",
"updated_at": "2026-08-21T16:44:09Z",
"links": {
"self": "https://titanweather.com/api/v1/territories/0198c2d8-9b34-7c05-b1e7-64d0f8a92c31",
"exposures": "https://titanweather.com/api/v1/territories/0198c2d8-9b34-7c05-b1e7-64d0f8a92c31/exposures"
}
}
}
Update a territory
PATCH /api/v1/territories/{territory}
Change a territory's name, its shape, or both.
territories:write
Path parameters
territory
The territory id, a uuid from a create or list response.
Body
name
string
What the territory is called on the map and in alerts.
kind
string
How the shape is authored: polygon (send geometry), radius (send an address or latitude/longitude plus radius_miles), or places (send place_ids plus radius_miles).
status
string
The watch state to start in: watching (the default), paused or archived.
colour
string
The swatch it is drawn in: petrol, slate, moss, rust, plum or sand.
notes
string
Free text, kept with the territory.
geometry
array
A GeoJSON Polygon or MultiPolygon, or a Feature wrapping one. The shape watched is exactly the shape sent, never simplified or clamped.
address
string
For a radius territory: the address at its centre, located for you.
latitude
number
For a radius territory: the centre latitude, instead of an address.
longitude
number
For a radius territory: the centre longitude, instead of an address.
radius_miles
number
For radius and places territories: how far the territory reaches.
place_ids
array
For a places territory: ids from GET /api/v1/places.
Answers
200
The answer.
Plus the shared refusals: 401, 402, 403, 404, 422 and 429, described on Errors.
curl -X PATCH https://titanweather.com/api/v1/territories/0198c2d8-9b34-7c05-b1e7-64d0f8a92c31 \
-H "Authorization: Bearer $TITAN_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Plano North Storm Book"
}'
$titan = new \GuzzleHttp\Client([
'base_uri' => 'https://titanweather.com',
'headers' => ['Authorization' => 'Bearer '.getenv('TITAN_API_TOKEN')],
]);
$response = $titan->patch('/api/v1/territories/0198c2d8-9b34-7c05-b1e7-64d0f8a92c31', [
'json' => [
'name' => 'Plano North Storm Book',
],
]);
$territory = json_decode((string) $response->getBody(), true);
const response = await fetch('https://titanweather.com/api/v1/territories/0198c2d8-9b34-7c05-b1e7-64d0f8a92c31', {
method: 'PATCH',
headers: {
Authorization: `Bearer ${process.env.TITAN_API_TOKEN}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
name: 'Plano North Storm Book',
}),
});
const territory = await response.json();
import os
import requests
response = requests.patch(
"https://titanweather.com/api/v1/territories/0198c2d8-9b34-7c05-b1e7-64d0f8a92c31",
headers={
"Authorization": f"Bearer {os.environ['TITAN_API_TOKEN']}",
},
json={
"name": "Plano North Storm Book",
},
)
territory = response.json()
{
"data": {
"id": "0198c2d8-9b34-7c05-b1e7-64d0f8a92c31",
"object": "territory",
"name": "Plano North",
"kind": "polygon",
"description": "drawn on the map",
"definition": [],
"status": "watching",
"area_sq_miles": 68.4,
"color": "#1F6B82",
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-96.75,
33.05
],
[
-96.62,
33.05
],
[
-96.62,
33.13
],
[
-96.75,
33.13
],
[
-96.75,
33.05
]
]
]
},
"centre": {
"latitude": 33.09,
"longitude": -96.685
},
"bounds": {
"west": -96.75,
"south": 33.05,
"east": -96.62,
"north": 33.13
},
"notes": null,
"last_activity_on": "2023-04-21",
"created_at": "2026-06-02T19:30:00Z",
"updated_at": "2026-08-21T16:44:09Z",
"links": {
"self": "https://titanweather.com/api/v1/territories/0198c2d8-9b34-7c05-b1e7-64d0f8a92c31",
"exposures": "https://titanweather.com/api/v1/territories/0198c2d8-9b34-7c05-b1e7-64d0f8a92c31/exposures"
}
}
}
Pause or resume a territory
POST /api/v1/territories/{territory}/status
Pause or resume watching a territory.
territories:write
Path parameters
territory
The territory id, a uuid from a create or list response.
Body
status
string
required
The watch state to move to: watching, paused or archived.
Answers
200
The answer.
Plus the shared refusals: 401, 402, 403, 404, 422 and 429, described on Errors.
curl -X POST https://titanweather.com/api/v1/territories/0198c2d8-9b34-7c05-b1e7-64d0f8a92c31/status \
-H "Authorization: Bearer $TITAN_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"status": "paused"
}'
$titan = new \GuzzleHttp\Client([
'base_uri' => 'https://titanweather.com',
'headers' => ['Authorization' => 'Bearer '.getenv('TITAN_API_TOKEN')],
]);
$response = $titan->post('/api/v1/territories/0198c2d8-9b34-7c05-b1e7-64d0f8a92c31/status', [
'json' => [
'status' => 'paused',
],
]);
$territory = json_decode((string) $response->getBody(), true);
const response = await fetch('https://titanweather.com/api/v1/territories/0198c2d8-9b34-7c05-b1e7-64d0f8a92c31/status', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.TITAN_API_TOKEN}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
status: 'paused',
}),
});
const territory = await response.json();
import os
import requests
response = requests.post(
"https://titanweather.com/api/v1/territories/0198c2d8-9b34-7c05-b1e7-64d0f8a92c31/status",
headers={
"Authorization": f"Bearer {os.environ['TITAN_API_TOKEN']}",
},
json={
"status": "paused",
},
)
territory = response.json()
{
"data": {
"id": "0198c2d8-9b34-7c05-b1e7-64d0f8a92c31",
"object": "territory",
"name": "Plano North",
"kind": "polygon",
"description": "drawn on the map",
"definition": [],
"status": "paused",
"area_sq_miles": 68.4,
"color": "#1F6B82",
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-96.75,
33.05
],
[
-96.62,
33.05
],
[
-96.62,
33.13
],
[
-96.75,
33.13
],
[
-96.75,
33.05
]
]
]
},
"centre": {
"latitude": 33.09,
"longitude": -96.685
},
"bounds": {
"west": -96.75,
"south": 33.05,
"east": -96.62,
"north": 33.13
},
"notes": null,
"last_activity_on": "2023-04-21",
"created_at": "2026-06-02T19:30:00Z",
"updated_at": "2026-08-21T16:44:09Z",
"links": {
"self": "https://titanweather.com/api/v1/territories/0198c2d8-9b34-7c05-b1e7-64d0f8a92c31",
"exposures": "https://titanweather.com/api/v1/territories/0198c2d8-9b34-7c05-b1e7-64d0f8a92c31/exposures"
}
}
}
List activity in a territory
GET /api/v1/territories/{territory}/exposures
Every storm day and warning inside this territory.
territories:read paginated
Path parameters
territory
The territory id, a uuid from a create or list response.
Query parameters
since
string
Only activity seen after this moment. The cursor for an incremental sync.
from
string
Only activity on or after this event date.
to
string
Only activity on or before this event date.
kind
enum
Archived record, or live warning.
open
boolean
Only activity nobody has acknowledged or dismissed.
subject
enum
Only activity at one kind of watched place.
min_measured_in
number
Only activity whose largest measured hail meets this size, in inches.
Answers
200
The answer.
Plus the shared refusals: 401, 402, 403, 404, 422 and 429, described on Errors.
curl https://titanweather.com/api/v1/territories/0198c2d8-9b34-7c05-b1e7-64d0f8a92c31/exposures \
-H "Authorization: Bearer $TITAN_API_TOKEN"
$titan = new \GuzzleHttp\Client([
'base_uri' => 'https://titanweather.com',
'headers' => ['Authorization' => 'Bearer '.getenv('TITAN_API_TOKEN')],
]);
$response = $titan->get('/api/v1/territories/0198c2d8-9b34-7c05-b1e7-64d0f8a92c31/exposures');
$exposures = json_decode((string) $response->getBody(), true);
const response = await fetch('https://titanweather.com/api/v1/territories/0198c2d8-9b34-7c05-b1e7-64d0f8a92c31/exposures', {
headers: {
Authorization: `Bearer ${process.env.TITAN_API_TOKEN}`,
},
});
const exposures = await response.json();
import os
import requests
response = requests.get(
"https://titanweather.com/api/v1/territories/0198c2d8-9b34-7c05-b1e7-64d0f8a92c31/exposures",
headers={
"Authorization": f"Bearer {os.environ['TITAN_API_TOKEN']}",
},
)
exposures = response.json()
{
"data": [
{
"id": 48213,
"object": "exposure",
"kind": "record",
"date": "2023-04-21",
"subject": {
"id": "0198c2d8-9b34-7c05-b1e7-64d0f8a92c31",
"object": "territory",
"name": "Plano North"
},
"headline": "Hail to 2.75 in measured 0.8 miles away.",
"reports": 6,
"sources": 3,
"families": {
"hail": 5,
"wind": 1,
"tornado": 0,
"other": 0
},
"largest_measured_in": 2.75,
"largest_detected_in": 2.1,
"max_gust_mph": 61,
"nearest_miles": 0.8,
"observed": true,
"provisional": false,
"evidence": [
"ground",
"radar"
],
"record_ids": [
188204,
188207,
188213
],
"warning": null,
"first_seen_at": "2023-04-22T09:00:12Z",
"last_seen_at": "2023-05-02T09:00:04Z",
"notified_at": "2023-04-22T09:01:00Z",
"acknowledged_at": null,
"dismissed_at": null,
"report_id": null,
"links": {
"self": "https://titanweather.com/api/v1/exposures/48213",
"subject": "https://titanweather.com/api/v1/territories/0198c2d8-9b34-7c05-b1e7-64d0f8a92c31",
"report": null
}
}
],
"links": {
"first": "https://titanweather.com/api/v1/territories/0198c2d8-9b34-7c05-b1e7-64d0f8a92c31/exposures?page=1",
"last": "https://titanweather.com/api/v1/territories/0198c2d8-9b34-7c05-b1e7-64d0f8a92c31/exposures?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "https://titanweather.com/api/v1/territories/0198c2d8-9b34-7c05-b1e7-64d0f8a92c31/exposures",
"per_page": 25,
"to": 1,
"total": 1
}
}
Look up places
GET /api/v1/places
Look up the named places a territory can be built from.
territories:read
Query parameters
search
string
required
A place name, optionally narrowed by state: Plano, TX.
Answers
200
The answer.
Plus the shared refusals: 401, 402, 403, 404, 422 and 429, described on Errors.
curl https://titanweather.com/api/v1/places?search=Plano%2C%20TX \
-H "Authorization: Bearer $TITAN_API_TOKEN"
$titan = new \GuzzleHttp\Client([
'base_uri' => 'https://titanweather.com',
'headers' => ['Authorization' => 'Bearer '.getenv('TITAN_API_TOKEN')],
]);
$response = $titan->get('/api/v1/places', [
'query' => [
'search' => 'Plano, TX',
],
]);
$places = json_decode((string) $response->getBody(), true);
const response = await fetch('https://titanweather.com/api/v1/places?search=Plano%2C%20TX', {
headers: {
Authorization: `Bearer ${process.env.TITAN_API_TOKEN}`,
},
});
const places = await response.json();
import os
import requests
response = requests.get(
"https://titanweather.com/api/v1/places",
headers={
"Authorization": f"Bearer {os.environ['TITAN_API_TOKEN']}",
},
params={
"search": "Plano, TX",
},
)
places = response.json()
{
"object": "list",
"data": [
{
"id": 4861,
"object": "place",
"name": "Plano",
"full_name": "Plano, TX",
"state": "TX",
"latitude": 33.0198,
"longitude": -96.6989
}
]
}
Delete a territory
DELETE /api/v1/territories/{territory}
Remove a territory.
territories:write
Path parameters
territory
The territory id, a uuid from a create or list response.
Answers
204
Deleted.
Plus the shared refusals: 401, 402, 403, 404, 422 and 429, described on Errors.
curl -X DELETE https://titanweather.com/api/v1/territories/0198c2d8-9b34-7c05-b1e7-64d0f8a92c31 \
-H "Authorization: Bearer $TITAN_API_TOKEN"
$titan = new \GuzzleHttp\Client([
'base_uri' => 'https://titanweather.com',
'headers' => ['Authorization' => 'Bearer '.getenv('TITAN_API_TOKEN')],
]);
$response = $titan->delete('/api/v1/territories/0198c2d8-9b34-7c05-b1e7-64d0f8a92c31');
$response = json_decode((string) $response->getBody(), true);
const response = await fetch('https://titanweather.com/api/v1/territories/0198c2d8-9b34-7c05-b1e7-64d0f8a92c31', {
method: 'DELETE',
headers: {
Authorization: `Bearer ${process.env.TITAN_API_TOKEN}`,
},
});
const response = await response.json();
import os
import requests
response = requests.delete(
"https://titanweather.com/api/v1/territories/0198c2d8-9b34-7c05-b1e7-64d0f8a92c31",
headers={
"Authorization": f"Bearer {os.environ['TITAN_API_TOKEN']}",
},
)
response = response.json()
No body. The territory and its recorded activity are gone.