Coldrig Dashboard API

The dashboard API from Coldrig — 5 operation(s) for dashboard.

Operations 8

POST /dashboard/session Exchange an API key for an httpOnly dashboard session cookie #
POST /dashboard/logout Revoke the current dashboard session cookie #
GET /dashboard/views List every saved dashboard view (summary — id, name, isDefault, rev, editedBy) #
POST /dashboard/views Create a dashboard saved view #
GET /dashboard/views/{id} Fetch one saved view's full layout + rev #
PUT /dashboard/views/{id} Update a saved view's layout (rev-CAS) and/or rename it #
DELETE /dashboard/views/{id} Delete a saved view (cannot delete the default view or the last remaining view) #
POST /dashboard/views/{id}/default Promote a saved view to be the account's default #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/coldrig-dev:coldrig-dev-dashboard-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

coldrig-dev-dashboard-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Coldrig Dev Dashboard API
  version: 0.3.0
  contact:
    name: EpiphanyMade
    email: support@coldrig.dev
  license:
    name: MIT
  description: 'Operations tagged dashboard across 2 of this provider''s published API definitions: coldrig-dev-openapi.yaml, coldrig-dev-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.coldrig.dev
  description: Production API host.
security:
- bearerAuth: []
tags:
- name: Dashboard
paths:
  /dashboard/session:
    post:
      operationId: dashboard_login
      tags:
      - Dashboard
      summary: Exchange an API key for an httpOnly dashboard session cookie
      description: 'Unauthenticated (there is no Authorization header at this point in the flow) — the pasted API key travels in the JSON body instead and is verified here via the same resolver `requireAuth` uses. On success, sets an httpOnly/Secure/SameSite=Strict session cookie; the SPA never sees the bearer token or the session id in JS-readable storage. The request must carry the header `X-Coldstart-Client: dashboard`; without it the call is refused with 403 and the token is not checked.'
      security: []
      parameters:
      - name: X-Coldstart-Client
        in: header
        required: true
        description: Must be exactly `dashboard`.
        schema:
          type: string
          enum:
          - dashboard
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DashboardSessionInput'
      responses:
        '200':
          description: Session cookie set.
          content:
            application/json:
              schema:
                type: object
                properties:
                  tenantId:
                    type: string
                required:
                - tenantId
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          description: 'The `X-Coldstart-Client: dashboard` header is missing.'
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
    servers:
    - url: https://api.coldrig.dev
      description: Production API host.
  /dashboard/logout:
    post:
      operationId: dashboard_logout
      tags:
      - Dashboard
      summary: Revoke the current dashboard session cookie
      security:
      - bearerAuth: []
      - dashboardSessionCookie: []
      responses:
        '200':
          description: Logged out.
          content:
            application/json:
              schema:
                type: object
                properties:
                  loggedOut:
                    type: boolean
        '401':
          $ref: '#/components/responses/Unauthorized'
    servers:
    - url: https://api.coldrig.dev
      description: Production API host.
  /dashboard/views:
    get:
      operationId: get_dashboard
      tags:
      - Dashboard
      summary: List every saved dashboard view (summary — id, name, isDefault, rev, editedBy)
      security:
      - bearerAuth: []
      - dashboardSessionCookie: []
      responses:
        '200':
          description: Saved-view summaries; lazy-seeds the `default` view for a brand-new account.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DashboardViewSummary'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: configure_dashboard_create
      tags:
      - Dashboard
      summary: Create a dashboard saved view
      security:
      - bearerAuth: []
      - dashboardSessionCookie: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DashboardViewCreateInput'
      responses:
        '201':
          description: View created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DashboardViewDetail'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          description: Invalid/unknown widget type or props (syntactically valid JSON, semantically invalid).
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  issues:
                    type: array
                    items:
                      type: object
    servers:
    - url: https://api.coldrig.dev
      description: Production API host.
  /dashboard/views/{id}:
    parameters:
    - name: id
      in: path
      required: true
      schema:
        type: string
    get:
      operationId: get_dashboard_view
      tags:
      - Dashboard
      summary: Fetch one saved view's full layout + rev
      security:
      - bearerAuth: []
      - dashboardSessionCookie: []
      responses:
        '200':
          description: View detail.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DashboardViewDetail'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    put:
      operationId: configure_dashboard_update
      tags:
      - Dashboard
      summary: Update a saved view's layout (rev-CAS) and/or rename it
      description: '`rev` must match the view''s current rev; a stale rev returns 409 with a structured conflict (currentRev + currentLayout) so the caller can rebase and retry. Omitting `name` leaves it unchanged.'
      security:
      - bearerAuth: []
      - dashboardSessionCookie: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DashboardViewUpdateInput'
      responses:
        '200':
          description: View updated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DashboardViewDetail'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          description: Stale rev — structured conflict to rebase onto.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  currentRev:
                    type: integer
                  currentLayout:
                    $ref: '#/components/schemas/DashboardLayout'
                required:
                - error
                - currentRev
                - currentLayout
        '422':
          description: Invalid/unknown widget type or props.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  issues:
                    type: array
                    items:
                      type: object
    delete:
      operationId: configure_dashboard_delete
      tags:
      - Dashboard
      summary: Delete a saved view (cannot delete the default view or the last remaining view)
      security:
      - bearerAuth: []
      - dashboardSessionCookie: []
      responses:
        '200':
          description: Deleted.
          content:
            application/json:
              schema:
                type: object
                properties:
                  deleted:
                    type: boolean
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    servers:
    - url: https://api.coldrig.dev
      description: Production API host.
  /dashboard/views/{id}/default:
    post:
      operationId: configure_dashboard_promote
      tags:
      - Dashboard
      summary: Promote a saved view to be the account's default
      security:
      - bearerAuth: []
      - dashboardSessionCookie: []
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Every saved-view summary, with the promoted view's isDefault now true.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DashboardViewSummary'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    servers:
    - url: https://api.coldrig.dev
      description: Production API host.
