components:
  schemas:
    AttributeAssociationData:
      properties:
        attribute_id:
          title: Attribute Id
          type: string
        colormap_id:
          format: uuid
          title: Colormap Id
          type: string
      required:
      - attribute_id
      - colormap_id
      title: AttributeAssociationData
      type: object
    AttributeAssociationsData:
      properties:
        associations:
          items:
            $ref: '#/components/schemas/AttributeAssociationData'
          maxItems: 128
          minItems: 1
          title: Associations
          type: array
      required:
      - associations
      title: AttributeAssociationsData
      type: object
    AttributeColormapAssociation:
      properties:
        attribute_id:
          title: Attribute ID
          type: string
        colormap_id:
          format: uuid
          title: Colormap ID
          type: string
        colormap_uri:
          format: uri
          minLength: 1
          title: Colormap URI
          type: string
        created_at:
          format: date-time
          title: Created at
          type: string
        created_by:
          format: uuid
          title: Created by
          type: string
        id:
          format: uuid
          title: ID
          type: string
        modified_at:
          format: date-time
          title: Modified at
          type: string
        modified_by:
          format: uuid
          title: Modified by
          type: string
        self_link:
          format: uri
          minLength: 1
          title: Self link
          type: string
        workspace_id:
          format: uuid
          title: Workspace ID
          type: string
      required:
      - id
      - colormap_uri
      - colormap_id
      - workspace_id
      - self_link
      - attribute_id
      - created_at
      - created_by
      - modified_at
      - modified_by
      title: AttributeColormapAssociation
      type: object
    AttributeColormapAssociationList:
      properties:
        associations:
          items:
            $ref: '#/components/schemas/AttributeColormapAssociation'
          title: Associations
          type: array
      required:
      - associations
      title: AttributeColormapAssociationList
      type: object
    CategoryColormapData:
      properties:
        colors:
          description: An ordered list of RGB colors, containing between 1 and 16384
            colors. Each color is represented by three integer values (for Red, Green,
            and Blue) ranging from 0 to 255.
          items:
            items:
              maximum: 255.0
              minimum: 0.0
              type: integer
            maxItems: 3
            minItems: 3
            type: array
          maxItems: 16384
          minItems: 1
          title: Colors
          type: array
        dtype:
          default: category
          title: Dtype
          type: string
        map:
          items:
            type: string
          title: Map
          type: array
        name:
          title: Name
          type: string
      required:
      - name
      - colors
      - map
      title: CategoryColormapData
      type: object
    CategoryColormapResponse:
      properties:
        colors:
          description: An ordered list of RGB colors, containing between 1 and 16384
            colors. Each color is represented by three integer values (for Red, Green,
            and Blue) ranging from 0 to 255.
          items:
            items:
              maximum: 255.0
              minimum: 0.0
              type: integer
            maxItems: 3
            minItems: 3
            type: array
          maxItems: 16384
          minItems: 1
          title: Colors
          type: array
        created_at:
          format: date-time
          title: Created at
          type: string
        created_by:
          format: uuid
          title: Created by
          type: string
        id:
          format: uuid
          title: ID
          type: string
        map:
          description: String array mapping arbitrary strings to colors
          items:
            type: string
          title: Map
          type: array
        modified_at:
          format: date-time
          title: Modified at
          type: string
        modified_by:
          format: uuid
          title: Modified by
          type: string
        name:
          title: Name
          type: string
        schema:
          $ref: '#/components/schemas/ColormapTypeEnum'
        self_link:
          format: uri
          minLength: 1
          title: Self link
          type: string
      required:
      - id
      - name
      - self_link
      - schema
      - created_at
      - created_by
      - modified_at
      - modified_by
      - colors
      - map
      title: CategoryColormapResponse
      type: object
    ColormapResponseList:
      properties:
        colormaps:
          items:
            anyOf:
            - $ref: '#/components/schemas/CategoryColormapResponse'
            - $ref: '#/components/schemas/DiscreteColormapResponse'
            - $ref: '#/components/schemas/ContinuousColormapResponse'
          title: Colormaps
          type: array
      required:
      - colormaps
      title: ColormapResponseList
      type: object
    ColormapTypeEnum:
      enum:
      - continuous
      - category
      - discrete
      title: ColormapTypeEnum
      type: string
    ContinuousColormapData:
      properties:
        attribute_controls:
          items:
            type: number
          minItems: 2
          title: Attribute Controls
          type: array
        colors:
          description: An ordered list of RGB colors, containing between 2 and 1024
            colors. Each color is represented by three integer values (for Red, Green,
            and Blue) ranging from 0 to 255.
          items:
            items:
              maximum: 255.0
              minimum: 0.0
              type: integer
            maxItems: 3
            minItems: 3
            type: array
          maxItems: 1024
          minItems: 2
          title: Colors
          type: array
        dtype:
          default: continuous
          title: Dtype
          type: string
        gradient_controls:
          items:
            type: number
          minItems: 2
          title: Gradient Controls
          type: array
        name:
          title: Name
          type: string
      required:
      - name
      - colors
      - attribute_controls
      - gradient_controls
      title: ContinuousColormapData
      type: object
    ContinuousColormapResponse:
      properties:
        attribute_controls:
          description: List of ordered attribute values for gradient curve
          items:
            type: number
          minItems: 1
          title: Attribute controls
          type: array
        colors:
          description: An ordered list of RGB colors, containing between 2 and 1024
            colors. Each color is represented by three integer values (for Red, Green,
            and Blue) ranging from 0 to 255.
          items:
            items:
              maximum: 255.0
              minimum: 0.0
              type: integer
            maxItems: 3
            minItems: 3
            type: array
          maxItems: 1024
          minItems: 2
          title: Colors
          type: array
        created_at:
          format: date-time
          title: Created at
          type: string
        created_by:
          format: uuid
          title: Created by
          type: string
        gradient_controls:
          description: List of gradient positions for gradient curve, floats between
            0 and 1
          items:
            type: number
          minItems: 1
          title: Gradient controls
          type: array
        id:
          format: uuid
          title: ID
          type: string
        modified_at:
          format: date-time
          title: Modified at
          type: string
        modified_by:
          format: uuid
          title: Modified by
          type: string
        name:
          title: Name
          type: string
        schema:
          $ref: '#/components/schemas/ColormapTypeEnum'
        self_link:
          format: uri
          minLength: 1
          title: Self link
          type: string
      required:
      - id
      - name
      - self_link
      - schema
      - created_at
      - created_by
      - modified_at
      - modified_by
      - colors
      - attribute_controls
      - gradient_controls
      title: ContinuousColormapResponse
      type: object
    DiscreteColormapData:
      properties:
        colors:
          description: An ordered list of RGB colors, containing between 1 and 1024
            colors. Each color is represented by three integer values (for Red, Green,
            and Blue) ranging from 0 to 255.
          items:
            items:
              maximum: 255.0
              minimum: 0.0
              type: integer
            maxItems: 3
            minItems: 3
            type: array
          maxItems: 1024
          minItems: 1
          title: Colors
          type: array
        dtype:
          default: discrete
          title: Dtype
          type: string
        end_inclusive:
          items:
            type: boolean
          title: End Inclusive
          type: array
        end_points:
          items:
            type: number
          title: End Points
          type: array
        name:
          title: Name
          type: string
      required:
      - name
      - colors
      - end_points
      - end_inclusive
      title: DiscreteColormapData
      type: object
    DiscreteColormapResponse:
      properties:
        colors:
          description: An ordered list of RGB colors, containing between 1 and 1024
            colors. Each color is represented by three integer values (for Red, Green,
            and Blue) ranging from 0 to 255.
          items:
            items:
              maximum: 255.0
              minimum: 0.0
              type: integer
            maxItems: 3
            minItems: 3
            type: array
          maxItems: 1024
          minItems: 1
          title: Colors
          type: array
        created_at:
          format: date-time
          title: Created at
          type: string
        created_by:
          format: uuid
          title: Created by
          type: string
        end_inclusive:
          description: Boolean array indicating whether to include the endpoint in
            the bucket or not
          items:
            type: boolean
          title: End inclusive
          type: array
        end_points:
          description: List of colormap bucket endpoints, must be one fewer than the
            number of colors
          items:
            type: number
          title: End points
          type: array
        id:
          format: uuid
          title: ID
          type: string
        modified_at:
          format: date-time
          title: Modified at
          type: string
        modified_by:
          format: uuid
          title: Modified by
          type: string
        name:
          title: Name
          type: string
        schema:
          $ref: '#/components/schemas/ColormapTypeEnum'
        self_link:
          format: uri
          minLength: 1
          title: Self link
          type: string
      required:
      - id
      - name
      - self_link
      - schema
      - created_at
      - created_by
      - modified_at
      - modified_by
      - colors
      - end_points
      - end_inclusive
      title: DiscreteColormapResponse
      type: object
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          title: Detail
          type: array
      title: HTTPValidationError
      type: object
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          title: Location
          type: array
        msg:
          title: Message
          type: string
        type:
          title: Error Type
          type: string
      required:
      - loc
      - msg
      - type
      title: ValidationError
      type: object
  securitySchemes:
    HTTPBearer:
      scheme: bearer
      type: http
