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

# Rotar la KEK de credenciales de conector de una institución

> Rota la clave que envuelve las credenciales de conector almacenadas de esta institución — una clave DISTINTA de kek:rotate, que rota la KEK de datos de la institución que gobierna la PII. La clave Transit avanza y el sobre de credenciales almacenadas se vuelve a asociar a la nueva versión; no se descifra ninguna credencial ni cambia ningún VALOR de credencial, por lo que una client_secret filtrada NO queda invalidada por esta llamada (rota el material con PATCH /v1/institutions/{institutionId} y revócalo en el proveedor upstream). rewrapStatus informa si el sobre almacenado se volvió a asociar o si la fila no tenía un subárbol sellado que volver a asociar. Una institución que nunca almacenó una credencial de conector no tiene KEK de credenciales y devuelve 404, no una rotación. Una rotación en contención sobre la misma institución devuelve 409, al igual que un cambio concurrente en la configuración del conector de esta institución (la versión de la KEK ya avanzó; vuelve a intentarlo para volver a asociar el sobre). Una institución desconocida devuelve 404. Una rotación confirmada pero no auditada devuelve 500 (no reintentable; escala).



## OpenAPI

````yaml es/openapi/v3-current/sisbajud.yaml post /institutions/{institutionId}/security/credential-kek:rotate
openapi: 3.1.0
info:
  description: >-
    API de Lerian SISBAJUD — el rail del lado del participante que integra la
    institución con el sistema SISBAJUD (Sistema de Busca de Ativos do Poder
    Judiciário) del Banco Central do Brasil para el bloqueo y desbloqueo
    judicial de activos. Cubre la administración de órdenes judiciales, la
    gestión de archivos de remesa y de retorno, la conciliación, el monitoreo de
    SLA, las solicitudes de titulares de datos LGPD y la configuración por
    institución y las credenciales de conector.
  title: Lerian SISBAJUD API
  version: 1.0.0
servers:
  - url: https://sisbajud.sandbox.lerian.net
security:
  - BearerAuth: []
tags:
  - description: >-
      Ciclo de vida de la configuración de institución: creación (con
      aprovisionamiento de claves), lectura y actualización parcial de una
      configuración de conector direccionada por id de institución.
    name: Institution
  - description: >-
      Operaciones LGPD de acceso, portabilidad, resolución y borrado
      criptográfico de titulares de datos, direccionadas por id de institución.
    name: LGPD
  - description: >-
      Administración manual de claves criptográficas: rotación de KEK y del
      conjunto de claves de tokenización para una institución, direccionada por
      id de institución.
    name: Security
  - description: >-
      Operaciones de escritura para la resiliencia operativa de órdenes
      judiciales, como reprocesar una orden FAILED, direccionadas por id de
      institución.
    name: Order Operations
  - description: >-
      Administración de registros de incumplimiento, como registrar una
      justificación por infracción de SLA, direccionada por id de institución.
    name: Non-Compliance
  - description: >-
      Administración manual de la conciliación, como disparar una ejecución de
      conciliación bajo demanda.
    name: Reconciliation
  - description: >-
      Recepción autenticada de archivos de remesa: quien llama notifica al
      servicio de un archivo ya presente en el bucket de entrada y el servicio
      ejecuta la canalización de recepción y análisis.
    name: Remittance File
  - description: >-
      Administración de archivos de retorno (respuesta), como forzar una
      generación de archivo de retorno bajo demanda fuera del cron programado.
    name: Return File
  - description: >-
      Rutas de administración solo para local/desarrollo (contenido de archivo
      de retorno, cierre de monitoreo, ejecución de desbloqueo). Montadas solo
      en entornos locales y de desarrollo; nunca presentes en staging ni en
      production.
    name: Dev-Only
  - description: >-
      API de lectura de administración: consultas acotadas a la institución de
      órdenes, archivos, conciliación, SLA y estadísticas de procesamiento, más
      la verificación de integridad del registro de auditoría. Los campos de PII
      se enmascaran salvo que quien llama demuestre una concesión de texto
      claro.
    name: Admin
  - description: >-
      Resumen de sujeto entre organizaciones: consolida los bloqueos activos de
      un sujeto en todas las organizaciones Midaz de la institución que llama.
      Leer un sujeto por documento es un acceso privilegiado y auditado a PII.
    name: Cross-Org