components:
  schemas:
    DashboardSessionInput:
      type: object
      required:
      - token
      properties:
        token:
          type: string
          minLength: 1
          maxLength: 500
          description: The API key from POST /signup.
    DashboardLayout:
      type: object
      required:
      - schemaVersion
      - widgets
      properties:
        schemaVersion:
          type: integer
          enum:
          - 1
        widgets:
          type: array
          maxItems: 50
          items:
            type: object
            required:
            - id
            - type
            - gridPos
            - visible
            - props
            properties:
              id:
                type: string
                minLength: 1
                maxLength: 100
              type:
                type: string
                enum:
                - kpi_row
                - mailbox_health
                - campaign_performance
                - activity_feed
                - inbox_preview
                - agent_log
                - agent_note
                - quota_usage
              gridPos:
                type: object
                required:
                - x
                - y
                - w
                - h
                properties:
                  x:
                    type: integer
                    minimum: 0
                    maximum: 11
                  y:
                    type: integer
                    minimum: 0
                    maximum: 1000
                  w:
                    type: integer
                    minimum: 1
                    maximum: 12
                  h:
                    type: integer
                    minimum: 1
                    maximum: 20
              visible:
                type: boolean
                default: true
              props:
                type: object
                additionalProperties: true
    DashboardViewDetail:
      allOf:
      - $ref: '#/components/schemas/DashboardViewSummary'
      - type: object
        required:
        - layout
        - createdAt
        properties:
          layout:
            $ref: '#/components/schemas/DashboardLayout'
          createdAt:
            type: string
    DashboardViewSummary:
      type: object
      required:
      - id
      - name
      - isDefault
      - rev
      - editedBy
      - editedByNote
      - updatedAt
      properties:
        id:
          type: string
        name:
          type: string
        isDefault:
          type: boolean
        rev:
          type: integer
        editedBy:
          type: string
          enum:
          - dashboard
          - mcp
          - api
          - system
        editedByNote:
          type:
          - string
          - 'null'
        updatedAt:
          type: string
    DashboardViewUpdateInput:
      type: object
      required:
      - rev
      - layout
      properties:
        rev:
          type: integer
          minimum: 1
          description: Must match the view's current rev (rev-CAS).
        layout:
          $ref: '#/components/schemas/DashboardLayout'
        name:
          type: string
          minLength: 1
          maxLength: 200
          description: Optional rename; omit to leave unchanged.
        note:
          type: string
          maxLength: 2000
    DashboardViewCreateInput:
      type: object
      required:
      - name
      - layout
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 200
        layout:
          $ref: '#/components/schemas/DashboardLayout'
        note:
          type: string
          maxLength: 2000
  responses:
    NotFound:
      description: Resource not found, or not owned by the authenticated account.
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: string
    ValidationError:
      description: Request body failed schema validation.
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: string
    Unauthorized:
      description: Missing, invalid, or inactive bearer token.
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'Token returned by POST /signup. One token = one separate account. An app connected with "Sign in with Coldrig" (OAuth) holds its own short-lived token for the same account: it is accepted on the hosted MCP endpoint (/mcp) only, and on no REST route.

        '
    dashboardSessionCookie:
      type: apiKey
      in: cookie
      name: cs_dashboard_session
      description: 'httpOnly session cookie minted by POST /dashboard/session (30-day TTL). Alternative to bearerAuth for /dashboard/* routes only, used by the optional human dashboard SPA. A cookie-authed mutating request (any method other than GET/HEAD) must also send the `X-Coldstart-Client: dashboard` header (global CSRF guard) — bearer-authed requests are exempt.

        '
x-refined-from:
- coldrig-dev-openapi.yaml
- coldrig-dev-openapi.yml