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

# Create or Update an AssetRate



## OpenAPI

````yaml en/openapi/v3-current/ledger.yaml put /v1/organizations/{organization_id}/ledgers/{ledger_id}/asset-rates
openapi: 3.1.0
info:
  title: Midaz Ledger API
  version: 4.0.0
servers:
  - url: /
security: []
tags:
  - name: Account Types (v1)
  - name: Account Types (v2)
  - name: Accounts (v1)
  - name: Accounts (v2)
  - name: Asset Rates (v1)
  - name: Assets (v1)
  - name: Assets (v2)
  - name: Balances (v1)
  - name: Balances (v2)
  - name: Billing Calculate (v2)
  - name: Billing Packages (v2)
  - name: Composition (v2)
  - name: Encryption (v2)
  - name: Fees (v2)
  - name: Holders (v2)
  - name: Instruments (v2)
  - name: Ledgers (v1)
  - name: Ledgers (v2)
  - name: Metadata Indexes (v1)
  - name: Metadata Indexes (v2)
  - name: Operation Routes (v1)
  - name: Operation Routes (v2)
  - name: Operations (v1)
  - name: Operations (v2)
  - name: Organizations (v1)
  - name: Organizations (v2)
  - name: Packages (v2)
  - name: Portfolios (v1)
  - name: Portfolios (v2)
  - name: Protection (v2)
  - name: Segments (v1)
  - name: Segments (v2)
  - name: Transaction Routes (v1)
  - name: Transaction Routes (v2)
  - name: Transactions (v1)
  - name: Transactions (v2)
paths:
  /v1/organizations/{organization_id}/ledgers/{ledger_id}/asset-rates:
    put:
      tags:
        - Asset Rates (v1)
      summary: Create or Update an AssetRate
      operationId: createOrUpdateAssetRate
      parameters:
        - description: Organization ID (UUID)
          in: path
          name: organization_id
          required: true
          schema:
            description: Organization ID (UUID)
            type: string
        - description: Ledger ID (UUID)
          in: path
          name: ledger_id
          required: true
          schema:
            description: Ledger ID (UUID)
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAssetRateInput'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetRate'
          description: Created
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LegacyError'
          description: Error
      deprecated: true
      security:
        - BearerAuth: []
components:
  schemas:
    CreateAssetRateInput:
      additionalProperties: false
      properties:
        externalId:
          examples:
            - 00000000-0000-0000-0000-000000000000
          format: uuid
          type: string
        from:
          examples:
            - USD
          maxLength: 10
          minLength: 2
          type: string
        metadata:
          additionalProperties: {}
          type: object
        rate:
          examples:
            - 100
          format: int64
          type: integer
        scale:
          examples:
            - 2
          format: int64
          minimum: 0
          type: integer
        source:
          examples:
            - External System
          maxLength: 200
          type: string
        to:
          examples:
            - BRL
          maxLength: 10
          minLength: 2
          type: string
        ttl:
          examples:
            - 3600
          format: int64
          minimum: 0
          type: integer
      required:
        - from
        - to
        - rate
        - metadata
      type: object
    AssetRate:
      additionalProperties: false
      properties:
        createdAt:
          examples:
            - '2021-01-01T00:00:00Z'
          format: date-time
          type: string
        externalId:
          examples:
            - 00000000-0000-0000-0000-000000000000
          format: uuid
          type: string
        from:
          examples:
            - USD
          maxLength: 10
          minLength: 2
          type: string
        id:
          examples:
            - 00000000-0000-0000-0000-000000000000
          format: uuid
          type: string
        ledgerId:
          examples:
            - 00000000-0000-0000-0000-000000000000
          format: uuid
          type: string
        metadata:
          additionalProperties: {}
          type: object
        organizationId:
          examples:
            - 00000000-0000-0000-0000-000000000000
          format: uuid
          type: string
        rate:
          examples:
            - 100
          format: double
          type: number
        scale:
          examples:
            - 2
          format: double
          minimum: 0
          type:
            - number
            - 'null'
        source:
          examples:
            - External System
          maxLength: 200
          type:
            - string
            - 'null'
        to:
          examples:
            - BRL
          maxLength: 10
          minLength: 2
          type: string
        ttl:
          examples:
            - 3600
          format: int64
          minimum: 0
          type: integer
        updatedAt:
          examples:
            - '2021-01-01T00:00:00Z'
          format: date-time
          type: string
      required:
        - id
        - organizationId
        - ledgerId
        - externalId
        - from
        - to
        - rate
        - scale
        - source
        - ttl
        - createdAt
        - updatedAt
        - metadata
      type: object
    LegacyError:
      additionalProperties: false
      properties:
        code:
          description: >-
            Stable, machine-readable midaz error code. Identical to the code /v2
            returns for the same condition.
          examples:
            - '0065'
          type: string
        entityType:
          description: >-
            The domain entity the error concerns. Present only on
            field-validation errors.
          examples:
            - Account
          type: string
        fields:
          additionalProperties: {}
          description: >-
            Per-field validation detail, keyed by field name. The value is the
            violation message for a known field and the offending value for an
            unexpected one, so it is not always a string. The /v2 contract
            carries these as the 'errors' array.
          type: object
        message:
          description: >-
            Human-readable explanation of this occurrence. The /v2 contract
            carries this as 'detail'.
          type: string
        title:
          description: Short, human-readable summary of the error.
          examples:
            - Invalid Path Parameter
          type: string
      required:
        - title
        - message
        - code
      type: object
  securitySchemes:
    BearerAuth:
      bearerFormat: JWT
      description: JWT bearer token issued by the identity provider.
      scheme: bearer
      type: http

````