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

# Enrich On-Demand

> Synchronously enrich an indicator against all configured providers.

Results are returned cache-first. Each provider entry in the response
includes `cache_hit: true` when the result was served from cache rather
than a live API call.



## OpenAPI

````yaml POST /v1/enrichments
openapi: 3.1.0
info:
  title: Calseta
  description: SOC data platform for security agent consumption
  version: dev
servers: []
security: []
paths:
  /v1/enrichments:
    post:
      tags:
        - enrichments
      summary: Enrich an indicator on-demand
      description: |-
        Synchronously enrich an indicator against all configured providers.

        Results are returned cache-first. Each provider entry in the response
        includes `cache_hit: true` when the result was served from cache rather
        than a live API call.
      operationId: enrich_on_demand_v1_enrichments_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OnDemandEnrichmentRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataResponse_OnDemandEnrichmentResponse_'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    OnDemandEnrichmentRequest:
      properties:
        type:
          $ref: '#/components/schemas/IndicatorType'
        value:
          type: string
          title: Value
      type: object
      required:
        - type
        - value
      title: OnDemandEnrichmentRequest
      description: |-
        Request body for POST /v1/enrichments.

        Accepts either {type, value} or {indicator_type, indicator_value}.
    DataResponse_OnDemandEnrichmentResponse_:
      properties:
        data:
          $ref: '#/components/schemas/OnDemandEnrichmentResponse'
        meta:
          additionalProperties: true
          type: object
          title: Meta
      type: object
      required:
        - data
      title: DataResponse[OnDemandEnrichmentResponse]
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    IndicatorType:
      type: string
      enum:
        - ip
        - domain
        - hash_md5
        - hash_sha1
        - hash_sha256
        - url
        - email
        - account
      title: IndicatorType
      description: Supported indicator-of-compromise (IOC) types.
    OnDemandEnrichmentResponse:
      properties:
        type:
          $ref: '#/components/schemas/IndicatorType'
        value:
          type: string
          title: Value
        results:
          additionalProperties:
            $ref: '#/components/schemas/OnDemandEnrichmentResult'
          type: object
          title: Results
        enriched_at:
          type: string
          format: date-time
          title: Enriched At
      type: object
      required:
        - type
        - value
        - results
        - enriched_at
      title: OnDemandEnrichmentResponse
      description: Response body for POST /v1/enrichments.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    OnDemandEnrichmentResult:
      properties:
        status:
          $ref: '#/components/schemas/app__schemas__enrichment__EnrichmentStatus'
        success:
          type: boolean
          title: Success
        extracted:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Extracted
        enriched_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Enriched At
        error_message:
          anyOf:
            - type: string
            - type: 'null'
          title: Error Message
        cache_hit:
          type: boolean
          title: Cache Hit
          default: false
      type: object
      required:
        - status
        - success
      title: OnDemandEnrichmentResult
      description: Per-provider result in the on-demand enrichment response.
    app__schemas__enrichment__EnrichmentStatus:
      type: string
      enum:
        - success
        - failed
        - skipped
      title: EnrichmentStatus

````