Registration
Verify customer registration
Verify a phone OTP for a number that is not registered. Successful verification returns a short-lived registration session; it does not create a customer.
POST
/
auth
/
verifiedRegistrationChallenges
curl --request POST \
--url https://api.guile.app/auth/verifiedRegistrationChallenges \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"method": "otp",
"challengeId": "0190f0c0-aaaa-7aaa-8aaa-aaaaaaaaaaaa",
"code": "000000"
}
'{
"token": "reg_session_example_token_value_32chars_min",
"expiresAt": "2026-08-01T16:00:00.000Z"
}{
"type": "<string>",
"title": "<string>",
"occurredAt": "2023-11-07T05:31:56Z",
"id": "<string>",
"status": 349,
"detail": "<string>",
"instance": "<string>",
"attributes": {},
"recovery": {
"rateLimit": {
"limit": 123,
"remaining": 123,
"resetsAt": "2023-11-07T05:31:56Z"
}
},
"problems": [
{
"type": "<string>",
"title": "<string>",
"occurredAt": "2023-11-07T05:31:56Z",
"id": "<string>",
"status": 349,
"detail": "<string>",
"instance": "<string>",
"attributes": {}
}
]
}{
"id": "0190f0c0-cccc-7ccc-8ccc-cccccccccccc",
"type": "https://docs.guile.app/problems/unauthorized",
"title": "Unauthorized",
"status": 401,
"detail": "The one-time code is invalid or expired.",
"occurredAt": "2026-08-01T16:00:00.000Z"
}{
"type": "<string>",
"title": "<string>",
"occurredAt": "2023-11-07T05:31:56Z",
"id": "<string>",
"status": 349,
"detail": "<string>",
"instance": "<string>",
"attributes": {},
"recovery": {
"rateLimit": {
"limit": 123,
"remaining": 123,
"resetsAt": "2023-11-07T05:31:56Z"
}
},
"problems": [
{
"type": "<string>",
"title": "<string>",
"occurredAt": "2023-11-07T05:31:56Z",
"id": "<string>",
"status": 349,
"detail": "<string>",
"instance": "<string>",
"attributes": {}
}
]
}{
"type": "<string>",
"title": "<string>",
"occurredAt": "2023-11-07T05:31:56Z",
"id": "<string>",
"status": 349,
"detail": "<string>",
"instance": "<string>",
"attributes": {},
"recovery": {
"rateLimit": {
"limit": 123,
"remaining": 123,
"resetsAt": "2023-11-07T05:31:56Z"
}
},
"problems": [
{
"type": "<string>",
"title": "<string>",
"occurredAt": "2023-11-07T05:31:56Z",
"id": "<string>",
"status": 349,
"detail": "<string>",
"instance": "<string>",
"attributes": {}
}
]
}{
"type": "<string>",
"title": "<string>",
"occurredAt": "2023-11-07T05:31:56Z",
"id": "<string>",
"status": 349,
"detail": "<string>",
"instance": "<string>",
"attributes": {},
"recovery": {
"rateLimit": {
"limit": 123,
"remaining": 123,
"resetsAt": "2023-11-07T05:31:56Z"
}
},
"problems": [
{
"type": "<string>",
"title": "<string>",
"occurredAt": "2023-11-07T05:31:56Z",
"id": "<string>",
"status": 349,
"detail": "<string>",
"instance": "<string>",
"attributes": {}
}
]
}{
"type": "<string>",
"title": "<string>",
"occurredAt": "2023-11-07T05:31:56Z",
"id": "<string>",
"status": 349,
"detail": "<string>",
"instance": "<string>",
"attributes": {},
"recovery": {
"rateLimit": {
"limit": 123,
"remaining": 123,
"resetsAt": "2023-11-07T05:31:56Z"
}
},
"problems": [
{
"type": "<string>",
"title": "<string>",
"occurredAt": "2023-11-07T05:31:56Z",
"id": "<string>",
"status": 349,
"detail": "<string>",
"instance": "<string>",
"attributes": {}
}
]
}Body
application/json
Request body for verifying an OTP authentication challenge.
Response
Ok. The operation succeeded.
A short-lived session proving control of an unregistered phone number.
Was this page helpful?
⌘I
curl --request POST \
--url https://api.guile.app/auth/verifiedRegistrationChallenges \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"method": "otp",
"challengeId": "0190f0c0-aaaa-7aaa-8aaa-aaaaaaaaaaaa",
"code": "000000"
}
'{
"token": "reg_session_example_token_value_32chars_min",
"expiresAt": "2026-08-01T16:00:00.000Z"
}{
"type": "<string>",
"title": "<string>",
"occurredAt": "2023-11-07T05:31:56Z",
"id": "<string>",
"status": 349,
"detail": "<string>",
"instance": "<string>",
"attributes": {},
"recovery": {
"rateLimit": {
"limit": 123,
"remaining": 123,
"resetsAt": "2023-11-07T05:31:56Z"
}
},
"problems": [
{
"type": "<string>",
"title": "<string>",
"occurredAt": "2023-11-07T05:31:56Z",
"id": "<string>",
"status": 349,
"detail": "<string>",
"instance": "<string>",
"attributes": {}
}
]
}{
"id": "0190f0c0-cccc-7ccc-8ccc-cccccccccccc",
"type": "https://docs.guile.app/problems/unauthorized",
"title": "Unauthorized",
"status": 401,
"detail": "The one-time code is invalid or expired.",
"occurredAt": "2026-08-01T16:00:00.000Z"
}{
"type": "<string>",
"title": "<string>",
"occurredAt": "2023-11-07T05:31:56Z",
"id": "<string>",
"status": 349,
"detail": "<string>",
"instance": "<string>",
"attributes": {},
"recovery": {
"rateLimit": {
"limit": 123,
"remaining": 123,
"resetsAt": "2023-11-07T05:31:56Z"
}
},
"problems": [
{
"type": "<string>",
"title": "<string>",
"occurredAt": "2023-11-07T05:31:56Z",
"id": "<string>",
"status": 349,
"detail": "<string>",
"instance": "<string>",
"attributes": {}
}
]
}{
"type": "<string>",
"title": "<string>",
"occurredAt": "2023-11-07T05:31:56Z",
"id": "<string>",
"status": 349,
"detail": "<string>",
"instance": "<string>",
"attributes": {},
"recovery": {
"rateLimit": {
"limit": 123,
"remaining": 123,
"resetsAt": "2023-11-07T05:31:56Z"
}
},
"problems": [
{
"type": "<string>",
"title": "<string>",
"occurredAt": "2023-11-07T05:31:56Z",
"id": "<string>",
"status": 349,
"detail": "<string>",
"instance": "<string>",
"attributes": {}
}
]
}{
"type": "<string>",
"title": "<string>",
"occurredAt": "2023-11-07T05:31:56Z",
"id": "<string>",
"status": 349,
"detail": "<string>",
"instance": "<string>",
"attributes": {},
"recovery": {
"rateLimit": {
"limit": 123,
"remaining": 123,
"resetsAt": "2023-11-07T05:31:56Z"
}
},
"problems": [
{
"type": "<string>",
"title": "<string>",
"occurredAt": "2023-11-07T05:31:56Z",
"id": "<string>",
"status": 349,
"detail": "<string>",
"instance": "<string>",
"attributes": {}
}
]
}{
"type": "<string>",
"title": "<string>",
"occurredAt": "2023-11-07T05:31:56Z",
"id": "<string>",
"status": 349,
"detail": "<string>",
"instance": "<string>",
"attributes": {},
"recovery": {
"rateLimit": {
"limit": 123,
"remaining": 123,
"resetsAt": "2023-11-07T05:31:56Z"
}
},
"problems": [
{
"type": "<string>",
"title": "<string>",
"occurredAt": "2023-11-07T05:31:56Z",
"id": "<string>",
"status": 349,
"detail": "<string>",
"instance": "<string>",
"attributes": {}
}
]
}