A JSON REST API for programmatic access to projects, brands, and events. All requests require a bearer token and are scoped to your workspace and role permissions.
Provide your API key as a bearer token on every request.
curl https://api.signtrack.co/v1/locations \ -H "Authorization: Bearer sk_live_a1b2c3d4e5f6" \ -H "Accept: application/json"
Create, list, and update signage project locations.
/v1/locationsList all locations visible to the caller.
{
"data": [
{
"id": "loc_9K8mQx",
"brand_id": "b_brewbeans",
"store_number": "#1042",
"name": "Brew & Beans — Austin",
"address": "218 Market St, Austin, TX 78701",
"coordinates": { "lat": 30.2672, "lng": -97.7431 },
"stage": "installing",
"scheduled_date": "2026-07-14"
}
],
"page": 1,
"total": 24
}/v1/locationsCreate a new project location.
{
"brand_id": "b_brewbeans",
"store_number": "#1042",
"name": "Brew & Beans — Austin",
"address": "218 Market St",
"city": "Austin", "state": "TX", "zip": "78701",
"sign_type": "Channel Letters",
"budget": 14500
}/v1/locations/{id}Fetch a single location including notes and photos.
/v1/locations/{id}Update fields on a location. Partial updates supported.
/v1/locations/{id}Soft-delete a location. Audit entry created.
/v1/locations/{id}/stageAdvance or override the project stage.
{ "stage": "installing", "reason": "Crew dispatched" }Manage franchise and multi-location client accounts.
/v1/brandsList all brands the caller can view.
/v1/brandsCreate a new brand account (admin only).
/v1/brands/{id}Update brand details.
Team members, clients, and their permissions.
/v1/usersList users in the workspace.
/v1/users/inviteSend an invitation.
{ "email": "alex@brewbeans.co", "role": "client", "brand_id": "b_brewbeans" }Push notifications for downstream systems.
/v1/webhooksSubscribe to project events.
{
"url": "https://client.example.com/hooks/signtrack",
"events": ["location.stage_changed", "location.completed"]
}120 requests / minute per API key. Responses include X-RateLimit-Remaining and Retry-After headers.