List sales territories
GET/sales/territories
Returns all sales territories ordered alphabetically, enriched with deal counts, open pipeline value, and revenue won in the last 90 days. Use this to compare territory performance and assign or reassign territory managers.
Request
This endpoint takes no parameters and no request body.
Responses
200 List of territories with aggregated deal metrics
Content type application/json, object.
| Field | Type | Required | Description |
|---|---|---|---|
data | array of object · SalesTerritoryV1 | No | |
data[].id | integer | No | Auto-incremented primary key. |
data[].name | string | No | Full territory name. Example: |
data[].code | string, nullable | No | Short uppercase identifier. Example: |
data[].manager_user_id | integer, nullable | No | ID of the territory manager user. Example: |
data[].description | string, nullable | No | Extended description of the territory's scope. |
data[].status | string | No | Whether the territory is currently in use. One of: |
data[].notes | string, nullable | No | Internal operator notes. |
data[].deals_count | integer | No | Total number of deals assigned to this territory. Example: |
data[].open_deals_count | integer | No | Number of open (in-progress) deals. Example: |
data[].open_pipeline_value | number | No | Sum of deal values for all open deals in this territory. Example: |
data[].won_90d_value | number | No | Revenue won from this territory in the past 90 days. Example: |
data[].created_at | string (date-time) | No | Record creation timestamp. |
Example
{
"data": [
{
"id": 3,
"name": "Greater Accra",
"code": "GHA-ACC",
"manager_user_id": 7,
"description": "Primary commercial territory covering Accra metro area.",
"status": "active",
"deals_count": 24,
"open_deals_count": 18,
"open_pipeline_value": 85000.0,
"won_90d_value": 32000.0,
"notes": null,
"created_at": "2026-01-10T08:00:00Z"
}
]
}
401 Unauthenticated
Example request
curl -X GET "https://{tenant}.faciotech.net/api/v1/sales/territories" \
-H "Accept: application/json"