> ## Documentation Index
> Fetch the complete documentation index at: https://docs.runflow.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Upsert a dashboard tab (CLI metrics sync)

> Creates or updates a dashboard tab by (agent_id, name). Idempotent — safe to call on every deploy.



## OpenAPI

````yaml /api-reference/openapi.json post /api/v1/runtime/observability/dashboard-tabs
openapi: 3.0.0
info:
  title: Runflow Runtime API
  description: >-
    Programmatic surface for the Runflow platform — used by the SDK, the CLI,
    the execution engine, and any server-to-server caller. Authenticate with an
    `x-api-key` header (or `Authorization: Bearer ...`).
  version: 1.0.0
  contact: {}
servers:
  - url: https://api.runflow.ai
    description: Production
  - url: http://localhost:3000
    description: Local development
security: []
tags: []
paths:
  /api/v1/runtime/observability/dashboard-tabs:
    post:
      tags:
        - Runtime API - Dashboard Tabs
      summary: Upsert a dashboard tab (CLI metrics sync)
      description: >-
        Creates or updates a dashboard tab by (agent_id, name). Idempotent —
        safe to call on every deploy.
      operationId: RuntimeDashboardTabsController_upsertDashboardTab
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - name
              properties:
                agentId:
                  type: string
                  description: Agent UUID. Defaults to the agent bound to the API key.
                name:
                  type: string
                  description: Tab name (display label).
                sortOrder:
                  type: integer
                  description: >-
                    Optional sort order. When omitted on first insert, defaults
                    to MAX(sort_order)+1.
      responses:
        '200':
          description: Tab upserted successfully.
        '400':
          description: Invalid request body.
      security:
        - bearer: []
components: {}

````