Lightdash My Account API

These routes allow users to manage their own user account.

Operations 18

GET /api/v1/user Get authenticated user #
POST /api/v1/user Register user #
PUT /api/v1/user/me/email/otp Create email one-time passcode #
GET /api/v1/user/me/email/status Get email verification status #
GET /api/v1/user/me/allowedOrganizations List available organizations #
POST /api/v1/user/me/joinOrganization/{organizationUuid} Join organization #
DELETE /api/v1/user/me/leaveOrganization Leave organization #
DELETE /api/v1/user/me Delete user #
GET /api/v1/user/warehouseCredentials List warehouse credentials #
POST /api/v1/user/warehouseCredentials Create warehouse credentials #
PATCH /api/v1/user/warehouseCredentials/{uuid} Update warehouse credentials #
DELETE /api/v1/user/warehouseCredentials/{uuid} Delete warehouse credentials #
GET /api/v1/user/login-options Get login options #
GET /api/v1/user/me/personal-access-tokens List personal access tokens #
POST /api/v1/user/me/personal-access-tokens Create personal access token #
DELETE /api/v1/user/me/personal-access-tokens/{personalAccessTokenUuid} Delete personal access token #
PATCH /api/v1/user/me/personal-access-tokens/{personalAccessTokenUuid}/rotate Rotate personal access token #
GET /api/v1/user/account Get account #

Documentation

Specifications

Schemas & Data

Other Resources

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/lightdash-my-account-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

lightdash-my-account-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Lightdash AiAgents My Account API
  version: 0.3156.1
  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: /
tags:
- name: My Account
  description: These routes allow users to manage their own user account.
