> ## 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.

# Register a certificate reference

> Registers the public certificate + custody reference for lifecycle tracking. The private key is never transmitted.



## OpenAPI

````yaml es/openapi/v3-current/siloc.yaml post /api/v1/siloc/certificates
openapi: 3.1.0
info:
  description: >-
    Interfaz OpenAPI 3.1 de Lerian SILOC, el riel del lado del participante que
    conecta la institución con la liquidación interbancaria diferida por neteo
    SILOC de Núclea. Cubre las capacidades de cobertura de liquidación, el
    registro de participantes y su estado operativo, el ciclo de vida de los
    certificados regulados, el relay de mensajes del dominio de tarjetas y su
    estado, el reenvío administrativo de fallos de relay estacionados, los
    ciclos OT y las rondas de recálculo, las instrucciones de liquidación, la
    ingestión de ROC, las alertas operacionales, los cambios de agenda de
    contingencia, la lectura del calendario de días útiles y la trilla de
    auditoría.
  title: Lerian SILOC API
  version: 1.0.0
servers:
  - url: http://localhost:9820
security: []
paths:
  /api/v1/siloc/certificates:
    post:
      tags:
        - Connectivity
      summary: Register a certificate reference
      description: >-
        Registers the public certificate + custody reference for lifecycle
        tracking. The private key is never transmitted.
      operationId: registerCertificate
      parameters:
        - description: Idempotency key, max 255 characters.
          in: header
          name: Idempotency-Key
          schema:
            description: Idempotency key, max 255 characters.
            maxLength: 255
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RegisterCertificateRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CertificateResponse'
          description: Created
        default:
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Error
      security:
        - BearerAuth: []
components:
  schemas:
    RegisterCertificateRequest:
      additionalProperties: false
      properties:
        custodyReference:
          description: Reference locating the private key in the FI's custody (HSM/KMIP).
          type: string
        publicCertificatePem:
          description: PEM-encoded public certificate. The private key is NOT transmitted.
          type: string
        sfnCertificateId:
          description: Exact 64-hex C11 identity assigned to this certificate.
          maxLength: 64
          minLength: 64
          type: string
      required:
        - publicCertificatePem
        - custodyReference
        - sfnCertificateId
      type: object
    CertificateResponse:
      additionalProperties: false
      properties:
        custodyReference:
          description: >-
            Opaque reference to the private key in the FI's custody; the key
            itself is never stored here.
          type: string
        daysToExpiry:
          description: >-
            Whole days until expiry (0 the day it lapses, negative once
            expired). Always present — a real 0 is the most urgent operator
            signal.
          format: int64
          type: integer
        id:
          description: Certificate id.
          format: uuid
          type: string
        notAfter:
          description: Validity end (expiry).
          format: date-time
          type: string
        notBefore:
          description: Validity start.
          format: date-time
          type: string
        revokedAt:
          description: Revocation time. Omitted while the certificate is active.
          format: date-time
          type: string
        serialNumber:
          description: Certificate serial number.
          type: string
        sfnCertificateId:
          description: Exact 64-hex C11 identity used on the SFN wire.
          type: string
        subject:
          description: Certificate subject DN.
          examples:
            - CN=46026562, OU=SILOC
          type: string
      required:
        - id
        - subject
        - notAfter
        - daysToExpiry
        - sfnCertificateId
      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
      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
  securitySchemes:
    BearerAuth:
      bearerFormat: JWT
      description: JWT bearer token issued by the identity provider.
      scheme: bearer
      type: http

````