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

# Crear una credencial

> Aprovisiona una nueva credencial, cifra la contraseña en texto plano con la clave maestra actual (AES-GCM + HKDF por credencial) y emite credential.created vía audit_outbox en la misma transacción.



## OpenAPI

````yaml es/openapi/v3-current/sta.yaml post /v1/credentials
openapi: 3.0.3
info:
  title: Lerian STA API
  description: >-
    API de Lerian STA — el rail del lado del participante que conecta la
    institución con el sistema de intercambio de archivos STA (Sistema de
    Transferência de Arquivos) del Banco Central do Brasil. Cubre las
    transferencias de archivos salientes y entrantes, la gestión de credenciales
    de BACEN, la configuración del sondeo de fuentes entrantes y el trust-store
    del tenant para los certificados de firma de mensajes.
  version: v1.0.0
servers:
  - url: https://sta.sandbox.lerian.net
security:
  - BearerAuth: []
tags:
  - name: transfers
    description: >-
      Transferencias de archivos STA salientes y entrantes — creación, listado,
      lectura, cancelación, reintento y marcado de procesamiento urgente.
  - name: trust-store
    description: >-
      Ciclo de vida de los certificados X.509 del trust-store del tenant:
      listado, carga, eliminación y resumen de estado.
  - name: credentials
    description: >-
      Gestión de credenciales de BACEN STA: creación, lectura, actualización,
      rotación, revocación y prueba de conectividad.
  - name: inbound-source-configs
    description: >-
      Configuración del sondeo de fuentes entrantes: creación, lectura,
      actualización, eliminación, disparo manual de sondeo y uso de la reserva
      de descubrimiento.
  - name: health
    description: Reporte de salud y disponibilidad del servicio.
paths:
  /v1/credentials:
    post:
      tags:
        - credentials
      summary: Crear una credencial
      description: >-
        Aprovisiona una nueva credencial, cifra la contraseña en texto plano con
        la clave maestra actual (AES-GCM + HKDF por credencial) y emite
        credential.created vía audit_outbox en la misma transacción.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/http.CreateCredentialRequest'
        description: credential payload
        required: true
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/http.CredentialView'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                additionalProperties: true
                type: object
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                additionalProperties: true
                type: object
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                additionalProperties: true
                type: object
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                additionalProperties: true
                type: object
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                additionalProperties: true
                type: object
components:
  schemas:
    http.CreateCredentialRequest:
      properties:
        description:
          maxLength: 255
          type: string
        institutionCode:
          maxLength: 8
          type: string
        operatorId:
          maxLength: 20
          type: string
        password:
          minLength: 8
          type: string
      required:
        - institutionCode
        - operatorId
        - password
      type: object
    http.CredentialView:
      properties:
        asOf:
          type: string
        createdAt:
          type: string
        daysRemaining:
          type: integer
        description:
          type: string
        expiryStatus:
          type: string
        id:
          type: string
        institutionCode:
          type: string
        lastExpiryCheckedAt:
          type: string
        lastRotatedAt:
          type: string
        lastTestResult:
          type: string
        lastTestedAt:
          type: string
        operatorId:
          type: string
        passwordExpiresAt:
          type: string
        status:
          type: string
        updatedAt:
          type: string
      type: object
  securitySchemes:
    BearerAuth:
      description: 'Bearer token authentication (format: "Bearer {token}")'
      in: header
      name: Authorization
      type: apiKey

````