paths:
  /api/v1/user:
    get:
      operationId: GetAuthenticatedUser
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiGetAuthenticatedUserResponse'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorPayload'
      description: Get authenticated user
      summary: Get authenticated user
      tags:
      - My Account
      security: []
      parameters: []
    post:
      operationId: RegisterUser
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiRegisterUserResponse'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorPayload'
      description: Register user
      summary: Register user
      tags:
      - My Account
      security: []
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RegisterOrActivateUser'
  /api/v1/user/me/email/otp:
    put:
      operationId: CreateEmailOneTimePasscode
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiEmailStatusResponse'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorPayload'
      description: 'Create a new one-time passcode for the current user''s primary email.

        The user will receive an email with the passcode.'
      summary: Create email one-time passcode
      tags:
      - My Account
      security: []
      parameters: []
  /api/v1/user/me/email/status:
    get:
      operationId: GetEmailVerificationStatus
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiEmailStatusResponse'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorPayload'
      description: Get the verification status for the current user's primary email
      summary: Get email verification status
      tags:
      - My Account
      security: []
      parameters:
      - description: the one-time passcode sent to the user's primary email
        in: query
        name: passcode
        required: false
        schema:
          type: string
  /api/v1/user/me/allowedOrganizations:
    get:
      operationId: ListMyAvailableOrganizations
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiUserAllowedOrganizationsResponse'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorPayload'
      description: 'List the organizations that the current user can join.

        This is based on the user''s primary email domain and the organization''s allowed email domains.'
      summary: List available organizations
      tags:
      - My Account
      security: []
      parameters: []
  /api/v1/user/me/joinOrganization/{organizationUuid}:
    post:
      operationId: JoinOrganization
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiSuccessEmpty'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorPayload'
      description: 'Add the current user to an organization that accepts users with a verified email domain.

        This will fail if the organization email domain does not match the user''s primary email domain.'
      summary: Join organization
      tags:
      - My Account
      security: []
      parameters:
      - description: the uuid of the organization to join
        in: path
        name: organizationUuid
        required: true
        schema:
          type: string
  /api/v1/user/me/leaveOrganization:
    delete:
      operationId: LeaveOrganization
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiSuccessEmpty'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorPayload'
      description: 'Remove the current user from their organization. Fails if the caller is

        the only admin remaining. The user record is preserved so they can join

        another organization later.'
      summary: Leave organization
      tags:
      - My Account
      security: []
      parameters: []
  /api/v1/user/me:
    delete:
      operationId: DeleteMe
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiSuccessEmpty'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorPayload'
      description: Delete user
      summary: Delete user
      tags:
      - My Account
      security: []
      parameters: []
  /api/v1/user/warehouseCredentials:
    get:
      operationId: getWarehouseCredentials
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                properties:
                  results:
                    items:
                      $ref: '#/components/schemas/UserWarehouseCredentials'
                    type: array
                  status:
                    type: string
                    enum:
                    - ok
                required:
                - results
                - status
                type: object
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorPayload'
      description: Get user warehouse credentials
      summary: List warehouse credentials
      tags:
      - My Account
      security: []
      parameters: []
    post:
      operationId: createWarehouseCredentials
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                properties:
                  results:
                    $ref: '#/components/schemas/UserWarehouseCredentials'
                  status:
                    type: string
                    enum:
                    - ok
                required:
                - results
                - status
                type: object
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorPayload'
      description: Create user warehouse credentials
      summary: Create warehouse credentials
      tags:
      - My Account
      security: []
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpsertUserWarehouseCredentials'
  /api/v1/user/warehouseCredentials/{uuid}:
    patch:
      operationId: updateWarehouseCredentials
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                properties:
                  results:
                    $ref: '#/components/schemas/UserWarehouseCredentials'
                  status:
                    type: string
                    enum:
                    - ok
                required:
                - results
                - status
                type: object
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorPayload'
      description: Update user warehouse credentials
      summary: Update warehouse credentials
      tags:
      - My Account
      security: []
      parameters:
      - in: path
        name: uuid
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpsertUserWarehouseCredentials'
    delete:
      operationId: deleteWarehouseCredentials
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiSuccessEmpty'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorPayload'
      description: Delete user warehouse credentials
      summary: Delete warehouse credentials
      tags:
      - My Account
      security: []
      parameters:
      - in: path
        name: uuid
        required: true
        schema:
          type: string
  /api/v1/user/login-options:
    get:
      operationId: getLoginOptions
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiGetLoginOptionsResponse'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorPayload'
      description: Get login options
      summary: Get login options
      tags:
      - My Account
      security: []
      parameters:
      - in: query
        name: email
        required: false
        schema:
          type: string
  /api/v1/user/me/personal-access-tokens:
    get:
      operationId: Get personal access tokens
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                properties:
                  results:
                    items:
                      $ref: '#/components/schemas/PersonalAccessToken'
                    type: array
                  status:
                    type: string
                    enum:
                    - ok
                required:
                - results
                - status
                type: object
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorPayload'
      description: List personal access tokens
      summary: List personal access tokens
      tags:
      - My Account
      security: []
      parameters: []
    post:
      operationId: Create personal access token
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                properties:
                  results:
                    $ref: '#/components/schemas/PersonalAccessTokenWithToken'
                  status:
                    type: string
                    enum:
                    - ok
                required:
                - results
                - status
                type: object
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorPayload'
      description: Create personal access token
      summary: Create personal access token
      tags:
      - My Account
      security: []
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePersonalAccessToken'
  /api/v1/user/me/personal-access-tokens/{personalAccessTokenUuid}:
    delete:
      operationId: Delete personal access token
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiSuccessEmpty'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorPayload'
      description: Delete personal access token
      summary: Delete personal access token
      tags:
      - My Account
      security: []
      parameters:
      - in: path
        name: personalAccessTokenUuid
        required: true
        schema:
          type: string
  /api/v1/user/me/personal-access-tokens/{personalAccessTokenUuid}/rotate:
    patch:
      operationId: Rotate personal access token
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                properties:
                  results:
                    $ref: '#/components/schemas/PersonalAccessTokenWithToken'
                  status:
                    type: string
                    enum:
                    - ok
                required:
                - results
                - status
                type: object
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorPayload'
      description: Rotate personal access token
      summary: Rotate personal access token
      tags:
      - My Account
      security: []
      parameters:
      - in: path
        name: personalAccessTokenUuid
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              properties:
                expiresAt:
                  type: string
                  format: date-time
              required:
              - expiresAt
              type: object
  /api/v1/user/account:
    get:
      operationId: GetAccount
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiGetAccountResponse'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorPayload'
      description: Get account information
      summary: Get account
      tags:
      - My Account
      security: []
      parameters: []
