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

# List all active frameworks

> Returns all active EU regulatory frameworks ordered by slug.



## OpenAPI

````yaml /openapi.yaml get /frameworks
openapi: 3.0.3
info:
  title: Law4Devs API
  version: 1.0.0
  description: >
    Structured EU regulatory compliance data for developers.


    All 19 major EU digital regulations — CRA, NIS2, DORA, GDPR, AI Act, eIDAS,

    DSA, DMA, Data Act, DGA, eIDAS2, CER, PSD2, MiCA, Cybersecurity Act,

    ePrivacy, RED, CSRD, NIS1 — parsed into structured articles, recitals,

    requirements, compliance deadlines, and tags.


    ## Response Conventions


    - **List responses** (paginated): `{ data: [...], meta: { api_version,
    total, page, per_page, pages }, links: { next, prev } }`

    - **List responses** (non-paginated): `{ data: [...], meta: { api_version,
    total } }`

    - **Detail responses**: `{ data: { ... } }`

    - **Error responses**: `{ error: { code: "ERROR_CODE", message:
    "Human-readable message" } }`


    ## Pagination


    All list endpoints accept `page` (≥ 1, default 1) and `per_page` (1–100,
    default 20).

    Invalid values return `400 INVALID_PARAM`.
servers:
  - url: https://demo.law4devs.eu/api/v1
    description: Demo (CRA only, no key required)
security: []
tags:
  - name: Health
    description: API and database health check
  - name: Frameworks
    description: EU regulatory frameworks (CRA, NIS2, GDPR, etc.)
  - name: Articles
    description: Individual articles within a framework
  - name: Recitals
    description: Recitals (preamble paragraphs) within a framework
  - name: Requirements
    description: Extracted compliance requirements with stakeholder role mappings
  - name: Annexes
    description: Technical annexes attached to a framework
  - name: Compliance
    description: Compliance deadlines and key dates
  - name: Stats
    description: Coverage statistics per framework
  - name: Search
    description: Full-text search across articles, recitals, and requirements
  - name: Tags
    description: Semantic tags used to classify content
  - name: Changelog
    description: Content update history and data freshness
  - name: Compare
    description: Cross-framework article comparison
paths:
  /frameworks:
    get:
      tags:
        - Frameworks
      summary: List all active frameworks
      description: Returns all active EU regulatory frameworks ordered by slug.
      operationId: list_frameworks
      parameters:
        - $ref: '#/components/parameters/PageParam'
        - $ref: '#/components/parameters/PerPageParam'
      responses:
        '200':
          description: List of active frameworks
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                  - links
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Framework'
                  meta:
                    type: object
                    properties:
                      api_version:
                        type: string
                        example: '1.0'
                      total:
                        type: integer
                        example: 19
                      page:
                        type: integer
                        example: 1
                      per_page:
                        type: integer
                        example: 20
                      pages:
                        type: integer
                        example: 1
                  links:
                    type: object
                    properties:
                      next:
                        type: string
                        nullable: true
                      prev:
                        type: string
                        nullable: true
components:
  parameters:
    PageParam:
      name: page
      in: query
      description: Page number (1-based)
      schema:
        type: integer
        minimum: 1
        default: 1
        example: 1
    PerPageParam:
      name: per_page
      in: query
      description: Results per page (max 100)
      schema:
        type: integer
        minimum: 1
        maximum: 100
        default: 20
        example: 20
  schemas:
    Framework:
      type: object
      properties:
        id:
          type: integer
          example: 1
        slug:
          type: string
          example: cra
        name:
          type: string
          example: Cyber Resilience Act
        short_name:
          type: string
          example: CRA
        celex_number:
          type: string
          nullable: true
          example: 32024R2847
        description:
          type: string
          nullable: true
        is_active:
          type: boolean
          example: true
        status:
          type: string
          enum:
            - active
            - superseded
          example: active
        expected_articles:
          type: integer
          nullable: true
          example: 69
        expected_recitals:
          type: integer
          nullable: true
          example: 173
        last_synced_at:
          type: string
          format: date-time
          nullable: true
        created_at:
          type: string
          format: date-time
        article_count:
          type: integer
          example: 71
        recital_count:
          type: integer
          example: 130

````