info:
  description: "\n        The Evo Colormap API allows you to create and manage colormaps,\
    \ and associate them to attributes.\n"
  title: Colormap API
  version: '1.0'
openapi: 3.1.0
paths:
  /colormap/orgs/{org_id}/workspaces/{workspace_id}/colormaps:
    get:
      description: Get a list of all colormaps for a specified workspace and organization.
      operationId: getColormapCollection
      parameters:
      - in: path
        name: org_id
        required: true
        schema:
          format: uuid
          title: Org Id
          type: string
      - in: path
        name: workspace_id
        required: true
        schema:
          format: uuid
          title: Workspace Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ColormapResponseList'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List colormaps
      tags:
      - Colormaps
    post:
      description: Create a new colormap for a specified workspace and organization.
        You may choose from either a continuous, discrete, or category colormap.
      operationId: postColormap
      parameters:
      - in: path
        name: org_id
        required: true
        schema:
          format: uuid
          title: Org Id
          type: string
      - in: path
        name: workspace_id
        required: true
        schema:
          format: uuid
          title: Workspace Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              anyOf:
              - $ref: '#/components/schemas/ContinuousColormapData'
              - $ref: '#/components/schemas/DiscreteColormapData'
              - $ref: '#/components/schemas/CategoryColormapData'
              title: Colormap Data
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/ContinuousColormapResponse'
                - $ref: '#/components/schemas/CategoryColormapResponse'
                - $ref: '#/components/schemas/DiscreteColormapResponse'
                title: Response Postcolormap
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create colormap
      tags:
      - Colormaps
  /colormap/orgs/{org_id}/workspaces/{workspace_id}/colormaps/{colormap_id}:
    get:
      description: Get a colormap by its ID, for a specified workspace and organization.
      operationId: getColormapById
      parameters:
      - in: path
        name: org_id
        required: true
        schema:
          format: uuid
          title: Org Id
          type: string
      - in: path
        name: workspace_id
        required: true
        schema:
          format: uuid
          title: Workspace Id
          type: string
      - in: path
        name: colormap_id
        required: true
        schema:
          format: uuid
          title: Colormap Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/ContinuousColormapResponse'
                - $ref: '#/components/schemas/CategoryColormapResponse'
                - $ref: '#/components/schemas/DiscreteColormapResponse'
                title: Response Getcolormapbyid
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get colormap by ID
      tags:
      - Colormaps
  /colormap/orgs/{org_id}/workspaces/{workspace_id}/objects/{object_id}/associations:
    get:
      description: Get a list of all object attribute associations for a specified
        workspace and organization.
      operationId: getAssociationCollection
      parameters:
      - in: path
        name: org_id
        required: true
        schema:
          format: uuid
          title: Org Id
          type: string
      - in: path
        name: workspace_id
        required: true
        schema:
          format: uuid
          title: Workspace Id
          type: string
      - in: path
        name: object_id
        required: true
        schema:
          format: uuid
          title: Object Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttributeColormapAssociationList'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List object attribute associations
      tags:
      - Associations
    post:
      description: Create a new association for a colormap to an object attribute.
      operationId: postAssociation
      parameters:
      - in: path
        name: org_id
        required: true
        schema:
          format: uuid
          title: Org Id
          type: string
      - in: path
        name: workspace_id
        required: true
        schema:
          format: uuid
          title: Workspace Id
          type: string
      - in: path
        name: object_id
        required: true
        schema:
          format: uuid
          title: Object Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AttributeAssociationData'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttributeColormapAssociation'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create object attribute association
      tags:
      - Associations
  /colormap/orgs/{org_id}/workspaces/{workspace_id}/objects/{object_id}/associations/batch:
    post:
      description: Create new associations for a colormap to multiple object attributes.
      operationId: postBatchAssociations
      parameters:
      - in: path
        name: org_id
        required: true
        schema:
          format: uuid
          title: Org Id
          type: string
      - in: path
        name: workspace_id
        required: true
        schema:
          format: uuid
          title: Workspace Id
          type: string
      - in: path
        name: object_id
        required: true
        schema:
          format: uuid
          title: Object Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AttributeAssociationsData'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttributeColormapAssociationList'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create multiple object attribute associations
      tags:
      - Associations
  /colormap/orgs/{org_id}/workspaces/{workspace_id}/objects/{object_id}/associations/{association_id}:
    get:
      description: Returns a specified object attribute association by its ID, for
        a specified workspace and organization.
      operationId: getAssociationById
      parameters:
      - in: path
        name: org_id
        required: true
        schema:
          format: uuid
          title: Org Id
          type: string
      - in: path
        name: workspace_id
        required: true
        schema:
          format: uuid
          title: Workspace Id
          type: string
      - in: path
        name: object_id
        required: true
        schema:
          format: uuid
          title: Object Id
          type: string
      - in: path
        name: association_id
        required: true
        schema:
          format: uuid
          title: Association Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttributeColormapAssociation'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get attribute association by ID
      tags:
      - Associations
tags:
- description: Endpoints used to manage and create colormaps for workspaces and organizations
  name: Colormaps
- description: Endpoints used to retrieve and manage attribute associations to colormaps
  name: Associations