paths:
  /institutions/{institutionId}/security/credential-kek:rotate:
    post:
      tags:
        - Security
      summary: Rotar la KEK de credenciales de conector de una institución
      description: >-
        Rota la clave que envuelve las credenciales de conector almacenadas de
        esta institución — una clave DISTINTA de kek:rotate, que rota la KEK de
        datos de la institución que gobierna la PII. La clave Transit avanza y
        el sobre de credenciales almacenadas se vuelve a asociar a la nueva
        versión; no se descifra ninguna credencial ni cambia ningún VALOR de
        credencial, por lo que una client_secret filtrada NO queda invalidada
        por esta llamada (rota el material con PATCH
        /v1/institutions/{institutionId} y revócalo en el proveedor upstream).
        rewrapStatus informa si el sobre almacenado se volvió a asociar o si la
        fila no tenía un subárbol sellado que volver a asociar. Una institución
        que nunca almacenó una credencial de conector no tiene KEK de
        credenciales y devuelve 404, no una rotación. Una rotación en contención
        sobre la misma institución devuelve 409, al igual que un cambio
        concurrente en la configuración del conector de esta institución (la
        versión de la KEK ya avanzó; vuelve a intentarlo para volver a asociar
        el sobre). Una institución desconocida devuelve 404. Una rotación
        confirmada pero no auditada devuelve 500 (no reintentable; escala).
      operationId: rotate-institution-credentials-kek
      parameters:
        - description: >-
            The institution's unique identifier (UUID) whose
            connector-credentials KEK is rotated.
          in: path
          name: institutionId
          required: true
          schema:
            description: >-
              The institution's unique identifier (UUID) whose
              connector-credentials KEK is rotated.
            examples:
              - 44444444-4444-4444-4444-444444444444
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RotateKEKRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RotateInstitutionKekResponse'
          description: OK
        default:
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Error
components:
  schemas:
    RotateKEKRequest:
      additionalProperties: false
      properties:
        reason:
          description: >-
            Optional operator-supplied free-text reason for the rotation (sealed
            verbatim into the audit payload).
          examples:
            - scheduled_annual_rotation
          type: string
      type: object
    RotateInstitutionKekResponse:
      additionalProperties: false
      properties:
        institutionId:
          description: The institution the rotation targeted.
          examples:
            - 44444444-4444-4444-4444-444444444444
          type: string
        newKekVersion:
          description: The newly active KEK version.
          examples:
            - v3
          type: string
        previousKekVersion:
          description: The KEK version that was active before the rotation.
          examples:
            - v2
          type: string
        rewrapStatus:
          description: The rewrap progress status (e.g. IN_PROGRESS).
          examples:
            - IN_PROGRESS
          type: string
        rotatedAt:
          description: The RFC3339 timestamp the rotation committed.
          examples:
            - '2026-06-08T12:00:00Z'
          type: string
      required:
        - institutionId
        - newKekVersion
        - previousKekVersion
        - rotatedAt
        - rewrapStatus
      type: object
    Detail:
      additionalProperties: false
      properties:
        code:
          description: >-
            Stable, machine-readable domain error code scoped to the emitting
            service (format: <SERVICE>-NNNN).
          examples:
            - ERR-0001
          type: string
        detail:
          description: >-
            A human-readable explanation specific to this occurrence of the
            problem.
          examples:
            - Property foo is required but is missing.
          type: string
        errors:
          description: Optional list of individual error details
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type:
            - array
            - 'null'
        instance:
          description: >-
            A URI reference that identifies the specific occurrence of the
            problem.
          examples:
            - https://example.com/error-log/abc123
          format: uri
          type: string
        status:
          description: HTTP status code
          examples:
            - 400
          format: int64
          type: integer
        title:
          description: >-
            A short, human-readable summary of the problem type. This value
            should not change between occurrences of the error.
          examples:
            - Bad Request
          type: string
        type:
          default: about:blank
          description: A URI reference to human-readable documentation for the error.
          examples:
            - https://example.com/errors/example
          format: uri
          type: string
        upstream:
          $ref: '#/components/schemas/Upstream'
          description: >-
            RFC 9457 extension member: the error a proxied third-party provider
            reported. Absent unless the emitting service explicitly surfaced
            one.
      type: object
    ErrorDetail:
      additionalProperties: false
      properties:
        location:
          description: >-
            Where the error occurred, e.g. 'body.items[3].tags' or
            'path.thing-id'
          type: string
        message:
          description: Error message text
          type: string
        value:
          description: The value at the given location
      type: object
    Upstream:
      additionalProperties: false
      properties:
        code:
          description: The upstream provider's own error code, verbatim.
          examples:
            - E4001
          type: string
        message:
          description: >-
            The upstream provider's own error message, verbatim (bounded, never
            its raw response body).
          examples:
            - account not found at provider
          type: string
      type: object
  securitySchemes:
    BearerAuth:
      bearerFormat: JWT
      description: JWT bearer token issued by the identity provider.
      scheme: bearer
      type: http

````