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

# Discover the queryable details$ fields for a technology or technology group

> Returns the queryable `details$.` fields for one technology or technology group.

These fields are per-technology and are NOT part of any schema in this document, so this endpoint is the
only source of truth for them. Call it before building a component policy or a `details$.` component
query, and use the returned `field` paths verbatim - a path that is not returned does not exist and is
rejected with a 400 when the policy is created.

The response `type` tells you which comparison values are valid for a field, and `availableValues`, when
present, enumerates the only accepted values. `filterable` tells you whether the field is indexed - an
un-indexed field exists on the component but cannot be filtered on in a component query.



## OpenAPI

````yaml https://api.draftt.io/swagger post /component/detailsSchema
openapi: 3.1.0
info:
  title: Draftt API
  version: 0.2.1
servers:
  - url: https://api.draftt.io/v1
security:
  - BearerAuth: []
paths:
  /component/detailsSchema:
    post:
      tags:
        - Component
      summary: >-
        Discover the queryable details$ fields for a technology or technology
        group
      description: >-
        Returns the queryable `details$.` fields for one technology or
        technology group.


        These fields are per-technology and are NOT part of any schema in this
        document, so this endpoint is the

        only source of truth for them. Call it before building a component
        policy or a `details$.` component

        query, and use the returned `field` paths verbatim - a path that is not
        returned does not exist and is

        rejected with a 400 when the policy is created.


        The response `type` tells you which comparison values are valid for a
        field, and `availableValues`, when

        present, enumerates the only accepted values. `filterable` tells you
        whether the field is indexed - an

        un-indexed field exists on the component but cannot be filtered on in a
        component query.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ComponentDetailsSchemaRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ComponentDetailsSchemaResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          description: >-
            The key has no queryable detail fields. The response message lists
            the accepted keys.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
