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

# Get the workflows overview

> Returns a numbered or cursor page of goals with their latest runs, pending attention, connections, and savings aggregates. The response total counts every goal matching the filters, before pagination.



## OpenAPI

````yaml /api-reference/costgraph/openapi.json get /api/v1/tenant/automation/overview
openapi: 3.0.0
info:
  description: Read and manage your CostGraph organization, spend, alerts, and settings.
  title: CostGraph API
  contact: {}
  version: '1.0'
servers:
  - url: https://api.costgraph.ai
security: []
tags:
  - name: ai
    x-group: AI
  - name: ai-serving
    x-group: AI serving
  - name: anomalies
    x-group: Anomalies
  - name: auth
    x-group: Auth
  - name: billing
    x-group: Billing
  - name: billing-export
    x-group: Billing export
  - name: budgets
    x-group: Budgets
  - name: ci
    x-group: CI
  - name: compute-recommendations
    x-group: Compute recommendations
  - name: config
    x-group: Config
  - name: cost
    x-group: Cost
  - name: gpus
    x-group: GPUs
  - name: graphai
    x-group: Graph AI
  - name: infracost
    x-group: Infracost
  - name: integrations
    x-group: Integrations
  - name: invitations
    x-group: Invitations
  - name: kubernetes-clusters
    x-group: Kubernetes clusters
  - name: marketplace
    x-group: Marketplace
  - name: network-requests
    x-group: Network requests
  - name: notifications
    x-group: Notifications
  - name: oauth
    x-group: OAuth
  - name: oauth-clients
    x-group: OAuth clients
  - name: opencost
    x-group: OpenCost
  - name: organization
    x-group: Audit log
  - name: organizations
    x-group: Organizations
  - name: placement-alternatives
    x-group: Placement alternatives
  - name: reports
    x-group: Reports
  - name: service-map
    x-group: Service map
  - name: settings
    x-group: Settings
  - name: sso
    x-group: Single sign-on
  - name: tenants
    x-group: Tenants
  - name: user
    x-group: Users
  - name: virtual-machines
    x-group: Virtual machines
  - name: virtual-tags
    x-group: Virtual tags
  - name: workflows
    x-group: Workflows
paths:
  /api/v1/tenant/automation/overview:
    get:
      tags:
        - workflows
      summary: Get the workflows overview
      description: >-
        Returns a numbered or cursor page of goals with their latest runs,
        pending attention, connections, and savings aggregates. The response
        total counts every goal matching the filters, before pagination.
      parameters:
        - description: Tenant ID
          name: X-CostGraph-Tenant-ID
          in: header
          required: true
          schema:
            type: string
        - description: Goal status filters
          name: goal_status
          in: query
          explode: true
          schema:
            type: array
            items:
              type: string
        - description: Latest run status filters
          name: run_status
          in: query
          explode: true
          schema:
            type: array
            items:
              type: string
        - description: Only goals that do or do not need attention
          name: needs_attention
          in: query
          schema:
            type: boolean
        - description: Page size (1-100)
          name: limit
          in: query
          schema:
            type: integer
            default: 25
        - description: 1-based page number; cannot be combined with cursor
          name: page
          in: query
          schema:
            type: integer
        - description: Opaque pagination cursor
          name: cursor
          in: query
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/responses.SuccessResponse'
                  - type: object
                    properties:
                      data:
                        $ref: '#/components/schemas/automation.OverviewProjection'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responses.ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responses.ErrorResponse'
      security:
        - BearerAuth: []
