# Upgrade a managed account with IBAN Assign an IBAN to a Managed Account. IBANs enable managed accounts to receive and send funds via wire transfers. Assigning an IBAN to a Managed Account may be done asynchronously, in which case the ManagedAccountIBAN.state will be set to PENDING_ALLOCATION until bank details are ready to use. Endpoint: POST /managed_accounts/{id}/iban Version: 3.63.5 Security: auth_token, api-key ## Path parameters: - `id` (string, required) The unique identifier of the Managed Account. ## Header parameters: - `idempotency-ref` (string) A unique call reference generated by the caller that, taking into consideration the payload as well as the operation itself, helps avoid duplicate operations. Idempotency reference uniqueness is maintained for at least 24 hours. ## Response 200 fields (application/json): - `state` (string, required) The state of the Managed Account's IBAN as follows: - UNALLOCATED: The Managed Account has never been assigned an IBAN. Use the _managedAccountsIBANUpgrade_ operation to assign an IBAN to a Managed Account. - PENDING_ALLOCATION: The IBAN is being allocated to the Managed Account. - ALLOCATED: An IBAN is allocated to the Managed Account. Enum: "UNALLOCATED", "PENDING_ALLOCATION", "ALLOCATED" - `bankAccountDetails` (array, required) A list of bank account details associated with the IBAN. Multiple details can be provided if multiple IBAN providers are supported by your payment model. - `bankAccountDetails.beneficiaryNameAndSurname` (string, required) The beneficiary name and surname details to be used when initiating a deposit onto the IBAN. - `bankAccountDetails.beneficiaryBank` (string, required) The beneficiary bank name to be used when initiating a deposit onto the IBAN. - `bankAccountDetails.beneficiaryBankAddress` (string, required) The beneficiary bank address to be used when initiating a deposit onto the IBAN. - `bankAccountDetails.paymentReference` (string) A reference required by the partner bank to execute a deposit on the managed account. If provided, make sure that this is included as part of the wire transfer details when initiating a deposit. - `bankAccountDetails.details` (any, required) The bank details required to initiate a deposit on the managed account. The details required to deposit on the IBAN vary depending on the wire transfer channel that will be used. ## Response 400 fields (application/json): - `message` (string) When present helps to identify and fix the problem. - `syntaxErrors` (object) Is returned as part of an HTTP error response whenever a syntax error is detected. A list of the fields together with their syntax error will be provided. - `syntaxErrors.invalidFields` (array) - `syntaxErrors.invalidFields.params` (array) - `syntaxErrors.invalidFields.fieldName` (string) - `syntaxErrors.invalidFields.error` (string) Enum: "REQUIRED", "HAS_TEXT", "REQUIRES", "SIZE", "RANGE", "IN", "NOT_IN", "REGEX", "EXACTLY", "AT_LEAST", "AT_MOST", "ALL_OR_NONE" ## Response 404 fields (application/json): - `code` (string) - `message` (string) ## Response 409 fields (application/json): - `errorCode` (string) Enum: "INSTRUMENT_ALREADY_UPGRADED_TO_IBAN", "INSTRUMENT_IS_NOT_ACTIVE", "IBAN_ALLOCATION_EXCEEDED", "IBAN_NOT_SUPPORTED", "IBAN_ALREADY_REQUESTED", "OWNER_NOT_VERIFIED" ## Response default fields (application/json): - `code` (string) - `message` (string) ## Response 401 fields ## Response 403 fields ## Response 429 fields ## Response 500 fields ## Response 503 fields