2026-11-02
Summary: Retirement products have a contract number, and contract is renamed to product_contract
Accounts
Retirement Product Contract Number
Each retirement product now has a contract_number. We use it in all communication with the ZfA. It is in the retirement product responses of POST /accounts/{account_id}/products, GET /accounts/{account_id}/products and GET /accounts/{account_id}/products/{id}. Retirement products that already exist also have a contract number.
When you create a retirement product, you can send your own contract number in the new optional contract_number field of the request. It can have 1 to 20 characters: ASCII letters, digits, dashes (-) and underscores (_). If you omit it, we generate a contract number. The contract number does not change after the retirement product is created.
The contract number must be unique over all retirement products, and upper and lower case are not distinguished. If another retirement product already uses the number, the request fails with 400 Bad Request.
Product Contract Field Renamed
The contract field of retirement products is renamed to product_contract, the same name as the GET /product_contracts endpoint. It is the identifier of the certified product contract that the retirement product is based on.
- POST /accounts/{account_id}/products accepts the new
product_contractfield. Thecontractfield is still accepted, but it is deprecated. If both fields are sent,product_contractis used. - The retirement product responses include both
product_contractandcontract, with the same value.contractis deprecated.
Please switch to product_contract. The contract field will be removed from the request and the responses in a future version. We will tell you the date before we remove it.