---
title: "List projects"
method: GET
path: "/v1/projects"
---

# List projects

`GET /v1/projects`

List all projects in the workspace accessible with this service account.

## Response `200`

Successful response

- object — Base response envelope for all successful API responses.
  - `success` true, required
  - `request_id` string, required
  - `result` object, required
    - `projects` Project[], required — The list of projects in the workspace
      - `key` string, required — The unique identifier for the project
      - `name` string, required — The display name for the project
      - `created_at` string, date-time, required — An ISO 8601 date-time string.
      - `description` string, required — A description of the project.
      - `modified_at` string, date-time, required — An ISO 8601 date-time string.
      - `permitted_actions` object, required — The actions you are allowed to perform in this project
        - `create_canvas` boolean, required — Are you able to create a canvas or not.
        - `run_query` boolean, required — Are you able to query data sources in this project or not.
      - `permissions` object[], required — The list of actors with assigned permissions for this project.
        - `key` string, required — The unique identifier for the actor.
        - `role` union, required — A project role.
          - 'admin' — Project admin.
          - 'analyst' — Project analyst.
          - 'editor' — Project editor.
          - 'viewer' — Project viewer.
          - 'presentation_viewer' — Project presentation viewer.
        - `type` union, required — The type of actor.
          - 'user' — A workspace member
          - 'group' — A workspace group
          - 'service_account' — A service account
          - 'workspace' — All workspace members
      - `sources` object[], required — The data sources that are accessible through this project.
        - `type` union, required — The type of data source
          - 'connection' — A database connection.
          - 'catalog' — A Count Metrics catalog.
        - `source_key` string, required — The unique identifier for the data source.
        - `source_name` string, required — The name of the source.
        - `connection_type` union — The type of connection
          - 'athena' — Athena
          - 'bigquery' — BigQuery
          - 'clickhouse' — ClickHouse
          - 'databricks' — Databricks
          - 'mcp' — MCP server
          - 'mssql' — Microsoft SQL Server
          - 'mysql' — MySQL
          - 'postgresql' — PostgreSQL
          - 'redshift' — Redshift
          - 'snowflake' — Snowflake
          - 'synapse' — Synapse
          - 'googlesheets' — Google Sheets
        - `datasets` string[] — For catalog sources, the explicit list of exposed datasets (if any).
      - `agent_context` string — Agent-specific context for this project.

## Other responses

- `4XX` — Client error. Possible status codes include: 400 (invalid request), 401 (missing or invalid API key), 403 (insufficient permissions), 404 (resource not found), 429 (rate limit exceeded).
- `5XX` — Internal server error.

---

[API](https://skmtc.net/count/apis/count-public-api.md) · [All operations](https://skmtc.net/count/apis/count-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/count/count-public-api/versions/858ed44750ff/schema)
