API Reference

Tags, Channels & Members

Overview

These endpoints return the reference data for your workspace. Use them to populate filter dropdowns, build assignment interfaces, or display tag and channel information alongside tickets.

List Tags

Retrieve all tags in the current workspace, sorted alphabetically by name.

GET /api/tags

Example Request

curl https://app.therethere.com/api/tags \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Accept: application/json"

Example Response

{
    "data": [
        { "id": 1, "ulid": "01HX9F3K2A...", "name": "billing", "color": "yellow" },
        { "id": 2, "ulid": "01HX9F3K2B...", "name": "bug", "color": "red" },
        { "id": 3, "ulid": "01HX9F3K2C...", "name": "feature-request", "color": "blue" }
    ]
}

Tags can be added to or removed from tickets using the tag management endpoints:

POST /api/tickets/{ticket_id}/tags/{tag_id}
DELETE /api/tickets/{ticket_id}/tags/{tag_id}

These endpoints accept no request body. A successful response returns a 200 status code.

List Channels

Retrieve all active channels in the current workspace. Channels represent the communication sources through which tickets are received (email inboxes, support widgets). Only channels accessible to the authenticated user are returned.

GET /api/channels

Example Request

curl https://app.therethere.com/api/channels \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Accept: application/json"

Example Response

{
    "data": [
        { "id": 1, "name": "Support", "type": "email", "color": "#3b82f6" },
        { "id": 2, "name": "Sales", "type": "email", "color": "#10b981" },
        { "id": 3, "name": "Website Widget", "type": "widget", "color": "#8b5cf6" }
    ]
}

The type field indicates the channel source: email for email inboxes or widget for embedded support bubbles.

List Members

Retrieve all workspace members (team users), sorted alphabetically by name. Use this endpoint to populate assignee selectors or display user information.

GET /api/members

Example Request

curl https://app.therethere.com/api/members \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Accept: application/json"

Example Response

{
    "data": [
        {
            "id": 1,
            "name": "Alice Johnson",
            "email": "alice@example.com",
            "avatar_url": "https://app.therethere.com/avatars/alice.jpg",
            "timezone": "Europe/Brussels"
        },
        {
            "id": 2,
            "name": "Bob Williams",
            "email": "bob@example.com",
            "avatar_url": null,
            "timezone": "America/New_York"
        }
    ]
}

All three endpoints return the complete set of records (no pagination) since workspaces typically have a manageable number of tags, channels, and members.