---
title: "Query solutions"
method: GET
path: "/v1/projects/{project_id}/solutions"
tags: ["Solution"]
---

# Query solutions

`GET /v1/projects/{project_id}/solutions`

## Request

- Base URL: `https://api.telerivet.com`
- URL: `https://api.telerivet.com/v1/projects/{project_id}/solutions`
- Auth: one of:
  - HTTP basic
  - OAuth 2 (authorization code, authorization URL `https://telerivet.com/oauth/authorize`, token URL `https://api.telerivet.com/oauth/token`)

Queries solutions within the given project.

## Path parameters

- `project_id` string, required

## Query parameters

- `name` string
- `skillbook_slug` string
- `time_created[min]` integer: Unix timestamp in seconds
- `time_created[max]` integer: Unix timestamp in seconds
- `sort` 'default' | 'name'
- `sort_dir` 'asc' | 'desc'
- `page_size` integer
- `offset` integer
- `marker` string
- `count` boolean

## Response `200`

Successful response. When count=1 parameter is provided, returns {"count": N} instead.

- object
  - `data` Solution[]: Array of results (omitted when count=1)
    - `id` string: ID of the solution
    - `name` string: Name of the solution, which must be unique within the project
    - `description` string, nullable: Description of the solution
    - `skillbook_slug` string, nullable: Slug of the Skillbook solution template that this solution is an instance of, if applicable
    - `services` object[]: Summaries of up to 50 services that belong to this solution. Only returned when retrieving a single solution by ID; if `truncated` includes `services`, the solution has more services than are listed here.
      - `id` string: ID of the service
      - `name` string: Name of the service
      - `service_type` string: Type of the service
      - `active` boolean: Whether the service is active
      - `url` string: URL to the service in the Telerivet web app
    - `tables` object[]: Summaries of up to 50 data tables that belong to this solution. Only returned when retrieving a single solution by ID; if `truncated` includes `tables`, the solution has more data tables than are listed here.
      - `id` string: ID of the data table
      - `name` string: Name of the data table
      - `url` string: URL to the data table in the Telerivet web app
    - `groups` object[]: Summaries of up to 50 contact groups that belong to this solution. Only returned when retrieving a single solution by ID; if `truncated` includes `groups`, the solution has more contact groups than are listed here.
      - `id` string: ID of the group
      - `name` string: Name of the group
      - `dynamic` boolean: Whether this is a dynamic or normal group
      - `url` string: URL to the group in the Telerivet web app
    - `campaigns` object[]: Summaries of up to 50 campaigns that belong to this solution. Only returned when retrieving a single solution by ID; if `truncated` includes `campaigns`, the solution has more campaigns than are listed here.
      - `id` string: ID of the campaign
      - `name` string: Name of the campaign
      - `campaign_type` string: Type of the campaign
      - `status` string: Current status of the campaign
      - `url` string: URL to the campaign in the Telerivet web app
    - `message_templates` object[]: Summaries of up to 50 message templates that belong to this solution. Only returned when retrieving a single solution by ID; if `truncated` includes `message_templates`, the solution has more message templates than are listed here.
      - `id` string: ID of the message template
      - `name` string: Name of the message template
      - `readonly` boolean: True if the template was synchronized from a WhatsApp Business Account and cannot be modified via the API
    - `dashboards` object[]: Summaries of up to 50 dashboards that belong to this solution. Only returned when retrieving a single solution by ID; if `truncated` includes `dashboards`, the solution has more dashboards than are listed here.
      - `id` string: ID of the dashboard
      - `name` string: Name of the dashboard
      - `url` string: URL to the dashboard in the Telerivet web app
    - `truncated` string[]: List of member types (`services`, `tables`, `groups`, `campaigns`, `message_templates`, `dashboards`) for which the solution has more members than are included in this response (more than 50). To list all members of a type, query that type with the `solution_id` filter (e.g. project.queryServices). Only returned when retrieving a single solution by ID.
    - `vars` object: Custom variables stored for this solution. Variable names may be up to 32 characters in length and can contain the characters a-z, A-Z, 0-9, and _. Values may be strings, numbers, or boolean (true/false). String values may be up to 4096 bytes in length when encoded as UTF-8. Up to 100 variables are supported per object. Setting a variable to null will delete the variable.
    - `time_created` integer: Time the solution was created in Telerivet
    - `time_updated` integer: Time the solution was last updated in Telerivet
    - `project_id` string: ID of the project this solution belongs to
  - `truncated` boolean: True if there are more results
  - `next_marker` string: Marker for pagination
  - `page_size` integer: Number of results per page
  - `sort_dir` 'asc' | 'desc': Sort direction
  - `count` integer: Total count of matching items (only when count=1 parameter is provided)

## Other responses

- `400`: Invalid request parameters
- `401`: Invalid or missing API key or Bearer token
- `404`: Resource not found

---

[API](https://skmtc.dev/telerivet/apis/telerivet-api.md) · [All operations](https://skmtc.dev/telerivet/apis/telerivet-api/llms.txt) · [OpenAPI document](https://skmtc.dev/telerivet/apis/telerivet-api/revisions/4e14b1c8d917?raw)
