Skip to content

Location Groups ​

Location Groups are simple identifiers that allow multiple locations to be logically associated together for operational or business purposes. They consist only of an ID, name, and type.

Overview ​

Location groups provide flexible organization without constraints:

  • Groups are just identifiers referenced by locations
  • Locations in the same group can be anywhere in the service area
  • The group itself has no knowledge of the locations that reference it

Get Location Group by ID ​

http
GET /location-groups/{id}
Authorization: Bearer {access_token}

Path Parameters ​

ParameterTypeDescription
idUUIDLocation group identifier

Response ​

json
{
  "id": "660e8400-e29b-41d4-a716-446655440001",
  "name": "Downtown Service Area",
  "type": "OTHER"
}

List Location Groups ​

http
GET /location-groups
Authorization: Bearer {access_token}

Query Parameters ​

ParameterTypeRequiredDescription
typeStringNoFilter by group type
nameStringNoFilter by name (partial match)
limitIntegerNoMaximum results to return (default: 100)
offsetIntegerNoPagination offset (default: 0)

Response ​

json
{
  "locationGroups": [
    {
      "id": "660e8400-e29b-41d4-a716-446655440001",
      "name": "Downtown Service Area",
      "type": "OTHER"
    },
    {
      "id": "660e8400-e29b-41d4-a716-446655440002",
      "name": "Phase 3 Deployment",
      "type": "OTHER"
    }
  ],
  "pagination": {
    "limit": 100,
    "offset": 0,
    "total": 2
  }
}

Data Model ​

FieldTypeDescription
idUUIDUnique identifier for the location group
nameStringHuman-readable name of the group
typeEnumCurrently only OTHER is valid

How It Works ​

Locations reference location groups through the locationGroupId field at the root level:

json
// Location Group
{
  "id": "660e8400-e29b-41d4-a716-446655440001",
  "name": "Downtown Service Area",
  "type": "OTHER"
}

// Location 1 in group
{
  "id": "loc-001",
  "locationGroupId": "660e8400-e29b-41d4-a716-446655440001",
  "address": {
    "streetNumber": "100",
    "streetName": "MAIN",
    "streetType": "STREET"
  }
}

// Location 2 in same group (different area)
{
  "id": "loc-002",
  "locationGroupId": "660e8400-e29b-41d4-a716-446655440001",
  "address": {
    "streetNumber": "500",
    "streetName": "COMMERCE",
    "streetType": "AVENUE"
  }
}

Common Use Cases ​

Location groups can be used for any organizational need:

  • Service areas or territories
  • Deployment phases
  • Customer segments
  • Network segments
  • Operational zones
  • Any custom grouping

Finding Locations in a Group ​

http
# Get all locations in a group
GET /locations?locationGroupId=660e8400-e29b-41d4-a716-446655440001

# Export locations in a group
POST /locations/exports
{
  "filters": {
    "locationGroupId": "660e8400-e29b-41d4-a716-446655440001"
  }
}

# Get statistics for a group
GET /locations/statistics?locationGroupId=660e8400-e29b-41d4-a716-446655440001

Error Responses ​

404 Not Found ​

json
{
  "error": {
    "code": "RESOURCE_NOT_FOUND",
    "message": "Location group not found"
  }
}

400 Bad Request ​

json
{
  "error": {
    "code": "INVALID_REQUEST",
    "message": "Invalid UUID format"
  }
}

Open Access Forum API Documentation