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 '