Okareo Dashboards API

Create and manage dashboards and scenario-trend views.

Operations 10

GET /v0/dashboards List Dashboards #
POST /v0/dashboards Create Dashboard #
GET /v0/dashboards/{dashboard_id} Get Dashboard #
PUT /v0/dashboards/{dashboard_id} Update Dashboard #
DELETE /v0/dashboards/{dashboard_id} Delete Dashboard #
PUT /v0/dashboards/reorder Reorder Dashboards #
POST /v0/dashboards/workflows/scenario-trends/preview Preview Scenario Trends Dashboard #
POST /v0/dashboards/workflows/scenario-trends Create Scenario Trends Dashboard #
GET /v0/dashboards/workflows/target-performance/checks List Target Performance Checks #

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/okareo:okareo-dashboards-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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

okareo-dashboards-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Okareo Dashboards API
  version: 0.1.0
  description: Create and manage dashboards and scenario-trend views.
servers:
- url: https://api.okareo.com
tags:
- name: Dashboards
  description: Create and manage dashboards and scenario-trend views.
paths:
  /v0/dashboards:
    get:
      tags:
      - Dashboards
      summary: List Dashboards
      operationId: list_dashboards_v0_dashboards_get
      parameters:
      - name: project_id
        in: query
        required: true
        schema:
          type: string
          format: uuid
          title: Project Id
      - name: api-key
        in: header
        required: true
        schema:
          type: string
          title: Api-Key
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DashboardListResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    post:
      tags:
      - Dashboards
      summary: Create Dashboard
      operationId: create_dashboard_v0_dashboards_post
      parameters:
      - name: project_id
        in: query
        required: true
        schema:
          type: string
          format: uuid
          title: Project Id
      - name: api-key
        in: header
        required: true
        schema:
          type: string
          title: Api-Key
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DashboardCreate'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DashboardResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v0/dashboards/{dashboard_id}:
    get:
      tags:
      - Dashboards
      summary: Get Dashboard
      operationId: get_dashboard_v0_dashboards__dashboard_id__get
      parameters:
      - name: dashboard_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Dashboard Id
      - name: project_id
        in: query
        required: true
        schema:
          type: string
          format: uuid
          title: Project Id
      - name: api-key
        in: header
        required: true
        schema:
          type: string
          title: Api-Key
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DashboardResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    put:
      tags:
      - Dashboards
      summary: Update Dashboard
      operationId: update_dashboard_v0_dashboards__dashboard_id__put
      parameters:
      - name: dashboard_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Dashboard Id
      - name: project_id
        in: query
        required: true
        schema:
          type: string
          format: uuid
          title: Project Id
      - name: api-key
        in: header
        required: true
        schema:
          type: string
          title: Api-Key
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DashboardUpdate'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DashboardResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - Dashboards
      summary: Delete Dashboard
      operationId: delete_dashboard_v0_dashboards__dashboard_id__delete
      parameters:
      - name: dashboard_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Dashboard Id
      - name: project_id
        in: query
        required: true
        schema:
          type: string
          format: uuid
          title: Project Id
      - name: api-key
        in: header
        required: true
        schema:
          type: string
          title: Api-Key
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v0/dashboards/reorder:
    put:
      tags:
      - Dashboards
      summary: Reorder Dashboards
      operationId: reorder_dashboards_v0_dashboards_reorder_put
      parameters:
      - name: project_id
        in: query
        required: true
        schema:
          type: string
          format: uuid
          title: Project Id
      - name: api-key
        in: header
        required: true
        schema:
          type: string
          title: Api-Key
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DashboardReorderRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DashboardReorderResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v0/dashboards/workflows/scenario-trends/preview:
    post:
      tags:
      - Dashboards
      summary: Preview Scenario Trends Dashboard
      operationId: preview_scenario_trends_dashboard_v0_dashboards_workflows_scenario_trends_preview_post
      parameters:
      - name: project_id
        in: query
        required: true
        schema:
          type: string
          format: uuid
          title: Project Id
      - name: api-key
        in: header
        required: true
        schema:
          type: string
          title: Api-Key
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DashboardScenarioTrendsPreviewRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DashboardScenarioTrendsPreviewResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v0/dashboards/workflows/scenario-trends:
    post:
      tags:
      - Dashboards
      summary: Create Scenario Trends Dashboard
      operationId: create_scenario_trends_dashboard_v0_dashboards_workflows_scenario_trends_post
      parameters:
      - name: project_id
        in: query
        required: true
        schema:
          type: string
          format: uuid
          title: Project Id
      - name: api-key
        in: header
        required: true
        schema:
          type: string
          title: Api-Key
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DashboardScenarioTrendsCreateRequest'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DashboardScenarioTrendsCreateResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v0/dashboards/workflows/scenario-trends/checks:
    get:
      tags:
      - Dashboards
      summary: List Scenario Trends Checks
      operationId: list_scenario_trends_checks_v0_dashboards_workflows_scenario_trends_checks_get
      parameters:
      - name: project_id
        in: query
        required: true
        schema:
          type: string
          format: uuid
          title: Project Id
      - name: scenario_id
        in: query
        required: true
        schema:
          type: string
          format: uuid
          title: Scenario Id
      - name: api-key
        in: header
        required: true
        schema:
          type: string
          title: Api-Key
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DashboardScenarioTrendsChecksResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v0/dashboards/workflows/target-performance/checks:
    get:
      tags:
      - Dashboards
      summary: List Target Performance Checks
      operationId: list_target_performance_checks_v0_dashboards_workflows_target_performance_checks_get
      parameters:
      - name: project_id
        in: query
        required: true
        schema:
          type: string
          format: uuid
          title: Project Id
      - name: target_ids
        in: query
        required: true
        schema:
          type: array
          items:
            type: string
            format: uuid
          title: Target Ids
      - name: api-key
        in: header
        required: true
        schema:
          type: string
          title: Api-Key
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DashboardTargetPerformanceChecksResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    DashboardScenarioTrendsChecksResponse:
      properties:
        items:
          items:
            $ref: '#/components/schemas/ScenarioTrendsCheckSummary'
          type: array
          title: Items
      type: object
      required:
      - items
      title: DashboardScenarioTrendsChecksResponse
    DashboardReorderRequest:
      properties:
        ordered_ids:
          items:
            type: string
            format: uuid
          type: array
          minItems: 1
          title: Ordered Ids
      type: object
      required:
      - ordered_ids
      title: DashboardReorderRequest
    DashboardUpdate:
      properties:
        name:
          anyOf:
          - type: string
            maxLength: 255
            minLength: 1
          - type: 'null'
          title: Name
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        time_range:
          anyOf:
          - $ref: '#/components/schemas/TimeRange'
          - type: 'null'
        panels:
          anyOf:
          - items:
              $ref: '#/components/schemas/PanelConfig-Input'
            type: array
          - type: 'null'
          title: Panels
      type: object
      title: DashboardUpdate
    AnalyticsFilterGroup-Output:
      properties:
        op:
          type: string
          enum:
          - and
          - or
          title: Op
        filters:
          items:
            anyOf:
            - $ref: '#/components/schemas/AnalyticsFilter'
            - $ref: '#/components/schemas/AnalyticsFilterGroup-Output'
          type: array
          minItems: 1
          title: Filters
      type: object
      required:
      - op
      - filters
      title: AnalyticsFilterGroup
    DashboardCreate:
      properties:
        name:
          type: string
          maxLength: 255
          minLength: 1
          title: Name
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        time_range:
          $ref: '#/components/schemas/TimeRange'
          default: LAST_90_DAYS
        panels:
          items:
            $ref: '#/components/schemas/PanelConfig-Input'
          type: array
          title: Panels
      type: object
      required:
      - name
      title: DashboardCreate
    DashboardTargetPerformanceChecksResponse:
      properties:
        items:
          items:
            $ref: '#/components/schemas/TargetPerformanceCheckSummary'
          type: array
          title: Items
      type: object
      required:
      - items
      title: DashboardTargetPerformanceChecksResponse
    PanelConfig-Input:
      properties:
        id:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Id
        title:
          type: string
          maxLength: 255
          minLength: 1
          title: Title
        chart_type:
          type: string
          enum:
          - line
          - bar
          - composed
          - area
          - radar
          - stat
          - table
          title: Chart Type
        query:
          $ref: '#/components/schemas/PanelQuery-Input'
        table_config:
          anyOf:
          - $ref: '#/components/schemas/PanelTableConfig'
          - type: 'null'
        layout:
          $ref: '#/components/schemas/PanelLayout'
      type: object
      required:
      - title
      - chart_type
      - query
      - layout
      title: PanelConfig
    PanelQuery-Input:
      properties:
        cube:
          type: string
          title: Cube
          default: check_trend
        measures:
          items:
            type: string
          type: array
          title: Measures
        dimensions:
          items:
            type: string
          type: array
          title: Dimensions
        filters:
          items:
            anyOf:
            - $ref: '#/components/schemas/AnalyticsFilter'
            - $ref: '#/components/schemas/AnalyticsFilterGroup-Input'
          type: array
          title: Filters
        segments:
          items:
            type: string
          type: array
          title: Segments
        time_dimensions:
          items:
            $ref: '#/components/schemas/TimeDimension'
          type: array
          title: Time Dimensions
        order:
          additionalProperties:
            type: string
            enum:
            - asc
            - desc
          type: object
          title: Order
      type: object
      required:
      - measures
      title: PanelQuery
      description: 'Query template stored per panel.


        Does NOT include project_id.  ``time_range`` is injected by the frontend

        from the dashboard context and global time picker. Panels may include

        optional ``time_dimensions`` and ``order`` for Cube-style query shape.'
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    DashboardResponse:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        name:
          type: string
          title: Name
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        project_id:
          type: string
          format: uuid
          title: Project Id
        organization_id:
          type: string
          format: uuid
          title: Organization Id
        time_range:
          $ref: '#/components/schemas/TimeRange'
        panels:
          items:
            $ref: '#/components/schemas/PanelConfig-Output'
          type: array
          title: Panels
        schema_version:
          type: integer
          title: Schema Version
        sort_order:
          type: integer
          title: Sort Order
        time_created:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Time Created
        time_modified:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Time Modified
      type: object
      required:
      - id
      - name
      - project_id
      - organization_id
      - time_range
      - panels
      - schema_version
      - sort_order
      title: DashboardResponse
    DashboardScenarioTrendsPreviewRequest:
      properties:
        scenario_id:
          type: string
          format: uuid
          title: Scenario Id
        check_ids:
          items:
            type: string
            format: uuid
          type: array
          minItems: 1
          title: Check Ids
        time_range:
          $ref: '#/components/schemas/TimeRange'
          default: LAST_30_DAYS
        granularity:
          type: string
          enum:
          - hour
          - day
          - week
          title: Granularity
          default: day
      type: object
      required:
      - scenario_id
      - check_ids
      title: DashboardScenarioTrendsPreviewRequest
    PanelLayout:
      properties:
        x:
          type: integer
          minimum: 0.0
          title: X
        y:
          type: integer
          minimum: 0.0
          title: Y
        w:
          type: integer
          minimum: 1.0
          title: W
        h:
          type: integer
          minimum: 1.0
          title: H
      type: object
      required:
      - x
      - y
      - w
      - h
      title: PanelLayout
    ComparisonOperator:
      type: string
      enum:
      - equal
      - not_equal
      - contains
      - not_contains
      - greater_than
      - greater_than_or_equal
      - less_than
      - less_than_or_equal
      - is_set
      - not_set
      title: ComparisonOperator
    DashboardScenarioTrendsCreateRequest:
      properties:
        name:
          type: string
          maxLength: 255
          minLength: 1
          title: Name
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        scenario_id:
          type: string
          format: uuid
          title: Scenario Id
        check_ids:
          items:
            type: string
            format: uuid
          type: array
          minItems: 1
          title: Check Ids
        time_range:
          $ref: '#/components/schemas/TimeRange'
          default: LAST_30_DAYS
        granularity:
          type: string
          enum:
          - hour
          - day
          - week
          title: Granularity
          default: day
      type: object
      required:
      - name
      - scenario_id
      - check_ids
      title: DashboardScenarioTrendsCreateRequest
    ScenarioTrendsCheckSummary:
      properties:
        check_id:
          type: string
          format: uuid
          title: Check Id
        check_name:
          type: string
          title: Check Name
        run_count:
          type: integer
          title: Run Count
        datapoint_count:
          type: integer
          title: Datapoint Count
        latest_seen_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Latest Seen At
      type: object
      required:
      - check_id
      - check_name
      - run_count
      - datapoint_count
      title: ScenarioTrendsCheckSummary
    DashboardScenarioTrendsPreviewResponse:
      properties:
        time_range:
          $ref: '#/components/schemas/TimeRange'
        panels:
          items:
            $ref: '#/components/schemas/PanelConfig-Output'
          type: array
          title: Panels
      type: object
      required:
      - time_range
      - panels
      title: DashboardScenarioTrendsPreviewResponse
    DashboardListResponse:
      properties:
        items:
          items:
            $ref: '#/components/schemas/DashboardResponse'
          type: array
          title: Items
      type: object
      required:
      - items
      title: DashboardListResponse
    TargetPerformanceCheckSummary:
      properties:
        check_id:
          type: string
          format: uuid
          title: Check Id
        check_name:
          type: string
          title: Check Name
        check_version:
          anyOf:
          - type: integer
          - type: 'null'
          title: Check Version
        run_count:
          type: integer
          title: Run Count
        datapoint_count:
          type: integer
          title: Datapoint Count
        latest_seen_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Latest Seen At
        output_type:
          anyOf:
          - type: string
          - type: 'null'
          title: Output Type
      type: object
      required:
      - check_id
      - check_name
      - run_count
      - datapoint_count
      title: TargetPerformanceCheckSummary
    AnalyticsFilterGroup-Input:
      properties:
        op:
          type: string
          enum:
          - and
          - or
          title: Op
        filters:
          items:
            anyOf:
            - $ref: '#/components/schemas/AnalyticsFilter'
            - $ref: '#/components/schemas/AnalyticsFilterGroup-Input'
          type: array
          minItems: 1
          title: Filters
      type: object
      required:
      - op
      - filters
      title: AnalyticsFilterGroup
    AnalyticsFilter:
      properties:
        member:
          type: string
          title: Member
        operator:
          $ref: '#/components/schemas/ComparisonOperator'
          default: equal
        values:
          items:
            anyOf:
            - type: string
            - type: string
              format: uuid
          type: array
          title: Values
      type: object
      required:
      - member
      title: AnalyticsFilter
    TimeDimension:
      properties:
        dimension:
          type: string
          title: Dimension
        date_range:
          anyOf:
          - items:
              type: string
            type: array
            maxItems: 2
            minItems: 2
          - type: 'null'
          title: Date Range
        granularity:
          anyOf:
          - type: string
          - type: 'null'
          title: Granularity
      type: object
      required:
      - dimension
      title: TimeDimension
    PanelTableConfig:
      properties:
        mode:
          type: string
          enum:
          - flat
          - pivot
          title: Mode
          default: flat
        row_dimensions:
          items:
            type: string
          type: array
          title: Row Dimensions
        column_dimension:
          anyOf:
          - type: string
          - type: 'null'
          title: Column Dimension
        value_measure:
          anyOf:
          - type: string
          - type: 'null'
          title: Value Measure
      type: object
      title: PanelTableConfig
    PanelQuery-Output:
      properties:
        cube:
          type: string
          title: Cube
          default: check_trend
        measures:
          items:
            type: string
          type: array
          title: Measures
        dimensions:
          items:
            type: string
          type: array
          title: Dimensions
        filters:
          items:
            anyOf:
            - $ref: '#/components/schemas/AnalyticsFilter'
            - $ref: '#/components/schemas/AnalyticsFilterGroup-Output'
          type: array
          title: Filters
        segments:
          items:
            type: string
          type: array
          title: Segments
        time_dimensions:
          items:
            $ref: '#/components/schemas/TimeDimension'
          type: array
          title: Time Dimensions
        order:
          additionalProperties:
            type: string
            enum:
            - asc
            - desc
          type: object
          title: Order
      type: object
      required:
      - measures
      title: PanelQuery
      description: 'Query template stored per panel.


        Does NOT include project_id.  ``time_range`` is injected by the frontend

        from the dashboard context and global time picker. Panels may include

        optional ``time_dimensions`` and ``order`` for Cube-style query shape.'
    DashboardReorderResponse:
      properties:
        items:
          items:
            $ref: '#/components/schemas/DashboardResponse'
          type: array
          title: Items
      type: object
      required:
      - items
      title: DashboardReorderResponse
    TimeRange:
      type: string
      enum:
      - LAST_HOUR
      - LAST_24_HOURS
      - LAST_7_DAYS
      - LAST_14_DAYS
      - LAST_30_DAYS
      - LAST_90_DAYS
      title: TimeRange
    PanelConfig-Output:
      properties:
        id:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Id
        title:
          type: string
          maxLength: 255
          minLength: 1
          title: Title
        chart_type:
          type: string
          enum:
          - line
          - bar
          - composed
          - area
          - radar
          - stat
          - table
          title: Chart Type
        query:
          $ref: '#/components/schemas/PanelQuery-Output'
        table_config:
          anyOf:
          - $ref: '#/components/schemas/PanelTableConfig'
          - type: 'null'
        layout:
          $ref: '#/components/schemas/PanelLayout'
      type: object
      required:
      - title
      - chart_type
      - query
      - layout
      title: PanelConfig
    DashboardScenarioTrendsCreateResponse:
      properties:
        dashboard:
          $ref: '#/components/schemas/DashboardResponse'
      type: object
      required:
      - dashboard
      title: DashboardScenarioTrendsCreateResponse
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError