---
title: "Get a project"
method: GET
path: "/v1/projects/:project_key"
---

# Get a project

`GET /v1/projects/:project_key`

Fetch metadata about a project. The service account must have at least a viewer role for this project.

## Path parameters

- `project_key` string, required

## Response `200`

Successful response

- object — Base response envelope for all successful API responses.
  - `success` true, required
  - `request_id` string, required
  - `result` Project, required — A project
    - `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)
