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

# Get connection status

> Reads stored approval and current project and action restrictions.
An allowed action has current person permission, organisation agent policy
approval, and support from an agent connection in that project.
A request can still be refused by a narrower rule: private-space access,
a protected branch, a second required action (uploads need Deploy and upload),
or scheduled pre-aggregate refreshes in the project.



## OpenAPI

````yaml https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v2/user/agent-connections/{grantUuid}/status
openapi: 3.0.0
info:
  title: Lightdash API
  version: 2.565.0
  description: >
    Open API documentation for all public Lightdash API endpoints. #
    Authentication Before you get started, you might need to create a Personal
    Access Token to authenticate via the API. You can create a token by
    following this guide: https://docs.lightdash.com/references/personal_tokens
  license:
    name: MIT
  contact:
    name: Lightdash Support
    email: support@lightdash.com
    url: https://docs.lightdash.com/help-and-contact/contact/contact_info/
servers:
  - url: /
security: []
tags:
  - name: My Account
    description: These routes allow users to manage their own user account.
  - name: Organizations
    description: >-
      Each user is a member of a single organization. These routes allow users
      to manage their organization. Most actions are only available to admin
      users.
  - name: Projects
    description: >-
      Projects belong to a single organization. These routes allow users to
      manage their projects, browse content, and execute queries. Users inside
      an organization might have access to a project from an organization-level
      role or they might be granted access to a project directly.
  - name: Spaces
    description: >-
      Spaces allow you to organize charts and dashboards within a project. They
      also allow granular access to content by allowing you to create private
      spaces, which are only accessible to the creator and admins.
  - name: Roles & Permissions
    description: >-
      These routes allow users to manage roles and permissions for their
      organization.
    externalDocs:
      url: https://docs.lightdash.com/references/roles
  - name: Query
    description: >-
      These routes allow users to execute and manage queries against their data
      warehouse. This includes metric queries, SQL queries, and retrieving query
      results.
paths:
  /api/v2/user/agent-connections/{grantUuid}/status:
    get:
      tags:
        - v2
        - Agent connections
      summary: Get connection status
      description: >-
        Reads stored approval and current project and action restrictions.

        An allowed action has current person permission, organisation agent
        policy

        approval, and support from an agent connection in that project.

        A request can still be refused by a narrower rule: private-space access,

        a protected branch, a second required action (uploads need Deploy and
        upload),

        or scheduled pre-aggregate refreshes in the project.
      operationId: GetConnectionStatus
      parameters:
        - in: path
          name: grantUuid
          required: true
          schema:
            $ref: '#/components/schemas/UUID'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                properties:
                  results:
                    $ref: '#/components/schemas/AgentConnectionStatus'
                  status:
                    type: string
                    enum:
                      - ok
                    nullable: false
                required:
                  - results
                  - status
                type: object
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorPayload'
      security: []
components:
  schemas:
    UUID:
      type: string
      format: uuid
      description: |-
        Stringified UUIDv4.
        See [RFC 4112](https://tools.ietf.org/html/rfc4122)
      pattern: >-
        [0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-4[0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}
    AgentConnectionStatus:
      allOf:
        - $ref: '#/components/schemas/AgentConnectionRecord'
        - properties:
            effectiveProjects:
              items:
                properties:
                  capabilities:
                    items:
                      properties:
                        reason:
                          type: string
                          enum:
                            - invalid_grant
                            - not_supported
                            - revoked
                            - expired
                            - agent_identity_disabled
                            - project_access
                            - person_permission
                            - agent_policy
                            - null
                          nullable: true
                        allowed:
                          type: boolean
                          description: >-
                            Current person permissions and organisation agent
                            policy permit this

                            action in this project, and an agent connection
                            supports it.

                            A request can still be refused by private-space
                            access, a protected

                            branch, a second required action (uploads also need
                            Deploy and upload),

                            or scheduled pre-aggregate refreshes in the project.
                        capability:
                          $ref: '#/components/schemas/AgentCapability'
                      required:
                        - reason
                        - allowed
                        - capability
                      type: object
                    type: array
                  projectUuid:
                    $ref: '#/components/schemas/UUID'
                required:
                  - capabilities
                  - projectUuid
                type: object
              type: array
          required:
            - effectiveProjects
          type: object
    ApiErrorPayload:
      properties:
        error:
          properties:
            data:
              $ref: '#/components/schemas/AnyType'
              description: Optional data containing details of the error
            message:
              type: string
              description: A friendly message summarising the error
            name:
              type: string
              description: Unique name for the type of error
            statusCode:
              type: number
              format: integer
              description: HTTP status code
          required:
            - name
            - statusCode
          type: object
        status:
          type: string
          enum:
            - error
          nullable: false
      required:
        - error
        - status
      type: object
      description: |-
        The Error object is returned from the api any time there is an error.
        The message contains
    AgentConnectionRecord:
      properties:
        revokedAt:
          type: string
          format: date-time
          nullable: true
        status:
          type: string
          enum:
            - active
            - expired
            - revoked
        lastUsedAt:
          type: string
          format: date-time
          nullable: true
        expiresAt:
          type: string
          format: date-time
        approvedAt:
          type: string
          format: date-time
        approvedProjects:
          items:
            properties:
              approvedCapabilities:
                items:
                  $ref: '#/components/schemas/AgentCapability'
                type: array
              name:
                type: string
                nullable: true
              projectUuid:
                $ref: '#/components/schemas/UUID'
            required:
              - approvedCapabilities
              - name
              - projectUuid
            type: object
          type: array
        limitsStatus:
          type: string
          enum:
            - ok
            - invalid
        clientId:
          type: string
        name:
          type: string
        grantUuid:
          $ref: '#/components/schemas/UUID'
      required:
        - revokedAt
        - status
        - lastUsedAt
        - expiresAt
        - approvedAt
        - approvedProjects
        - limitsStatus
        - clientId
        - name
        - grantUuid
      type: object
    AgentCapability:
      enum:
        - read_discover
        - query
        - raw_sql
        - content_write
        - delete
        - publish
        - deploy_upload
        - dbt_writeback
        - export
        - administration
        - external_tools
      type: string
    AnyType:
      description: |-
        This AnyType is an alias for any
        The goal is to make it easier to identify any type in the codebase
        without having to eslint-disable all the time
        These are only used on legacy `any` types, don't use it for new types.
        This is added on a separate file to avoid circular dependencies.

````

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