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

# Set the tenant's configured monthly rate for consignado bids

> Stores (or corrects) the monthly interest rate the institution authorises for its consignado bids. The value is a PERCENT-per-month decimal: 1,80% per month is 1.80, never 0.018 (Manual 003 v1.19 section 3.1.1 defines valorTaxaMensal as NUMERO(7,2) (percentual)). At most 5 integer and 2 fractional digits; zero is refused. It is commercial configuration, not a secret: it is held in Postgres beside the credential metadata and is never written to the tenant secret store. With no rate configured the gateway places no bid at all rather than pricing a loan itself.



## OpenAPI

````yaml en/openapi/v3-current/consignado.yaml put /v1/credentials/dataprev/taxa-mensal
openapi: 3.1.0
info:
  contact:
    email: contact@lerian.studio
    name: Lerian Studio
    url: https://lerian.studio
  description: >-
    OpenAPI 3.1 surface for Lerian Consignado — Dataprev, the credit-journey
    rail that stores each tenant's Dataprev access credentials and rail
    configuration. It covers per-tenant status, client-certificate and OAuth2
    rotation, COMPE requester-code configuration, and the monthly bid rate.
    Secret material is written to the tenant secret store and is never returned
    by any operation. Public requester-code and rate configuration are stored as
    non-secret metadata and may be returned by the status operation.
  license:
    name: Lerian Studio General License
  title: Lerian Consignado API
  version: v1.0.0
servers:
  - url: https://consignado.sandbox.lerian.net
security:
  - BearerAuth: []
tags:
  - description: >-
      Per-tenant Dataprev credential custody and public rail configuration
      (upload, status, rotation, revoke, requester code, and monthly bid rate)
    name: Credentials
paths:
  /v1/credentials/dataprev/taxa-mensal:
    put:
      tags:
        - Credentials
      summary: Set the tenant's configured monthly rate for consignado bids
      description: >-
        Stores (or corrects) the monthly interest rate the institution
        authorises for its consignado bids. The value is a PERCENT-per-month
        decimal: 1,80% per month is 1.80, never 0.018 (Manual 003 v1.19 section
        3.1.1 defines valorTaxaMensal as NUMERO(7,2) (percentual)). At most 5
        integer and 2 fractional digits; zero is refused. It is commercial
        configuration, not a secret: it is held in Postgres beside the
        credential metadata and is never written to the tenant secret store.
        With no rate configured the gateway places no bid at all rather than
        pricing a loan itself.
      operationId: putDataprevTaxaMensal
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PutTaxaMensalRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CredentialStatusResponse'
          description: OK
        default:
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Error
      security:
        - BearerAuth: []
components:
  schemas:
    PutTaxaMensalRequest:
      additionalProperties: false
      properties:
        taxaMensal:
          description: >-
            The institution's configured monthly interest rate for consignado
            bids, as a PERCENT-per-month decimal: 1,80% per month is 1.80, never
            0.018. At most 5 integer and 2 fractional digits (Manual 003 v1.19
            §3.1.1, NÚMERO(7,2) (percentual)); zero is not a rate.
          examples:
            - '1.80'
          pattern: ^(0\.(0[1-9]|[1-9][0-9]?)|[1-9][0-9]{0,4}(\.[0-9]{1,2})?)$
          type: string
      required:
        - taxaMensal
      type: object
    CredentialStatusResponse:
      additionalProperties: false
      properties:
        certFingerprint:
          description: >-
            SHA-256 hex fingerprint of the stored certificate (absent when
            none).
          examples:
            - 3b1f...c0
          type: string
        certNotAfter:
          description: RFC 3339 cert expiry (UTC); absent when no cert is stored.
          examples:
            - '2027-01-01T00:00:00Z'
          format: date-time
          type: string
        certPresent:
          description: Whether a client certificate is stored for the tenant.
          type: boolean
        codigoSolicitante:
          description: >-
            Dataprev codigoSolicitante: the institution's BACEN COMPE code (3
            digits, zero-padded, 001-999). Public, non-secret; absent when none
            is stored.
          examples:
            - '341'
          type: string
        oauthPresent:
          description: Whether OAuth2 client_credentials are stored for the tenant.
          type: boolean
        provider:
          description: External rail the credentials belong to.
          examples:
            - dataprev
          type: string
        revokedAt:
          description: >-
            Credential revocation timestamp (RFC 3339, UTC); absent when
            credentials were never revoked.
          examples:
            - '2026-07-14T15:30:00Z'
          format: date-time
          type: string
        taxaMensal:
          description: >-
            Configured monthly interest rate for consignado bids, as a
            PERCENT-per-month decimal (1.80 is 1,80% per month). Commercial
            configuration, non-secret; absent when none is stored, in which case
            the gateway places no bid.
          examples:
            - '1.80'
          type: string
        updatedAt:
          description: Last-update timestamp (RFC 3339, UTC).
          examples:
            - '2026-06-23T12:00:00Z'
          format: date-time
          type: string
      required:
        - provider
        - certPresent
        - oauthPresent
        - 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
        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

````