Skip to content

Freeze a month (idempotent)

PUT /api/v2/external/exchange-rate-freezes/{yearMonth}

Authentication: x-api-key header, with the exchange-rate-freezes:write scope. See Authentication and limits.

Freezes the exchange rates for the given month and returns the affected renewal events. Idempotent.

Path parameters

NameTypeRequiredDescription
yearMonthstringYesTarget month, YYYY-MM.

Response

200 The freeze of the month.

json
{
  "object": "exchangeRateFreeze",
  "yearMonth": "2026-10",
  "events": [
    {
      "object": "frozenRateEvent",
      "clientCaseReference": "P-2021-0042-EP",
      "dueDate": "2026-10-31",
      "amount": "800.00",
      "currency": "EUR",
      "isFxRateFrozen": false,
      "hasInstruction": false
    }
  ]
}
Response fields
FieldTypeDescription
objectstringString describing the object type (auto-description). One of: exchangeRateFreeze.
yearMonthstringFrozen month, YYYY-MM.
eventsarray of objectsRenewal events affected by the freeze.
events[].objectstringString describing the object type (auto-description). One of: frozenRateEvent.
events[].clientCaseReferencestring or nullClient case reference of the IP right.
events[].dueDatestringRenewal / annuity due date of the event.
events[].amountstringTotal renewal fees in the event currency (decimal string).
events[].currencystringISO 4217 currency code of the event.
events[].isFxRateFrozenbooleanTrue when the FX rate for this event is frozen.
events[].hasInstructionbooleanTrue when an instruction has already been given for this event.

Errors

Errors use the application/problem+json envelope with stable machine-readable codes. See the Errors guide.

StatusDescription
400Validation failed (validation_failed): carries per-field errors[] with RFC 6901 JSON Pointers.
401Missing or invalid API key (invalid_api_key), or expired key (api_key_expired).
403API key lacks the required scope (insufficient_scope, with requiredScope extension) or the operation is not enabled for this client (forbidden).
429Daily API call limit exceeded (rate_limit_exceeded): the Retry-After header gives the seconds until reset.

Example request

bash
curl -X PUT "https://api.renewr.example/api/v2/external/exchange-rate-freezes/$YEAR_MONTH" \
  -H "x-api-key: $RENEWR_API_KEY"

Renewr External API v2. Access on invitation.