components:
  schemas:
    responses.SuccessResponse:
      type: object
      required:
        - message
        - status
      properties:
        data: {}
        message:
          type: string
          example: some message
        status:
          type: string
          example: success
    automation.OverviewProjection:
      type: object
      required:
        - goals
        - pending_attention
        - pending_attention_count
        - savings
        - total
      properties:
        goals:
          type: array
          items:
            $ref: '#/components/schemas/automation.GoalOverviewProjection'
        next_cursor:
          type: string
        pending_attention:
          type: array
          items:
            $ref: '#/components/schemas/automation.CheckpointProjection'
        pending_attention_count:
          type: integer
        savings:
          type: array
          items:
            $ref: '#/components/schemas/automation.SavingsAggregate'
        total:
          type: integer
    responses.ErrorResponse:
      type: object
      required:
        - message
        - status
      properties:
        message:
          type: string
          example: some message
        status:
          type: string
          example: error
    automation.GoalOverviewProjection:
      type: object
      required:
        - allowed_connection_ids
        - goal
        - pending_attention_count
        - savings
        - used_connection_ids
      properties:
        allowed_connection_ids:
          type: array
          items:
            type: string
        goal:
          $ref: '#/components/schemas/automation.GoalProjection'
        latest_run:
          $ref: '#/components/schemas/automation.RunProjection'
        pending_attention_count:
          type: integer
        savings:
          type: array
          items:
            $ref: '#/components/schemas/automation.SavingsAggregate'
        used_connection_ids:
          type: array
          items:
            type: string
    automation.CheckpointProjection:
      type: object
      required:
        - checkpoint_id
        - created_at
        - goal_id
        - goal_name
        - node_id
        - options
        - prompt
        - run_id
        - status
        - type
        - version
      properties:
        blocker:
          $ref: '#/components/schemas/automation.WorkflowBlockerV1'
        checkpoint_id:
          type: string
        created_at:
          type: string
        effect:
          $ref: '#/components/schemas/automation.EffectPreview'
        expires_at:
          type: string
        goal_id:
          type: string
        goal_name:
          type: string
        node_id:
          type: string
        options:
          type: array
          items:
            type: string
        prompt:
          type: string
        run_id:
          type: string
        status:
          type: string
          enum:
            - pending
            - answered
            - approved
            - rejected
            - expired
            - cancelled
        type:
          type: string
          enum:
            - context
            - choice
            - assistance
            - approval
        version:
          type: integer
    automation.SavingsAggregate:
      type: object
      required:
        - active_estimated_monthly_cents
        - currency
        - estimated_accrued_savings_cents
        - pending_projected_monthly_cents
      properties:
        active_estimated_monthly_cents:
          type: integer
        currency:
          type: string
        estimated_accrued_savings_cents:
          type: integer
        pending_projected_monthly_cents:
          type: integer
    automation.GoalProjection:
      type: object
      required:
        - autonomy_envelope
        - budgets
        - constraints
        - created_at
        - goal_id
        - name
        - objective
        - revision
        - revision_id
        - scope
        - status
        - trigger_policy
        - updated_at
      properties:
        autonomy_envelope:
          type: object
        budgets:
          type: object
        constraints:
          type: object
        created_at:
          type: string
        goal_id:
          type: string
        name:
          type: string
        objective:
          type: string
        revision:
          type: integer
        revision_id:
          type: string
        schedule:
          $ref: '#/components/schemas/automation.GoalScheduleProjection'
        scope:
          type: object
        specification:
          $ref: '#/components/schemas/automation.GoalSpecificationV1'
        status:
          type: string
          enum:
            - active
            - paused
            - archived
        trigger_policy:
          type: object
        updated_at:
          type: string
    automation.RunProjection:
      type: object
      required:
        - active_runtime_used_milliseconds
        - allowed_connection_ids
        - created_at
        - decisions_used
        - goal_id
        - goal_name
        - goal_revision_id
        - max_decisions
        - objective
        - run_id
        - savings
        - status
        - summary
        - trigger
        - updated_at
        - used_connection_ids
      properties:
        active_runtime_used_milliseconds:
          type: integer
        allowed_connection_ids:
          type: array
          items:
            type: string
        continued_from_run_id:
          type: string
        created_at:
          type: string
        decisions_used:
          type: integer
        duration_milliseconds:
          type: integer
        finished_at:
          type: string
        goal_id:
          type: string
        goal_name:
          type: string
        goal_revision_id:
          type: string
        max_active_runtime_seconds:
          type: integer
        max_decisions:
          type: integer
        objective:
          type: string
        outcome:
          type: string
          enum:
            - advanced
            - succeeded
            - no_change
            - blocked
        run_id:
          type: string
        savings:
          type: array
          items:
            $ref: '#/components/schemas/automation.SavingsAggregate'
        started_at:
          type: string
        status:
          type: string
          enum:
            - queued
            - running
            - waiting
            - completed
            - failed
            - cancelled
            - blocked
        summary:
          type: string
        timed_out_at:
          type: string
        trigger:
          type: object
        updated_at:
          type: string
        used_connection_ids:
          type: array
          items:
            type: string
    automation.WorkflowBlockerV1:
      type: object
      required:
        - kind
        - message
        - provider
        - retryable
      properties:
        capabilityId:
          type: string
        code:
          type: string
        connectionId:
          type: string
        kind:
          $ref: '#/components/schemas/automation.WorkflowBlockerKindV1'
        message:
          type: string
        operation:
          type: string
        provider:
          type: string
        remediation:
          $ref: '#/components/schemas/automation.BlockerRemediationV1'
        retryable:
          type: boolean
    automation.EffectPreview:
      type: object
      required:
        - effect_hash
        - effective_risk_tier
        - estimated_cost_cents
      properties:
        canonical_input:
          type: object
        capability_connection_id:
          type: string
        capability_id:
          type: string
        capability_version:
          type: string
        categories:
          type: array
          items:
            type: string
        connection_id:
          type: string
        effect_bundle_id:
          type: string
        effect_hash:
          type: string
        effect_segment_id:
          type: string
        effective_risk_tier:
          type: integer
        effects:
          type: array
          items:
            $ref: '#/components/schemas/automation.EffectPreview'
        estimated_cost_cents:
          type: integer
        financial_impacts:
          type: array
          items:
            $ref: '#/components/schemas/automation.FinancialImpactV1'
        preconditions:
          type: array
          items:
            type: object
        recovery:
          type: object
        segment_hash:
          type: string
        summary:
          type: string
        targets:
          type: array
          items:
            type: object
        verification:
          type: object
    automation.GoalScheduleProjection:
      type: object
      required:
        - kind
        - state
      properties:
        cadence:
          type: string
        kind:
          type: string
          enum:
            - once
            - recurring
        last_fired_at:
          type: string
        localTime:
          type: string
        monthWeek:
          type: integer
        next_run_at:
          type: string
        state:
          type: string
          enum:
            - armed
            - paused
            - completed
        timezone:
          type: string
        weekday:
          type: integer
    automation.GoalSpecificationV1:
      type: object
      required:
        - allowedCategories
        - allowedConnectionIds
        - approval
        - exclusions
        - limits
        - schedule
      properties:
        allowedCategories:
          type: array
          items:
            type: string
        allowedConnectionIds:
          type: array
          items:
            type: string
        approval:
          $ref: '#/components/schemas/automation.GoalApprovalV1'
        exclusions:
          type: array
          items:
            $ref: '#/components/schemas/automation.GoalExclusionV1'
        limits:
          $ref: '#/components/schemas/automation.GoalLimitsV1'
        schedule:
          $ref: '#/components/schemas/automation.GoalScheduleV1'
    automation.WorkflowBlockerKindV1:
      type: string
      enum:
        - connection_missing
        - connection_expired
        - provider_permission
        - policy_denied
        - transient_failure
      x-enum-varnames:
        - BlockerConnectionMissing
        - BlockerConnectionExpired
        - BlockerProviderPermission
        - BlockerPolicyDenied
        - BlockerTransientFailure
    automation.BlockerRemediationV1:
      type: object
      required:
        - kind
      properties:
        instructions:
          type: string
        kind:
          $ref: '#/components/schemas/automation.BlockerRemediationKindV1'
        url:
          type: string
    automation.FinancialImpactV1:
      type: object
      required:
        - asOf
        - basis
        - currency
        - kind
        - sourceObservationId
      properties:
        amountCents:
          type: integer
        asOf:
          type: string
        basis:
          type: string
        confidence:
          type: number
        currency:
          type: string
        kind:
          $ref: '#/components/schemas/automation.FinancialImpactKind'
        monthlyCents:
          type: integer
        sourceObservationId:
          type: string
        sourceRecommendationId:
          type: string
    automation.GoalApprovalV1:
      type: object
      required:
        - mode
      properties:
        mode:
          type: string
          enum:
            - every_change
            - low_risk_reversible
    automation.GoalExclusionV1:
      type: object
      required:
        - key
        - kind
      properties:
        key:
          type: string
        kind:
          type: string
          enum:
            - tag
        value:
          type: string
    automation.GoalLimitsV1:
      type: object
      required:
        - maxActiveRuntimeSeconds
        - maxDecisions
      properties:
        maxActiveRuntimeSeconds:
          type: integer
        maxDecisions:
          type: integer
    automation.GoalScheduleV1:
      type: object
      required:
        - kind
      properties:
        cadence:
          type: string
        kind:
          type: string
          enum:
            - once
            - recurring
        localTime:
          type: string
        monthWeek:
          type: integer
        timezone:
          type: string
        weekday:
          type: integer
    automation.BlockerRemediationKindV1:
      type: string
      enum:
        - reconnect
        - update_role
        - contact_admin
        - retry
      x-enum-varnames:
        - RemediationReconnect
        - RemediationUpdateRole
        - RemediationContactAdmin
        - RemediationRetry
    automation.FinancialImpactKind:
      type: string
      enum:
        - recurring_savings
        - one_time_savings
        - cost_increase
        - unknown
      x-enum-varnames:
        - FinancialImpactRecurringSavings
        - FinancialImpactOneTimeSavings
        - FinancialImpactCostIncrease
        - FinancialImpactUnknown
  securitySchemes:
    BearerAuth:
      description: Enter "Bearer {token}"
      type: apiKey
      name: Authorization
      in: header

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.