> ## Documentation Index
> Fetch the complete documentation index at: https://api-documentation.kare-app.fr/llms.txt
> Use this file to discover all available pages before exploring further.

# Get one intervention



## OpenAPI

````yaml /api/rs/openapi.json get /rs/interventions/v1/{id}
openapi: 3.0.3
info:
  title: KARE API
  description: Backend API for the KARE platform
  version: dev
servers:
  - url: http://localhost:3000
    description: Local dev
security: []
tags:
  - name: better-auth
    description: >-
      Better Auth's own endpoints (sign-in, session, MFA, password) - generated
      from the audience's live config via `generateOpenAPISchema()`, not
      hand-written.
paths:
  /rs/interventions/v1/{id}:
    get:
      tags:
        - interventions
      summary: Get one intervention
      operationId: getInterventionRSV1
      parameters:
        - schema:
            type: array
            items:
              type: string
              enum:
                - assignee
                - units
                - equipments
                - verification
                - counts
                - actions-info
                - createdBy
                - routine
                - anomalies-stats
                - rules
                - technical-installations
                - signed-by
                - signatures
              description: >-
                Extend options (JSON-encoded array, e.g.
                `?extend=["category"]`):

                - "assignee": Resolve the assigned user (id/ref/name) and the
                assigned provider contact (name, email, provider).

                - "units": Resolves every unit the intervention concerns -
                through its compliances, its anomalies, or the units and
                equipments it directly targets.

                - "equipments": Resolves every equipment the intervention
                concerns - through its compliances, or the equipments it
                directly targets.

                - "verification": Resolve the verifying user (id/ref/name);
                verifiedAt and decisionComment are in the default shape.

                - "counts": Adds `_count` of linked signatures (the delete
                guard), plus `commentsCount` and `reportsCount`.

                - "actions-info": Adds `actions` { canBeUpdated, canBeArchived,
                canBeUnarchived, canBeDeleted, canBeVerified }.

                - "createdBy": Include the creator's identity as `createdBy`
                (id, ref, name).

                - "routine": Resolve the linked routine (id/ref/name).

                - "anomalies-stats": Adds `anomaliesStats` (counts of the linked
                anomalies by status).

                - "rules": Adds the covered rules, deduplicated (`rule` when
                exactly one, `rules` list, `rulesCount`).

                - "technical-installations": Technical installations behind the
                covered rules (main + concerned), deduped with presigned images.

                - "signed-by": Adds `signedBy` (name of the latest signer, null
                until a signature exists).

                - "signatures": Adds the signatures (signer, role, date,
                comment, handwritten trace, unit, provider) with the compliance
                coverages each one signed off. A trace that does not match the
                capture shape comes back null.
          in: query
          name: extend
          required: false
        - schema:
            type: string
            format: uuid
            pattern: >-
              ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
          in: path
          name: id
          required: true
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    pattern: >-
                      ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                  ref:
                    type: string
                    maxLength: 40
                    pattern: ^[A-Z]+-[1-9]\d*(?:-[A-Z]+-[1-9]\d*)*$
                  type:
                    type: string
                    enum:
                      - preventive
                      - curative
                      - troubleshooting
                      - audit
                      - exercise
                      - session
                      - qualification
                  status:
                    type: string
                    enum:
                      - draft
                      - to_be_scheduled
                      - scheduling_in_progress
                      - scheduled
                      - in_progress
                      - awaiting_report
                      - awaiting_proof
                      - awaiting_validation
                      - validated
                      - rejected
                  title:
                    nullable: true
                    type: string
                    minLength: 1
                    maxLength: 200
                  description:
                    nullable: true
                    type: string
                    maxLength: 2000
                  creationStatus:
                    type: string
                    enum:
                      - scheduled
                      - done
                  isPlanned:
                    type: boolean
                  autoCreated:
                    type: boolean
                  scheduledStart:
                    nullable: true
                    type: string
                    format: date-time
                  scheduledEnd:
                    nullable: true
                    type: string
                    format: date-time
                  dueAt:
                    nullable: true
                    type: string
                    format: date-time
                  actualStart:
                    nullable: true
                    type: string
                    format: date-time
                  actualEnd:
                    nullable: true
                    type: string
                    format: date-time
                  verifiedAt:
                    nullable: true
                    type: string
                    format: date-time
                  decisionComment:
                    nullable: true
                    type: string
                    maxLength: 2000
                  historizedAt:
                    nullable: true
                    type: string
                    format: date-time
                  archivedAt:
                    nullable: true
                    type: string
                    format: date-time
                  createdAt:
                    type: string
                    format: date-time
                  updatedAt:
                    type: string
                    format: date-time
                  assignedUserId:
                    nullable: true
                    type: string
                    format: uuid
                    pattern: >-
                      ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                  assignedContactId:
                    nullable: true
                    type: string
                    format: uuid
                    pattern: >-
                      ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                  routineId:
                    nullable: true
                    type: string
                    format: uuid
                    pattern: >-
                      ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                  verifiedByUserId:
                    nullable: true
                    type: string
                    format: uuid
                    pattern: >-
                      ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                  assignedUser:
                    nullable: true
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                        pattern: >-
                          ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                      ref:
                        type: string
                      name:
                        type: string
                    required:
                      - id
                      - ref
                      - name
                    additionalProperties: false
                  assignedContact:
                    nullable: true
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                        pattern: >-
                          ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                      name:
                        type: string
                      email:
                        nullable: true
                        type: string
                        format: email
                        pattern: >-
                          ^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$
                      provider:
                        type: object
                        properties:
                          id:
                            type: string
                            format: uuid
                            pattern: >-
                              ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                          name:
                            type: string
                        required:
                          - id
                          - name
                        additionalProperties: false
                    required:
                      - id
                      - name
                      - email
                      - provider
                    additionalProperties: false
                  units:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                          pattern: >-
                            ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                        ref:
                          type: string
                          maxLength: 40
                          pattern: ^[A-Z]+-[1-9]\d*(?:-[A-Z]+-[1-9]\d*)*$
                        name:
                          type: string
                          minLength: 1
                          maxLength: 150
                      required:
                        - id
                        - ref
                        - name
                      additionalProperties: false
                  equipments:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                          pattern: >-
                            ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                        ref:
                          type: string
                          maxLength: 40
                          pattern: ^[A-Z]+-[1-9]\d*(?:-[A-Z]+-[1-9]\d*)*$
                        name:
                          type: string
                          minLength: 1
                          maxLength: 150
                      required:
                        - id
                        - ref
                        - name
                      additionalProperties: false
                  verifiedByUser:
                    nullable: true
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                        pattern: >-
                          ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                      ref:
                        type: string
                        maxLength: 40
                        pattern: ^[A-Z]+-[1-9]\d*(?:-[A-Z]+-[1-9]\d*)*$
                      name:
                        type: string
                    required:
                      - id
                      - ref
                      - name
                    additionalProperties: false
                  _count:
                    type: object
                    properties:
                      signatures:
                        type: integer
                        minimum: 0
                        maximum: 9007199254740991
                    required:
                      - signatures
                    additionalProperties: false
                  commentsCount:
                    type: integer
                    minimum: 0
                    maximum: 9007199254740991
                  reportsCount:
                    type: integer
                    minimum: 0
                    maximum: 9007199254740991
                  actions:
                    type: object
                    properties:
                      canBeUpdated:
                        type: boolean
                      canBeArchived:
                        type: boolean
                      canBeUnarchived:
                        type: boolean
                      canBeDeleted:
                        type: boolean
                      canBeVerified:
                        type: boolean
                      canSetCompliances:
                        type: boolean
                    required:
                      - canBeUpdated
                      - canBeArchived
                      - canBeUnarchived
                      - canBeDeleted
                      - canBeVerified
                      - canSetCompliances
                    additionalProperties: false
                  createdBy:
                    nullable: true
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                        pattern: >-
                          ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                      ref:
                        type: string
                        maxLength: 40
                        pattern: ^[A-Z]+-[1-9]\d*(?:-[A-Z]+-[1-9]\d*)*$
                      name:
                        type: string
                    required:
                      - id
                      - ref
                      - name
                    additionalProperties: false
                  routine:
                    nullable: true
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                        pattern: >-
                          ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                      ref:
                        type: string
                        maxLength: 40
                        pattern: ^[A-Z]+-[1-9]\d*(?:-[A-Z]+-[1-9]\d*)*$
                      name:
                        type: string
                    required:
                      - id
                      - ref
                      - name
                    additionalProperties: false
                  anomaliesStats:
                    type: object
                    properties:
                      total:
                        type: integer
                        minimum: 0
                        maximum: 9007199254740991
                      extracted:
                        type: integer
                        minimum: 0
                        maximum: 9007199254740991
                      unreviewed:
                        type: integer
                        minimum: 0
                        maximum: 9007199254740991
                      pending:
                        type: integer
                        minimum: 0
                        maximum: 9007199254740991
                      resolved:
                        type: integer
                        minimum: 0
                        maximum: 9007199254740991
                    required:
                      - total
                      - extracted
                      - unreviewed
                      - pending
                      - resolved
                    additionalProperties: false
                  rule:
                    nullable: true
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                        pattern: >-
                          ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                      name:
                        type: string
                    required:
                      - id
                      - name
                    additionalProperties: false
                  rules:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                          pattern: >-
                            ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                        name:
                          type: string
                      required:
                        - id
                        - name
                      additionalProperties: false
                  rulesCount:
                    type: integer
                    minimum: 0
                    maximum: 9007199254740991
                  technicalInstallations:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                          pattern: >-
                            ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                        name:
                          type: string
                          minLength: 1
                          maxLength: 150
                        imageUrl:
                          nullable: true
                          type: string
                          format: uri
                      required:
                        - id
                        - name
                        - imageUrl
                      additionalProperties: false
                  signedBy:
                    nullable: true
                    type: string
                  signatures:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                          pattern: >-
                            ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                        signerName:
                          type: string
                        signerRole:
                          type: string
                        signedAt:
                          type: string
                          format: date-time
                        comment:
                          nullable: true
                          type: string
                        trace:
                          nullable: true
                          type: object
                          properties:
                            strokes:
                              minItems: 1
                              maxItems: 500
                              type: array
                              items:
                                maxItems: 5000
                                type: array
                                items:
                                  type: object
                                  properties:
                                    x:
                                      type: number
                                    'y':
                                      type: number
                                    t:
                                      type: number
                                      minimum: 0
                                  required:
                                    - x
                                    - 'y'
                                    - t
                                  additionalProperties: false
                            width:
                              type: number
                              minimum: 0
                              exclusiveMinimum: true
                            height:
                              type: number
                              minimum: 0
                              exclusiveMinimum: true
                          required:
                            - strokes
                          additionalProperties: false
                        unit:
                          nullable: true
                          type: object
                          properties:
                            id:
                              type: string
                              format: uuid
                              pattern: >-
                                ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                            name:
                              type: string
                          required:
                            - id
                            - name
                          additionalProperties: false
                        provider:
                          nullable: true
                          type: object
                          properties:
                            id:
                              type: string
                              format: uuid
                              pattern: >-
                                ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                            name:
                              type: string
                          required:
                            - id
                            - name
                          additionalProperties: false
                        coverages:
                          type: array
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                                format: uuid
                                pattern: >-
                                  ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                              complianceId:
                                type: string
                                format: uuid
                                pattern: >-
                                  ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                              rule:
                                type: object
                                properties:
                                  id:
                                    type: string
                                    format: uuid
                                    pattern: >-
                                      ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                                  name:
                                    type: string
                                  validityDuration:
                                    nullable: true
                                    type: string
                                required:
                                  - id
                                  - name
                                  - validityDuration
                                additionalProperties: false
                              target:
                                nullable: true
                                type: object
                                properties:
                                  id:
                                    type: string
                                    format: uuid
                                    pattern: >-
                                      ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                                  name:
                                    type: string
                                  type:
                                    type: string
                                    enum:
                                      - site
                                      - equipment
                                      - user
                                required:
                                  - id
                                  - name
                                  - type
                                additionalProperties: false
                            required:
                              - id
                              - complianceId
                              - rule
                              - target
                            additionalProperties: false
                        coveragesCount:
                          type: integer
                          minimum: 0
                          maximum: 9007199254740991
                      required:
                        - id
                        - signerName
                        - signerRole
                        - signedAt
                        - comment
                        - trace
                        - unit
                        - provider
                        - coverages
                        - coveragesCount
                      additionalProperties: false
                required:
                  - id
                  - ref
                  - type
                  - status
                  - title
                  - description
                  - creationStatus
                  - isPlanned
                  - autoCreated
                  - scheduledStart
                  - scheduledEnd
                  - dueAt
                  - actualStart
                  - actualEnd
                  - verifiedAt
                  - decisionComment
                  - historizedAt
                  - archivedAt
                  - createdAt
                  - updatedAt
                  - assignedUserId
                  - assignedContactId
                  - routineId
                  - verifiedByUserId
                additionalProperties: false
        '400':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                  requestId:
                    type: string
                  details: {}
                required:
                  - error
                  - message
                  - requestId
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                  requestId:
                    type: string
                  details: {}
                required:
                  - error
                  - message
                  - requestId
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                  requestId:
                    type: string
                  details: {}
                required:
                  - error
                  - message
                  - requestId
                additionalProperties: false

````