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

> Registers a direct or indirect participant in scope. Emits a participant.registered fact.



## OpenAPI

````yaml es/openapi/v3-current/siloc.yaml post /api/v1/siloc/participants
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/participants:
    post:
      tags:
        - Participants
      summary: Register a participant
      description: >-
        Registers a direct or indirect participant in scope. Emits a
        participant.registered fact.
      operationId: registerParticipant
      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/RegisterParticipantRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ParticipantResponse'
          description: Created
        default:
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Error
      security:
        - BearerAuth: []
components:
  schemas:
    RegisterParticipantRequest:
      additionalProperties: false
      properties:
        ispb:
          description: 8-digit BACEN ISPB.
          examples:
            - '46026562'
          pattern: ^[0-9]{8}$
          type: string
        name:
          description: Participant legal name.
          maxLength: 200
          type: string
        role:
          description: Participant role.
          enum:
            - DIRECT
            - INDIRECT
            - SETTLING_INSTITUTION
          type: string
        settlingInstitutionIspb:
          description: Required when role is INDIRECT.
          pattern: ^[0-9]{8}$
          type: string
      required:
        - ispb
        - role
        - name
      type: object
    ParticipantResponse:
      additionalProperties: false
      properties:
        createdAt:
          description: Creation timestamp.
          format: date-time
          type: string
        id:
          description: Participant id.
          format: uuid
          type: string
        ispb:
          description: 8-digit BACEN ISPB.
          examples:
            - '46026562'
          pattern: ^[0-9]{8}$
          type: string
        name:
          description: Participant legal name.
          maxLength: 200
          type: string
        role:
          description: Participant role.
          enum:
            - DIRECT
            - INDIRECT
            - SETTLING_INSTITUTION
          type: string
        settlingInstitutionIspb:
          description: For an indirect participant, the ISPB of its settling institution.
          pattern: ^[0-9]{8}$
          type: string
        status:
          description: PAG0101 operational status.
          enum:
            - '1'
            - '2'
            - '3'
            - '6'
            - '7'
            - '8'
            - '9'
          type: string
        updatedAt:
          description: Last-update timestamp.
          format: date-time
          type: string
      required:
        - id
        - ispb
        - role
        - name
        - status
        - createdAt
        - updatedAt
      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

````