components:
  schemas:
    Pick_CreateBigqueryCredentials.type_:
      properties:
        type:
          $ref: '#/components/schemas/WarehouseTypes.BIGQUERY'
      required:
      - type
      type: object
      description: From T, pick a set of properties whose keys are in the union K
    Pick_CreateClickhouseCredentials.type-or-user-or-password_:
      properties:
        user:
          type: string
        type:
          $ref: '#/components/schemas/WarehouseTypes.CLICKHOUSE'
        password:
          type: string
      required:
      - user
      - type
      - password
      type: object
      description: From T, pick a set of properties whose keys are in the union K
    Pick_Account-at-user.Exclude_keyofAccount-at-user.ability-or-abilityRules__:
      properties:
        id:
          type: string
          deprecated: true
        type:
          type: string
          enum:
          - registered
          - anonymous
        email:
          type: string
        isActive:
          type: boolean
      required:
      - id
      - type
      - isActive
      type: object
      description: From T, pick a set of properties whose keys are in the union K
    WarehouseTypes.SNOWFLAKE:
      enum:
      - snowflake
      type: string
    LightdashUser:
      properties:
        userUuid:
          type: string
        firstName:
          type: string
        lastName:
          type: string
        organizationUuid:
          type: string
        organizationName:
          type: string
        organizationCreatedAt:
          type: string
          format: date-time
        userId:
          type: number
          format: double
        role:
          $ref: '#/components/schemas/OrganizationMemberRole'
        roleUuid:
          type: string
        isTrackingAnonymized:
          type: boolean
        isMarketingOptedIn:
          type: boolean
        isSetupComplete:
          type: boolean
        email:
          type: string
        isActive:
          type: boolean
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        timezone:
          type:
          - string
          - 'null'
        isPending:
          type: boolean
      required:
      - userUuid
      - firstName
      - lastName
      - userId
      - isTrackingAnonymized
      - isMarketingOptedIn
      - isSetupComplete
      - isActive
      - createdAt
      - updatedAt
      - timezone
      type: object
      additionalProperties: true
    Pick_CreateAthenaCredentials.type-or-accessKeyId-or-secretAccessKey_:
      properties:
        type:
          $ref: '#/components/schemas/WarehouseTypes.ATHENA'
        accessKeyId:
          type: string
        secretAccessKey:
          type: string
      required:
      - type
      type: object
      description: From T, pick a set of properties whose keys are in the union K
    Pick_CreateDatabricksCredentials.type-or-personalAccessToken-or-authenticationType-or-refreshToken_:
      properties:
        type:
          $ref: '#/components/schemas/WarehouseTypes.DATABRICKS'
        personalAccessToken:
          type: string
        refreshToken:
          type: string
        authenticationType:
          $ref: '#/components/schemas/DatabricksAuthenticationType'
      required:
      - type
      type: object
      description: From T, pick a set of properties whose keys are in the union K
    EmbedWriteActions:
      properties:
        spaceUuid:
          type: string
        userUuid:
          type: string
        serviceAccountUserUuid:
          type: string
      required:
      - spaceUuid
      type: object
    ApiUserAllowedOrganizationsResponse:
      properties:
        results:
          items:
            $ref: '#/components/schemas/UserAllowedOrganization'
          type: array
        status:
          type: string
          enum:
          - ok
      required:
      - results
      - status
      type: object
    ApiRegisterUserResponse:
      properties:
        results:
          $ref: '#/components/schemas/LightdashUser'
        status:
          type: string
          enum:
          - ok
      required:
      - results
      - status
      type: object
    EmbedJwtContentDashboardUuid:
      allOf:
      - $ref: '#/components/schemas/CommonEmbedJwtContent'
      - properties:
          dashboardUuid:
            type: string
        required:
        - dashboardUuid
        type: object
    EmbedJwtContentDashboardSlug:
      allOf:
      - $ref: '#/components/schemas/CommonEmbedJwtContent'
      - properties:
          dashboardSlug:
            type: string
        required:
        - dashboardSlug
        type: object
    WarehouseTypes.REDSHIFT:
      enum:
      - redshift
      type: string
    CommonChartEmbedJwtContent:
      properties:
        canViewUnderlyingData:
          type: boolean
        canExportImages:
          type: boolean
        canExportCsv:
          type: boolean
        parameterInteractivity: {}
        dashboardFiltersInteractivity: {}
        scopes:
          items:
            type: string
          type: array
        isPreview:
          type: boolean
        projectUuid:
          type: string
        type:
          type: string
          enum:
          - chart
      required:
      - type
      type: object
    Record_string.string_:
      properties: {}
      additionalProperties:
        type: string
      type: object
      description: Construct a type with a set of properties K of type T
    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.'
    PersonalAccessToken:
      properties:
        description:
          type: string
        expiresAt:
          type:
          - string
          - 'null'
          format: date-time
        rotatedAt:
          type:
          - string
          - 'null'
          format: date-time
        lastUsedAt:
          type:
          - string
          - 'null'
          format: date-time
        createdAt:
          type: string
          format: date-time
        uuid:
          type: string
      required:
      - description
      - expiresAt
      - rotatedAt
      - lastUsedAt
      - createdAt
      - uuid
      type: object
    LoginOptions:
      properties:
        redirectUri:
          type: string
        forceRedirect:
          type: boolean
        showOptions:
          items:
            $ref: '#/components/schemas/LoginOptionTypes'
          type: array
      required:
      - showOptions
      type: object
    SessionAuth:
      properties:
        source:
          type: string
        type:
          type: string
          enum:
          - session
      required:
      - source
      - type
      type: object
    ImpersonationInfo:
      properties:
        adminUserUuid:
          type: string
        adminName:
          type: string
        impersonatedUserUuid:
          type: string
      required:
      - adminUserUuid
      - adminName
      - impersonatedUserUuid
      type: object
      additionalProperties: true
    Pick_Account.Exclude_keyofAccount.user-or-keyofAccountHelpers__:
      properties:
        organization:
          $ref: '#/components/schemas/Partial_Pick_Organization.name-or-createdAt-or-organizationUuid__'
        authentication:
          anyOf:
          - $ref: '#/components/schemas/SessionAuth'
          - $ref: '#/components/schemas/JwtAuth'
          - $ref: '#/components/schemas/ServiceAccountAuth'
          - $ref: '#/components/schemas/PersonalAccessTokenAuth'
          - $ref: '#/components/schemas/OauthAuth'
        requestContext:
          $ref: '#/components/schemas/AccountRequestContext'
      required:
      - organization
      - authentication
      type: object
      description: From T, pick a set of properties whose keys are in the union K
    AccountRequestContext:
      properties:
        requestId:
          type: string
        userAgent:
          type: string
        ip:
          type: string
      type: object
      description: 'Per-request metadata captured by the auth middleware. Used by the audit log

        to record the IP, user agent and request id alongside permission checks.'
    CommonEmbedJwtContent:
      properties:
        stickyHeader:
          type: boolean
        canViewDataApps:
          type: boolean
        canViewUnderlyingData:
          type: boolean
        canExplore:
          type: boolean
        canExportPagePdf:
          type: boolean
        canDateZoom:
          type: boolean
        canExportImages:
          type: boolean
        canExportCsv:
          type: boolean
        parameterInteractivity:
          properties:
            enabled:
              type: boolean
          required:
          - enabled
          type: object
        dashboardFiltersInteractivity:
          properties:
            hidden:
              type: boolean
            allowedFilters:
              items:
                type: string
              type:
              - array
              - 'null'
            enabled:
              anyOf:
              - $ref: '#/components/schemas/FilterInteractivityValues'
              - type: boolean
          required:
          - enabled
          type: object
        isPreview:
          type: boolean
        projectUuid:
          type: string
        type:
          type: string
          enum:
          - dashboard
      required:
      - type
      type: object
    CreateEmbedJwt:
      properties:
        exp:
          type: number
          format: double
        iat:
          type: number
          format: double
        expiresIn:
          type: string
        user:
          properties:
            externalId:
              type: string
            email:
              type: string
          type: object
        userAttributes:
          properties: {}
          additionalProperties:
            type: string
          type: object
        writeActions:
          $ref: '#/components/schemas/EmbedWriteActions'
        content:
          anyOf:
          - $ref: '#/components/schemas/EmbedJwtContentDashboardUuid'
          - $ref: '#/components/schemas/EmbedJwtContentDashboardSlug'
          - $ref: '#/components/schemas/EmbedJwtContentChart'
      required:
      - content
      type: object
    WarehouseTypes.TRINO:
      enum:
      - trino
      type: string
    FilterInteractivityValues:
      enum:
      - some
      - all
      - none
      type: string
    ActivateUser:
      properties:
        password:
          type: string
        lastName:
          type: string
        firstName:
          type: string
      required:
      - password
      - lastName
      - firstName
      type: object
    WarehouseTypes.DATABRICKS:
      enum:
      - databricks
      type: string
    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
      required:
      - error
      - status
      type: object
      description: 'The Error object is returned from the api any time there is an error.

        The message contains'
    ActivateUserWithInviteCode:
      allOf:
      - $ref: '#/components/schemas/ActivateUser'
      - properties:
          inviteCode:
            type: string
        required:
        - inviteCode
        type: object
    Pick_CreateAthenaCredentials.type_:
      properties:
        type:
          $ref: '#/components/schemas/WarehouseTypes.ATHENA'
      required:
      - type
      type: object
      description: From T, pick a set of properties whose keys are in the union K
    WarehouseTypes.BIGQUERY:
      enum:
      - bigquery
      type: string
    CreatePersonalAccessToken:
      allOf:
      - $ref: '#/components/schemas/Pick_PersonalAccessToken.expiresAt-or-description_'
      - properties:
          autoGenerated:
            type: boolean
        required:
        - autoGenerated
        type: object
    PersonalAccessTokenWithToken:
      allOf:
      - $ref: '#/components/schemas/PersonalAccessToken'
      - properties:
          token:
            type: string
        required:
        - token
        type: object
    url.URL:
      type: string
      description: 'The URL interface represents an object providing static methods used for creating object URLs.


        [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL)

        `URL` class is a global reference for `import { URL } from ''url''`

        https://nodejs.org/api/url.html#the-whatwg-url-api'
    Pick_CreateRedshiftCredentials.type-or-user-or-password_:
      properties:
        user:
          type: string
        type:
          $ref: '#/components/schemas/WarehouseTypes.REDSHIFT'
        password:
          type: string
      required:
      - user
      - type
      - password
      type: object
      description: From T, pick a set of properties whose keys are in the union K
    WarehouseTypes.DUCKDB:
      enum:
      - duckdb
      type: string
    Pick_CreateDuckdbCredentials.type_:
      properties:
        type:
          $ref: '#/components/schemas/WarehouseTypes.DUCKDB'
      required:
      - type
      type: object
      description: From T, pick a set of properties whose keys are in the union K
    BigqueryAuthenticationType:
      enum:
      - sso
      - private_key
      - adc
      type: string
    ApiGetLoginOptionsResponse:
      properties:
        results:
          $ref: '#/components/schemas/LoginOptions'
        status:
          type: string
          enum:
          - ok
      required:
      - results
      - status
      type: object
    ? Pick_CreateRedshiftCredentials-or-CreatePostgresCredentials-or-CreateSnowflakeCredentials-or-CreateTrinoCredentials-or-CreateClickhouseCredentials.type-or-user_
    : properties:
        user:
          type: string
        type:
          anyOf:
          - $ref: '#/components/schemas/WarehouseTypes.POSTGRES'
          - $ref: '#/components/schemas/WarehouseTypes.REDSHIFT'
          - $ref: '#/components/schemas/WarehouseTypes.SNOWFLAKE'
          - $ref: '#/components/schemas/WarehouseTypes.TRINO'
          - $ref: '#/components/schemas/WarehouseTypes.CLICKHOUSE'
      required:
      - user
      - type
      type: object
      description: From T, pick a set of properties whose keys are in the union K
    Pick_CreateDuckdbMotherduckCredentials.type-or-token_:
      properties:
        type:
          $ref: '#/components/schemas/WarehouseTypes.DUCKDB'
        token:
          type: string
      required:
      - type
      - token
      type: object
      description: From T, pick a set of properties whose keys are in the union K
    Partial_Pick_Organization.name-or-createdAt-or-organizationUuid__:
      properties:
        name:
          type: string
          description: The name of the organization
        createdAt:
          type: string
          format: date-time
        organizationUuid:
          type: string
          description: The unique identifier of the organization
          format: uuid
      type: object
      description: Make all properties in T optional
    ApiGetAuthenticatedUserResponse:
      properties:
        results:
          allOf:
          - $ref: '#/components/schemas/LightdashUser'
          - properties:
              impersonation:
                allOf:
                - $ref: '#/components/schemas/ImpersonationInfo'
            required:
            - impersonation
            type: object
        status:
          type: string
          enum:
          - ok
      required:
      - results
      - status
      type: object
      description: Shows the authenticated user
    ApiSuccessEmpty:
      properties:
        results: {}
        status:
          type: string
          enum:
          - ok
      requ

# --- truncated at 32 KB (44 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/lightdash/refs/heads/main/openapi/lightdash-my-account-api-openapi.yml