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

# Check which obligations potentially apply to an entity profile



## OpenAPI

````yaml /openapi.json post /api/v1/domain-packs/{pack_id}/applicability-check
openapi: 3.1.0
info:
  title: Esheria Regulatory API
  version: 1.0.0
  description: >-
    Citation-backed regulatory pack API for pack discovery, obligations,
    applicability checks, version history, diffs, change events, evidence
    requirements, filing rules, penalty facts, legal review audit metadata,
    graph queries, and claim verification.
servers:
  - url: https://api.esheria.ai
    description: Production API
  - url: http://127.0.0.1:8080
    description: Local development runtime
security: []
paths:
  /api/v1/domain-packs/{pack_id}/applicability-check:
    post:
      tags:
        - Regulatory Pack API
      summary: Check which obligations potentially apply to an entity profile
      operationId: >-
        domain_pack_applicability_check_api_v1_domain_packs__pack_id__applicability_check_post
      parameters:
        - name: pack_id
          in: path
          required: true
          schema:
            type: string
            title: Pack Id
        - $ref: '#/components/parameters/IdempotencyKey'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DomainPackApplicabilityCheckRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '401':
          description: Unauthorized
          content:
            application/json:
              example:
                status: error
                errors:
                  - code: unauthorized
                    message: Invalid API key
                trace_id: trace-123
        '402':
          description: Credits exhausted
          content:
            application/json:
              example:
                status: error
                errors:
                  - code: credits_exhausted
                    message: API credits exhausted
                trace_id: trace-123
        '409':
          description: Conflict
          content:
            application/json:
              example:
                status: error
                errors:
                  - code: duplicate_token_name
                    message: An active data token already uses that name.
                trace_id: trace-123
        '422':
          description: Validation error
          content:
            application/json:
              example:
                status: error
                errors:
                  - code: validation_error
                    message: Invalid payload
                    field: body.name
                trace_id: trace-123
        '503':
          description: Billing or dependency unavailable
          content:
            application/json:
              example:
                status: error
                errors:
                  - code: billing_unavailable
                    message: Billing ledger is unavailable
                trace_id: trace-123
      security:
        - ApiKeyAuth: []
components:
  parameters:
    IdempotencyKey:
      name: idempotency-key
      in: header
      required: true
      schema:
        type: string
      description: Unique key for mutating request replay protection.
      example: claim-verify-2026-06-01T120000Z
  schemas:
    DomainPackApplicabilityCheckRequest:
      properties:
        entity_roles:
          items:
            type: string
          type: array
          title: Entity Roles
        activities:
          items:
            type: string
          type: array
          title: Activities
        sector_tags:
          items:
            type: string
          type: array
          title: Sector Tags
        processing_characteristics:
          items:
            type: string
          type: array
          title: Processing Characteristics
        entity_profile:
          additionalProperties: true
          type: object
          title: Entity Profile
        profile_facts:
          items:
            additionalProperties: true
            type: object
          type: array
          title: Profile Facts
        include_non_matches:
          type: boolean
          title: Include Non Matches
          default: false
        publication_mode:
          anyOf:
            - type: string
              enum:
                - published
                - citation_verified
                - draft
                - semantic_draft
            - type: 'null'
          title: Publication Mode
        domain_pack_version:
          anyOf:
            - type: string
              maxLength: 160
            - type: 'null'
          title: Domain Pack Version
        limit:
          type: integer
          maximum: 500
          minimum: 1
          title: Limit
          default: 100
      additionalProperties: false
      type: object
      title: DomainPackApplicabilityCheckRequest
      example:
        activities:
          - personal_data_processing
        entity_profile:
          data_categories:
            - customer_personal_data
          entity_types:
            - company
            - data_controller
          existing_controls: []
          jurisdictions:
            - UK
          licences: []
          regulated_activities:
            - personal_data_processing
          risk_flags: []
        entity_roles:
          - data_controller
        limit: 100
        publication_mode: published
        sector_tags:
          - financial_services
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: Client API key issued by Esheria.
      x-default: YOUR_ESHERIA_API_KEY

````