Lightdash User attributes API

The User attributes API from Lightdash — 2 operation(s) for user attributes.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

lightdash-user-attributes-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Lightdash AiAgents User attributes 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: User attributes
paths:
  /api/v1/org/attributes:
    get:
      operationId: getUserAttributes
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiUserAttributesResponse'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorPayload'
      description: Get all user attributes
      summary: List user attributes
      tags:
      - User attributes
      security: []
      parameters: []
    post:
      operationId: createUserAttribute
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiCreateUserAttributeResponse'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorPayload'
      description: Creates new user attribute
      summary: Create user attribute
      tags:
      - User attributes
      security: []
      parameters: []
      requestBody:
        description: the user attribute to create
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateUserAttribute'
              description: the user attribute to create
  /api/v1/org/attributes/{userAttributeUuid}:
    put:
      operationId: updateUserAttribute
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiCreateUserAttributeResponse'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorPayload'
      description: Updates a user attribute
      summary: Update user attribute
      tags:
      - User attributes
      security: []
      parameters:
      - description: the UUID for the group to add the user to
        in: path
        name: userAttributeUuid
        required: true
        schema:
          type: string
      requestBody:
        description: the user attribute to update
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateUserAttribute'
              description: the user attribute to update
    delete:
      operationId: removeUserAttribute
      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 a user attribute
      summary: Delete user attribute
      tags:
      - User attributes
      security: []
      parameters:
      - description: the user attribute UUID to remove
        in: path
        name: userAttributeUuid
        required: true
        schema:
          type: string
components:
  schemas:
    Pick_UserAttributeValue.Exclude_keyofUserAttributeValue.email__:
      properties:
        userUuid:
          type: string
        value:
          type: string
      required:
      - userUuid
      - value
      type: object
      description: From T, pick a set of properties whose keys are in the union K
    UserAttributeValue:
      properties:
        value:
          type: string
        email:
          type: string
        userUuid:
          type: string
      required:
      - value
      - email
      - userUuid
      type: object
    CreateUserAttribute:
      allOf:
      - $ref: '#/components/schemas/Pick_UserAttribute.name-or-description-or-attributeDefault_'
      - properties:
          groups:
            items:
              $ref: '#/components/schemas/CreateGroupAttributeValue'
            type: array
          users:
            items:
              $ref: '#/components/schemas/CreateUserAttributeValue'
            type: array
        required:
        - groups
        - users
        type: object
    UserAttribute:
      properties:
        attributeDefault:
          type: string
          nullable: true
        groups:
          items:
            $ref: '#/components/schemas/GroupAttributeValue'
          type: array
        users:
          items:
            $ref: '#/components/schemas/UserAttributeValue'
          type: array
        description:
          type: string
        organizationUuid:
          type: string
        name:
          type: string
        createdAt:
          type: string
          format: date-time
        uuid:
          type: string
      required:
      - attributeDefault
      - groups
      - users
      - organizationUuid
      - name
      - createdAt
      - uuid
      type: object
    ApiCreateUserAttributeResponse:
      properties:
        results:
          $ref: '#/components/schemas/UserAttribute'
        status:
          type: string
          enum:
          - ok
          nullable: false
      required:
      - results
      - status
      type: object
    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.'
    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'
    ApiSuccessEmpty:
      properties:
        results: {}
        status:
          type: string
          enum:
          - ok
          nullable: false
      required:
      - status
      type: object
    CreateUserAttributeValue:
      $ref: '#/components/schemas/Omit_UserAttributeValue.email_'
    ApiUserAttributesResponse:
      properties:
        results:
          items:
            $ref: '#/components/schemas/UserAttribute'
          type: array
        status:
          type: string
          enum:
          - ok
          nullable: false
      required:
      - results
      - status
      type: object
    GroupAttributeValue:
      properties:
        value:
          type: string
        groupUuid:
          type: string
      required:
      - value
      - groupUuid
      type: object
    Omit_UserAttributeValue.email_:
      $ref: '#/components/schemas/Pick_UserAttributeValue.Exclude_keyofUserAttributeValue.email__'
      description: Construct a type with the properties of T except for those in type K.
    Pick_UserAttribute.name-or-description-or-attributeDefault_:
      properties:
        description:
          type: string
        name:
          type: string
        attributeDefault:
          type: string
          nullable: true
      required:
      - name
      - attributeDefault
      type: object
      description: From T, pick a set of properties whose keys are in the union K
    CreateGroupAttributeValue:
      $ref: '#/components/schemas/GroupAttributeValue'
  securitySchemes:
    session_cookie:
      type: apiKey
      in: cookie
      name: connect.sid
    api_key:
      type: apiKey
      in: header
      name: Authorization
      description: Value should be 'ApiKey <your key>'