---
title: "Get Dashboard"
method: GET
path: "/companies/{company_id}/dashboard"
tags: ["dashboard"]
---

# Get Dashboard

`GET /companies/{company_id}/dashboard`

## Request

- Base URL: `https://api.nanocorp.so` (the document declares no server; this is the origin it was published from)
- URL: `https://api.nanocorp.so/companies/{company_id}/dashboard`
- Auth: HTTP bearer

Fetch all dashboard data in a single request.

## Path parameters

- `company_id` string, uuid, required

## Response `200`

Successful Response

- DashboardResponse
  - `company` CompanyResponse, required
    - `id` string, required
    - `conglomerate_id` string, required
    - `name` string, required
    - `handle` string, required
    - `one_liner` string, nullable
    - `mission` string, nullable
    - `initial_prompt` string, nullable
    - `status` 'draft' | 'active' | 'paused' | 'archived', required
    - `balance_cents` integer
    - `balance_real_cents` integer
    - `github_repo_url` string, nullable
    - `github_repo_full_name` string, nullable
    - `cycle_interval_seconds` integer
    - `max_daily_tasks` integer
    - `tasks_used_today` integer
    - `harness_version` number
    - `custom_domain` string, nullable
    - `custom_domain_verified` boolean
    - `email_address` string
    - `platform_email_address` string
    - `website_url` string
    - `dashboard_url` string
    - `outbound_email_paused` boolean
    - `outbound_prospect_search_paused` boolean
    - `status_emails_paused` boolean
    - `selling_paused` boolean
    - `open_ask_count` integer
    - `open_proposal_count` integer
    - `next_scheduled_run_at` string, date-time, nullable
    - `active_routine_task_ids` string[]
    - `coordinator_session_id` string, nullable
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
  - `vercel` VercelProjectResponse, required
    - `project_url` string, nullable
    - `domain` string, nullable
    - `status` string, required
    - `has_deployment` boolean
    - `site_paused` boolean
    - `preview_url` string, nullable
    - `custom_domain_parking_available` boolean
  - `documents` DocumentResponse[], required
    - `id` string, required
    - `document_type` string, required
    - `title` string, required
    - `content` string, required
    - `is_visible` boolean, required
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
  - `active_tasks` TaskResponse[], required
    - `id` string, required
    - `company_id` string, required
    - `title` string, required
    - `description` string, nullable
    - `status` 'pending' | 'dispatched' | 'in_progress' | 'completed' | 'failed' | 'moderated', required
    - `priority` 'critical' | 'high' | 'normal' | 'low', required
    - `created_by` 'user' | 'ceo_agent' | 'worker_agent' | 'agent' | 'platform', required
    - `runner` string
    - `assigned_to` string, nullable
    - `result_summary` string, nullable
    - `error_message` string, nullable
    - `retry_count` integer, required
    - `max_retries` integer, required
    - `parent_task_id` string, nullable
    - `cycle_id` string, nullable
    - `due_at` string, date-time, nullable
    - `recurrence` string, nullable
    - `effective_status` string, nullable
    - `due_annotation` string, nullable
    - `last_run_at` string, date-time, nullable
    - `last_run_missed` boolean
    - `created_at` string, date-time, required
    - `started_at` string, date-time, nullable
    - `completed_at` string, date-time, nullable
    - `updated_at` string, date-time, required
  - `completed_tasks` TaskResponse[], required
    - `id` string, required
    - `company_id` string, required
    - `title` string, required
    - `description` string, nullable
    - `status` 'pending' | 'dispatched' | 'in_progress' | 'completed' | 'failed' | 'moderated', required
    - `priority` 'critical' | 'high' | 'normal' | 'low', required
    - `created_by` 'user' | 'ceo_agent' | 'worker_agent' | 'agent' | 'platform', required
    - `runner` string
    - `assigned_to` string, nullable
    - `result_summary` string, nullable
    - `error_message` string, nullable
    - `retry_count` integer, required
    - `max_retries` integer, required
    - `parent_task_id` string, nullable
    - `cycle_id` string, nullable
    - `due_at` string, date-time, nullable
    - `recurrence` string, nullable
    - `effective_status` string, nullable
    - `due_annotation` string, nullable
    - `last_run_at` string, date-time, nullable
    - `last_run_missed` boolean
    - `created_at` string, date-time, required
    - `started_at` string, date-time, nullable
    - `completed_at` string, date-time, nullable
    - `updated_at` string, date-time, required
  - `activity_events` ActivityEventResponse[], required
    - `id` string, required
    - `event_type` string, required
    - `title` string, required
    - `description` string, nullable
    - `agent_id` string, nullable
    - `metadata` object, nullable
    - `created_at` string, date-time, required
  - `activity_has_more` boolean, required
  - `emails` EmailSummaryResponse[], required
    - `id` string, required
    - `direction` string, required
    - `from_address` string, required
    - `from_name` string, nullable
    - `to_address` string, required
    - `subject` string, nullable
    - `preview` string, nullable
    - `is_read` boolean, required
    - `sent_at` string, date-time, nullable
    - `received_at` string, date-time, nullable
    - `created_at` string, date-time, required
  - `email_stats` EmailStatsResponse, required
    - `total_sent` integer, required
    - `total_received` integer, required
    - `unread_received` integer
  - `chat_messages` ChatMessageResponse[], required
    - `id` string, required
    - `role` string, required
    - `content` string, required
    - `tool_calls` ToolCallInfo[], nullable
      - `name` string, required
      - `input` object, required
      - `result` union
        - object
        - string
    - `token_count_input` integer, nullable
    - `token_count_output` integer, nullable
    - `cost_usd` number, nullable
    - `created_at` string, date-time, required
  - `stripe_products` StripeProductResponse[], required
    - `id` string, required
    - `company_id` string, required
    - `stripe_product_id` string, nullable
    - `stripe_price_id` string, nullable
    - `name` string, required
    - `description` string, nullable
    - `price_cents` integer, nullable
    - `currency` string, required
    - `active` boolean, required
    - `checkout_url` string, nullable
    - `test_checkout_url` string, nullable
    - `paused` boolean
    - `billing` ProductBillingResponse: How a product is billed (spec 2026-09-15 §6.4). Read from the product's current active logical price: ``one_time`` for a plain product, ``subscription`` with ``interval="month"`` for a plan. Defaults to one-time so a surface that never enriches keeps today's shape.
      - `kind` 'one_time' | 'subscription'
      - `interval` 'month', nullable
    - `active_subscribers` integer
    - `leaving_subscribers` integer
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
  - `stripe_payment_link` StripePaymentLinkResponse, required
    - `id` string, required
    - `company_id` string, required
    - `stripe_payment_link_id` string, nullable, required
    - `url` string, required
    - `test_url` string, nullable
    - `active` boolean, required
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
  - `stripe_revenue` StripeRevenueResponse, required: All-time sales plus the recurring figures the Money tab renders (D22). The four subscription fields are REQUIRED on purpose: mypy then catches a surface that forgets them instead of seeding the frontend cache with a silent zero.
    - `total_cents` integer, required
    - `payment_count` integer, required
    - `total_dollars` number, required
    - `mrr_cents` integer, required
    - `mrr_currency` string, nullable, required
    - `plan_count` integer, required
    - `past_due_count` integer, required
  - `launch_kit` LaunchKitResponse
    - `posts` LaunchPostResponse[], required
      - `id` string, required
      - `company_id` string, required
      - `moment` string, required
      - `platform` string, required
      - `week_start` string, date, nullable
      - `language` string, required
      - `generated_text` string, required
      - `draft_text` string, required
      - `show_amount` boolean, required
      - `include_mention` boolean, required
      - `state` string, required
      - `evidence_url` string, nullable
      - `evidence_author` string, nullable
      - `evidence_checked_at` string, date-time, nullable
      - `posted_at` string, date-time, nullable
      - `posted_via` string, nullable
      - `external_post_id` string, nullable
      - `created_at` string, date-time, required
      - `updated_at` string, date-time, required
    - `steps` LaunchStepResponse[], required
      - `step_key` string, required
      - `phase` string, required
      - `phase_label` string, required
      - `kind` string, required
      - `label` string, required
      - `state` string, required
      - `progress` integer, required
      - `target` integer, required
      - `counted` boolean, required
      - `action` string, nullable
      - `evidence` object[]
      - `task_id` string, nullable
      - `due_at` string, date-time, nullable
      - `completed_at` string, date-time, nullable
      - `evidence_line` string, nullable
      - `evidence_url` string, nullable
    - `score` LaunchScoreResponse, required
      - `done` integer, required
      - `total` integer, required
    - `weekly_enabled` boolean, required
    - `announced` boolean, required
    - `all_done` boolean, required
    - `next_step_key` string, nullable
    - `next_step_copy` string, nullable
    - `host` string, required
    - `referral_link` string, required
    - `bonus_used` object

