Skip to main content
GET
/
routers
List routers
curl --request GET \
  --url https://api.routera.io/routers \
  --header 'Authorization: Bearer <token>'
{
  "data": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "name": "Contact Router",
      "object_type": "contacts",
      "has_integration": true,
      "is_published": true,
      "archived": false,
      "created_at": "2026-05-01T10:00:00.000Z",
      "updated_at": "2026-05-28T12:00:00.000Z",
      "settings": {
        "overwrite": true,
        "owner_field": "contact_owner",
        "distribution_model": "round robin",
        "default_user": "developer@test.com",
        "disable_default_assignment": false,
        "ignore_working_hours": true,
        "account_matching": true,
        "trigger": {
          "groups": [
            {
              "conditions": []
            }
          ]
        }
      },
      "users": [
        {
          "email": "user@example.com"
        }
      ],
      "teams": [
        {
          "name": "Sales Team"
        }
      ]
    }
  ],
  "pagination": {
    "limit": 123,
    "offset": 123,
    "count": 123
  }
}

Endpoint

GET https://api.routera.io/routers
Route: /routers
Authentication: Bearer JWT

Query parameters

ParameterTypeDefaultDescription
archivedbooleanfalseSet to true to include archived routers
limitinteger10Maximum number of results (10–100)
offsetinteger0Pagination offset

Response fields

Each item in data includes:
PropertyDescription
idRouter ID
nameRouter display name
object_typeTarget object type internal name (e.g. contacts)
has_integrationWhether the router uses a CRM integration
is_publishedWhether the router is published
settingsFlattened configuration (primitives except trigger)
usersRotation users (email only)
teamsRotation teams (name only)
archivedfalse or ISO timestamp when archived
created_at, updated_atRouter timestamps (ISO 8601 UTC)

Response

200 — Paginated list
{
  "data": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "name": "Contact Router",
      "object_type": "contacts",
      "has_integration": true,
      "is_published": true,
      "archived": false,
      "created_at": "2026-05-01T10:00:00.000Z",
      "updated_at": "2026-05-28T12:00:00.000Z",
      "settings": {
        "overwrite": true,
        "owner_field": "contact_owner",
        "distribution_model": "round robin",
        "default_user": "developer@test.com",
        "disable_default_assignment": false,
        "ignore_working_hours": true,
        "account_matching": true,
        "trigger": {
          "groups": [
            {
              "conditions": []
            }
          ]
        }
      },
      "users": [
        {
          "email": "user@example.com"
        }
      ],
      "teams": [
        {
          "name": "Sales Team"
        }
      ]
    }
  ],
  "pagination": {
    "limit": 10,
    "offset": 0,
    "count": 1
  }
}

Errors

StatusWhen
400Invalid list path (e.g. /routers/{id} on list endpoint)
401Missing or invalid account context in JWT
500Internal server error

Authorizations

Authorization
string
header
required

Bearer JWT with valid account context.

Query Parameters

archived
boolean

Include archived routers when true

limit
integer
default:10

Maximum results (default 10, max 100)

Required range: 1 <= x <= 100
offset
integer
default:0

Pagination offset (default 0)

Required range: x >= 0

Response

Paginated list

data
object[]
pagination
object