## Upgrade from v1 to v2
### Create code
**Request**
The URL has changed from `
https://api.cm.com/v1.0/otp/generate
` to `https://api.cm.com/otp/v2/otp
`.`
recipient
` has been renamed to `to
` and now requires a phone number in E.164 format or a valid email address when channel is set to `email
`.`
sender
` has been renamed to `from
` and now requires a phone number in E.164 format when channel is voice. For channel `sms
` and `push
` it also accepts also an alphanumeric string between 3 and 11 characters.`
length
` has been renamed to `digits
`.`
allowPush
` is no longer used and is replaced by channel `push
``
appKey
` has been renamed to `pushAppKey
` and is only used and required when channel is set to `push
`.`
allowVoice
` is no longer used and is replaced by channel `voice
``
voiceLanguage
` has been renamed to `locale
` and now requires a locale code instead of a language code.
**Response**
`
expireAt
` has been renamed to `expiresAt
`
### Verify code
**Request**
The URL has changed from `
https://api.cm.com/v1.0/otp/verify
` to `https://api.cm.com/otp/v2/otp/{id}/verify
`, where {id} is the placeholder for the code identifier.The OTP id is now provided in the URL instead of the request body.
When the OTP cannot be found a 404 error is returned.
When the OTP is expired, already verified or has too many verification attempts a 400 error is returned.
**Response**
`
valid
` has been renamed to `verified
`.`
id
`, `channel
`, `createdAt
` and `exiresAt
` are also returned