components:
  schemas:
    ComponentDetailsSchemaRequest:
      type: object
      description: >-
        Selects which set of queryable `details$.` fields to return. Pass
        exactly one key, as either a

        technology or a technology group.


        Passing a technology returns its own fields unioned with the fields of
        the group it belongs to - so

        `rds` includes the shared `database` fields. Passing a group returns
        only that group's fields.


        Keys not listed here have no queryable detail fields and are rejected
        with a 404.
      properties:
        technology:
          description: A specific technology, e.g. `rds` or `aws-s3-bucket`.
          type: string
          enum:
            - aws-acm-pca
            - aws-api-gateway-rest-api
            - aws-auto-scaling-group
            - aws-clb
            - aws-cloudfront-distribution
            - aws-dynamodb-backup
            - aws-ebs-snapshot
            - aws-ebs-volume
            - aws-efs-file-system
            - aws-elastic-ip-address-eip
            - aws-elb
            - aws-iam-group
            - aws-iam-role
            - aws-kms-key
            - aws-nat-gateway
            - aws-organizations-account
            - aws-organizations-organization
            - aws-organizations-organizational-unit-ou
            - aws-redshift-cluster
            - aws-redshift-node
            - aws-route-53-hosted-zone
            - aws-s3-bucket
            - aws-secrets-manager-secret
            - aws-security-group
            - aws-sqs-queue
            - aws-subnet
            - aws-vpc
            - aws-vpc-endpoint-gateway
            - aws-vpc-endpoint-interface
            - azure-ai-model
            - azure-app-service-web-app
            - azure-application-gateway
            - azure-cosmos-db
            - azure-cosmos-db-for-postgresql-cluster
            - azure-data-lake-storage-gen2
            - azure-databricks-workspace
            - azure-db
            - azure-db-mysql-flexible
            - azure-db-postgres-flexible
            - azure-db-sql-managed-database
            - azure-db-sql-managed-instance
            - azure-db-sql-server-on-vm
            - azure-dns-zone-private
            - azure-dns-zone-public
            - azure-firewall
            - azure-front-door
            - azure-function-app
            - azure-key-vault
            - azure-load-balancer
            - azure-log-analytics-workspace
            - azure-management-group
            - azure-monitor-action-group
            - azure-nat-gateway
            - azure-network-security-group
            - azure-private-endpoint
            - azure-public-ip-address
            - azure-resource-group
            - azure-storage-account
            - azure-storage-account-blob-container
            - azure-subscription
            - azure-user-assigned-managed-identity
            - azure-virtual-network
            - azure-virtual-network-subnet
            - azure-vm
            - azure-vm-managed-disk
            - azure-vm-scale-set
            - azure-waf-policy
            - dynamodb
            - ec2
            - ecr
            - ecs
            - elasticache
            - gcp-cloud-armor-policy
            - gcp-cloud-logging-bucket
            - gcp-cloud-logging-sink
            - gcp-gce-persistent-disk
            - gcp-gcs-bucket
            - gcp-kms-crypto-key
            - gcp-organization
            - gcp-project
            - gcp-secret-manager-secret
            - gcp-service-account
            - gcp-service-account-key
            - gcp-vpc-firewall-rule
            - gcp-vpc-network
            - gemini-enterprise
            - iam-access-key
            - k8s
            - lambda
            - rds
        technologyGroup:
          description: A group shared by several technologies, e.g. `database`.
          type: string
          enum:
            - ai-model
            - container-image
            - container-image-digest
            - container-image-registry
            - container-image-repository
            - database
            - messaging
            - network
            - serverless-function
      oneOf:
        - required:
            - technology
        - required:
            - technologyGroup
      additionalProperties: false
      examples:
        - technology: rds
        - technology: aws-s3-bucket
        - technologyGroup: database
    ComponentDetailsSchemaResponse:
      type: object
      properties:
        resource:
          type: string
          enum:
            - component
        key:
          type: string
          description: The key the fields were resolved for, echoing the request.
        technologyTypes:
          type: array
          description: >-
            The specific technology types that belong to this technology,
            including both the type key and display name (e.g. rds-postgres /
            Amazon RDS PostgreSQL for rds). Present only when the request
            specifies a technology (not a technology group).
          items:
            type: object
            properties:
              key:
                type: string
                enum:
                  - aks
                  - ami
                  - application
                  - aws-acm-pca
                  - aws-api-gateway-rest-api
                  - aws-auto-scaling-group
                  - aws-clb
                  - aws-cloudfront-distribution
                  - aws-dynamodb-backup
                  - aws-ebs-snapshot
                  - aws-ebs-volume
                  - aws-efs-file-system
                  - aws-elastic-ip-address-eip
                  - aws-iam-group
                  - aws-iam-role
                  - aws-kms-key
                  - aws-lambda-container
                  - aws-lambda-custom-runtime
                  - aws-lambda-dotnet
                  - aws-lambda-dotnetcore
                  - aws-lambda-go
                  - aws-lambda-image
                  - aws-lambda-java
                  - aws-lambda-nodejs
                  - aws-lambda-provided
                  - aws-lambda-providedal
                  - aws-lambda-python
                  - aws-lambda-ruby
                  - aws-nat-gateway
                  - aws-organizations-account
                  - aws-organizations-organization
                  - aws-organizations-organizational-unit-ou
                  - aws-redshift-cluster
                  - aws-redshift-node
                  - aws-route-53-hosted-zone
                  - aws-s3-bucket
                  - aws-secrets-manager-secret
                  - aws-security-group
                  - aws-sqs-queue
                  - aws-subnet
                  - aws-vpc
                  - aws-vpc-endpoint-gateway
                  - aws-vpc-endpoint-interface
                  - azure-ai-foundry-ai21labs-jamba-instruct
                  - azure-ai-foundry-ai21labs-jamba-large
                  - azure-ai-foundry-ai21labs-jamba-mini
                  - azure-ai-foundry-alibaba-qwen-32b
                  - azure-ai-foundry-anthropic-claude-haiku
                  - azure-ai-foundry-anthropic-claude-opus
                  - azure-ai-foundry-anthropic-claude-sonnet
                  - azure-ai-foundry-blackforestlabs-flux-pro
                  - azure-ai-foundry-bria-fast
                  - azure-ai-foundry-cohere-command
                  - azure-ai-foundry-cohere-command-fast
                  - azure-ai-foundry-cohere-command-plus
                  - azure-ai-foundry-cohere-command-pro
                  - azure-ai-foundry-cohere-embed
                  - azure-ai-foundry-cohere-embed-multimodal
                  - azure-ai-foundry-core42-jais-30b-chat
                  - azure-ai-foundry-deepseek
                  - azure-ai-foundry-deepseek-reasoning
                  - azure-ai-foundry-finetune-microsoft-phi
                  - azure-ai-foundry-finetune-mistral-large
                  - azure-ai-foundry-finetune-mistral-ministral-mini
                  - azure-ai-foundry-finetune-openai-gpt
                  - azure-ai-foundry-finetune-openai-gpt-mini
                  - azure-ai-foundry-finetune-openai-gpt-nano
                  - azure-ai-foundry-finetune-openai-gpt-omni
                  - azure-ai-foundry-finetune-openai-gpt-omni-mini
                  - azure-ai-foundry-finetune-openai-o-series-mini
                  - azure-ai-foundry-gretel
                  - azure-ai-foundry-meta-llama-11b-vision-instruct
                  - azure-ai-foundry-meta-llama-405b-instruct
                  - azure-ai-foundry-meta-llama-70b-instruct
                  - azure-ai-foundry-meta-llama-8b-instruct
                  - azure-ai-foundry-meta-llama-90b-vision-instruct
                  - azure-ai-foundry-meta-llama-maverick-17b-instruct
                  - azure-ai-foundry-meta-llama-scout-17b-instruct
                  - azure-ai-foundry-microsoft-phi
                  - azure-ai-foundry-microsoft-phi-medium-instruct
                  - azure-ai-foundry-microsoft-phi-mini-instruct
                  - azure-ai-foundry-microsoft-phi-mini-reasoning
                  - azure-ai-foundry-microsoft-phi-moe-instruct
                  - azure-ai-foundry-microsoft-phi-multimodal-instruct
                  - azure-ai-foundry-microsoft-phi-reasoning
                  - azure-ai-foundry-microsoft-phi-small-instruct
                  - azure-ai-foundry-microsoft-phi-vision-instruct
                  - azure-ai-foundry-mistral
                  - azure-ai-foundry-mistral-codestral-code
                  - azure-ai-foundry-mistral-document
                  - azure-ai-foundry-mistral-large
                  - azure-ai-foundry-mistral-medium
                  - azure-ai-foundry-mistral-ministral-mini
                  - azure-ai-foundry-mistral-small
                  - azure-ai-foundry-moonshotai-kimi
                  - azure-ai-foundry-openai-codex-mini
                  - azure-ai-foundry-openai-computer-use
                  - azure-ai-foundry-openai-dall
                  - azure-ai-foundry-openai-gpt
                  - azure-ai-foundry-openai-gpt-120b
                  - azure-ai-foundry-openai-gpt-audio
                  - azure-ai-foundry-openai-gpt-chat
                  - azure-ai-foundry-openai-gpt-code
                  - azure-ai-foundry-openai-gpt-mini
                  - azure-ai-foundry-openai-gpt-mini-audio
                  - azure-ai-foundry-openai-gpt-mini-code
                  - azure-ai-foundry-openai-gpt-mini-realtime
                  - azure-ai-foundry-openai-gpt-nano
                  - azure-ai-foundry-openai-gpt-omni
                  - azure-ai-foundry-openai-gpt-omni-audio
                  - azure-ai-foundry-openai-gpt-omni-mini
                  - azure-ai-foundry-openai-gpt-omni-mini-realtime
                  - azure-ai-foundry-openai-gpt-omni-mini-transcribe-audio
                  - azure-ai-foundry-openai-gpt-omni-realtime
                  - azure-ai-foundry-openai-gpt-omni-transcribe-audio
                  - azure-ai-foundry-openai-gpt-omni-transcribe-diarize-audio
                  - azure-ai-foundry-openai-gpt-pro
                  - azure-ai-foundry-openai-gpt-realtime
                  - azure-ai-foundry-openai-gpt-turbo
                  - azure-ai-foundry-openai-gpt-turbo-instruct
                  - azure-ai-foundry-openai-gpt-vision
                  - azure-ai-foundry-openai-legacy
                  - azure-ai-foundry-openai-o-series
                  - azure-ai-foundry-openai-o-series-mini
                  - azure-ai-foundry-openai-o-series-pro
                  - azure-ai-foundry-openai-router
                  - azure-ai-foundry-openai-sora
                  - azure-ai-foundry-openai-text-embedding
                  - azure-ai-foundry-openai-text-embedding-large
                  - azure-ai-foundry-openai-text-embedding-small
                  - azure-ai-foundry-openai-tts-audio
                  - azure-ai-foundry-openai-whisper
                  - azure-ai-foundry-xai-grok
                  - azure-ai-foundry-xai-grok-fast
                  - azure-ai-foundry-xai-grok-fast-code
                  - azure-ai-foundry-xai-grok-fast-reasoning
                  - azure-ai-foundry-xai-grok-mini
                  - azure-ai-model
                  - azure-app-service-web-app-dotnet
                  - azure-app-service-web-app-java
                  - azure-app-service-web-app-node
                  - azure-app-service-web-app-php
                  - azure-app-service-web-app-python
                  - azure-application-gateway-basic
                  - azure-application-gateway-standard
                  - azure-application-gateway-waf
                  - azure-cosmos-db-cassandra
                  - azure-cosmos-db-for-postgresql-cluster
                  - azure-cosmos-db-gremlin
                  - azure-cosmos-db-mongo-db
                  - azure-cosmos-db-nosql
                  - azure-cosmos-db-table
                  - azure-data-lake-storage-gen2
                  - azure-databricks-workspace
                  - azure-db-mysql-flexible
                  - azure-db-postgres-flexible
                  - azure-db-sql-managed-database
                  - azure-db-sql-managed-instance
                  - azure-db-sql-server-on-vm
                  - azure-dns-zone-private
                  - azure-dns-zone-public
                  - azure-firewall
                  - azure-front-door-classic
                  - azure-front-door-premium
                  - azure-front-door-standard
                  - azure-function-app-docker
                  - azure-function-app-dotnet
                  - azure-function-app-java
                  - azure-function-app-node
                  - azure-function-app-nodejs
                  - azure-function-app-php
                  - azure-function-app-powershell
                  - azure-function-app-python
                  - azure-key-vault
                  - azure-load-balancer-basic
                  - azure-load-balancer-gateway
                  - azure-load-balancer-standard
                  - azure-log-analytics-workspace
                  - azure-managed-disk
                  - azure-management-group
                  - azure-monitor-action-group
                  - azure-mysql-flexible
                  - azure-nat-gateway
                  - azure-network-security-group
                  - azure-postgresql-flexible
                  - azure-private-endpoint
                  - azure-public-ip-address
                  - azure-resource-group
                  - azure-sql-server-on-vm
                  - azure-storage-account
                  - azure-storage-account-blob
                  - azure-storage-account-blob-container
                  - azure-storage-account-block-blob
                  - azure-storage-account-file
                  - azure-subscription
                  - azure-user-assigned-managed-identity
                  - azure-virtual-network
                  - azure-virtual-network-subnet
                  - azure-vm-almalinux
                  - azure-vm-arch-linux
                  - azure-vm-azure-linux
                  - azure-vm-centos
                  - azure-vm-cisco-ios-xe
                  - azure-vm-debian
                  - azure-vm-fedora
                  - azure-vm-flatcar
                  - azure-vm-forti-auth
                  - azure-vm-freebsd
                  - azure-vm-kali-linux
                  - azure-vm-opensuse
                  - azure-vm-oracle-linux
                  - azure-vm-rhel
                  - azure-vm-rocky-linux
                  - azure-vm-scale-set-linux
                  - azure-vm-scale-set-windows
                  - azure-vm-sles
                  - azure-vm-ubuntu
                  - azure-vm-windows-desktop-enterprise-ga
                  - azure-vm-windows-desktop-enterprise-ltsc
                  - azure-vm-windows-desktop-pro
                  - azure-vm-windows-server
                  - azure-waf-policy
                  - dynamodb
                  - ec2-almalinux
                  - ec2-amazon-linux
                  - ec2-arch-linux
                  - ec2-azure-linux
                  - ec2-centos
                  - ec2-cisco-ios-xe
                  - ec2-debian
                  - ec2-fedora
                  - ec2-flatcar
                  - ec2-forti-auth
                  - ec2-freebsd
                  - ec2-kali-linux
                  - ec2-opensuse
                  - ec2-oracle-linux
                  - ec2-rhel
                  - ec2-rocky-linux
                  - ec2-sles
                  - ec2-ubuntu
                  - ec2-windows-desktop-enterprise-ga
                  - ec2-windows-desktop-enterprise-ltsc
                  - ec2-windows-desktop-pro
                  - ec2-windows-server
                  - ecr
                  - ecr-image-cucumber
                  - ecr-image-dotnet
                  - ecr-image-dotnet-framework
                  - ecr-image-golang
                  - ecr-image-java
                  - ecr-image-nodejs
                  - ecr-image-php
                  - ecr-image-playwright
                  - ecr-image-python
                  - ecs-cluster
                  - ecs-service
                  - eks
                  - elasticache-memcached
                  - elasticache-redis
                  - elasticache-valkey
                  - gateway
                  - gcp-cloud-armor-policy
                  - gcp-cloud-logging-bucket
                  - gcp-cloud-logging-sink
                  - gcp-gce-persistent-disk
                  - gcp-gcs-bucket
                  - gcp-gemini-enterprise-google-gecko-embedding
                  - gcp-gemini-enterprise-google-gemini-chat
                  - gcp-gemini-enterprise-google-gemini-fast-chat
                  - gcp-gemini-enterprise-google-gemini-flash-chat
                  - gcp-gemini-enterprise-google-gemini-flash-lite-chat
                  - gcp-gemini-enterprise-google-gemini-flash-lite-image
                  - gcp-gemini-enterprise-google-gemini-image
                  - gcp-gemini-enterprise-google-gemini-lite-chat
                  - gcp-gemini-enterprise-google-gemini-live-audio
                  - gcp-gemini-enterprise-google-gemini-pro-chat
                  - gcp-gemini-enterprise-google-gemini-pro-image
                  - gcp-gemini-enterprise-google-gemini-ultra-chat
                  - gcp-gemini-enterprise-google-gemini-vision-multimodal
                  - gcp-gemini-enterprise-google-imagen-generate
                  - gcp-gemini-enterprise-google-imagen-image
                  - gcp-gemini-enterprise-google-multimodal-embedding
                  - gcp-gemini-enterprise-google-palm-chat
                  - gcp-gemini-enterprise-google-palm-code
                  - gcp-gemini-enterprise-google-palm-completion
                  - gcp-gemini-enterprise-google-text-embedding
                  - gcp-gemini-enterprise-google-text-embedding-multilingual
                  - gcp-gemini-enterprise-google-text-embedding-text
                  - gcp-gemini-enterprise-google-veo-video
                  - gcp-gemini-enterprise-google-virtual-try-on-image
                  - gcp-kms-crypto-key
                  - gcp-organization
                  - gcp-project
                  - gcp-secret-manager-secret
                  - gcp-service-account
                  - gcp-service-account-key
                  - gcp-vpc-firewall-rule
                  - gcp-vpc-network
                  - gke
                  - iam-access-key
                  - network
                  - rds-aurora-mysql
                  - rds-aurora-postgresql
                  - rds-aurora-postgresql-limitless
                  - rds-mariadb
                  - rds-mysql
                  - rds-oracle-ee
                  - rds-oracle-se2
                  - rds-postgres
                  - rds-sqlserver-dev-ee
                  - rds-sqlserver-ee
                  - rds-sqlserver-ex
                  - rds-sqlserver-se
                  - rds-sqlserver-web
              displayName:
                type: string
            required:
              - key
              - displayName
        fields:
          type: array
          description: >-
            Every queryable detail field for the key. This is the complete set -
            a `details$.` path that is not listed does not exist and cannot be
            filtered on.
          items:
            $ref: '#/components/schemas/ComponentDetailsSchemaField'
      required:
        - resource
        - key
        - fields
      example:
        resource: component
        key: rds
        technologyTypes:
          - key: rds-mysql
            displayName: Amazon RDS MySQL
          - key: rds-postgres
            displayName: Amazon RDS PostgreSQL
        fields:
          - field: details$.database$.storageEncrypted
            displayName: Storage Encrypted
            type: string
            filterable: false
            sortable: false
          - field: details$.database$.activeConnectionCount
            displayName: Active Connection Count
            type: number
            description: Number of active database connections
            filterable: true
            sortable: true
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            message:
              type: string
          required:
            - message
      required:
        - error
    ComponentDetailsSchemaField:
      type: object
      description: One queryable detail field.
      properties:
        field:
          type: string
          description: >-
            The flat queryable path. Use this verbatim as a filter key in a
            policy rule or a component query - e.g.
            `details$.database$.storageEncrypted`.
        displayName:
          type: string
          description: Human-readable label. Never use this as a filter key.
        type:
          type: string
          description: >-
            The value type this field holds. Comparison values must match it -
            filtering a `number` field with a boolean is rejected with a 400.
            Currently one of `string`, `number`, `boolean` or `date`; treat it
            as an open set, since it is taken from the technology registry
            rather than a fixed list.
        description:
          type: string
          description: >-
            Present only when the registry carries a tooltip for the field.
            Explanatory text - never use it as a filter key.
        availableValues:
          type: array
          items:
            type: string
          description: >-
            Present only for enum-like fields. When present these are the only
            valid comparison values for the field.
        filterable:
          type: boolean
          description: >-
            Whether the field is indexed for filtering. `false` means the path
            exists on the component but is not backed by an index, so filtering
            on it in a query is not supported.
        sortable:
          type: boolean
          description: Whether the field can be used as a sort key.
        itemFields:
          type: array
          description: >-
            Present only for array-of-object fields. Lists the top-level fields
            of each element, to be combined with an array element selector when
            addressing one element.
          items:
            $ref: '#/components/schemas/ComponentDetailsSchemaItemField'
      required:
        - field
        - displayName
        - type
        - filterable
        - sortable
    ComponentDetailsSchemaItemField:
      type: object
      description: One top-level field of an array element.
      properties:
        field:
          type: string
          description: The field name within the array item, not a full queryable path.
        type:
          type: string
          description: The value type the item field holds.
        availableValues:
          type: array
          items:
            type: string
          description: >-
            Present only for enum-like item fields. When present these are the
            only valid comparison values for the item field.
      required:
        - field
        - type
  responses:
    BadRequest:
      description: Bad Request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Forbidden:
      description: Forbidden
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    TooManyRequests:
      description: Too Many Requests
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    InternalServerError:
      description: Internal Server Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer

````

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