## Other responses

- `422`: Validation Error

## Changes

- **2026-10-20** `f9255294952f`: 1 info
  - added the optional property `company/coordinator_session_id` to the response with the `200` status
- **2026-09-19** `734278ef1b5b`: 2 info
  - added the optional property `company/email_address` to the response with the `200` status
  - added the optional property `company/platform_email_address` to the response with the `200` status
- **2026-09-17** `fdb61f8c4234`: 9 info
  - added the optional property `launch_kit/anyOf[subschema #1: LaunchKitResponse]/posts/items/external_post_id` to the response with the `200` status
  - added the optional property `launch_kit/anyOf[subschema #1: LaunchKitResponse]/posts/items/posted_via` to the response with the `200` status
  - added the optional property `stripe_products/items/active_subscribers` to the response with the `200` status
  - added the optional property `stripe_products/items/billing` to the response with the `200` status
  - …5 more
- **2026-09-11** `97b262b63810`: 7 info
  - added the optional property `active_tasks/items/last_run_at` to the response with the `200` status
  - added the optional property `active_tasks/items/last_run_missed` to the response with the `200` status
  - added the optional property `company/active_routine_task_ids` to the response with the `200` status
  - added the optional property `company/next_scheduled_run_at` to the response with the `200` status
  - …3 more
- …earlier changes not shown

[Operation history](https://skmtc.dev/nanocorp/apis/nanocorp-api/changes/companies/:company_id/dashboard/get.md)

---

[API](https://skmtc.dev/nanocorp/apis/nanocorp-api.md) - [All operations](https://skmtc.dev/nanocorp/apis/nanocorp-api/llms.txt) - [OpenAPI document](https://skmtc.dev/nanocorp/apis/nanocorp-api/revisions/291bb76b720b?raw)
