Apple User Register
Contents
Mobile_API »Sign Up with Apple
Base URL
https://apimobile.callproof.com
Endpoint
/api/apple-register
Purpose
Creates a CallProof account using a verified Sign in with Apple identity and immediately provides authenticated access.
Important: This API is exclusively for Apple application users signing up or continuing with an Apple account. Users of other applications or authentication providers should use the corresponding registration API.
For a new Apple identity, the API creates a company workspace and administrator account. If the Apple identity is already associated with a CallProof account, a duplicate account is not created and the existing account is used.
Apple private relay email addresses are supported. An original email address may be supplied to associate the private relay address with the user's CallProof account.
HTTP Method
POST
Headers
| Header | Required | Description |
|---|---|---|
| Content-Type | Yes | application/x-www-form-urlencoded or application/json
|
Security
- No – No prior CallProof authentication is required. A valid Apple authorization code must be supplied.
Parameters
Apple Authentication Fields
| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | Yes | A valid authorization code received from Sign in with Apple. |
| string | No | The user's original email address when Apple supplies a private relay email address. | |
| version | string | No | The version date associated with the Apple sign-in record. When omitted, the current date is used. |
General Device Fields
| Parameter | Type | Required | Description |
|---|---|---|---|
| device_id_app | string | No | The device notification token used for notifications and device recognition. |
| device_time_zone | string | No | The device's time-zone identifier. When omitted, a time zone may be determined automatically. |
| device_type | string | No | The mobile platform. Recognized values are android and ios.
|
| cp_version | string | No | The installed CallProof application version. |
| product | string | No | The device product or model identifier. |
| resolution | string | No | The device screen resolution. |
| device_name | string | No | The user-visible device name. |
| is_tablet | boolean | No | Indicates whether the device is a tablet. |
Android Device Fields
These fields apply when device_type is android.
| Parameter | Type | Required | Description |
|---|---|---|---|
| android_version | string | No | The Android operating-system version. |
| android_api_version | string | No | The Android API version. |
| android_apk_version | string | No | The installed Android application package version. |
| is_callLog_build | boolean | No | Indicates whether the Android application supports call-log capabilities. |
iOS Device Fields
This field applies when device_type is ios.
| Parameter | Type | Required | Description |
|---|---|---|---|
| ios_version | string | No | The iOS operating-system version. |
Successful Response (200)
The Apple identity was verified and authenticated access credentials were issued.
For a new Apple user, a CallProof company and administrator account were created. For an existing user, the matching CallProof account was used without creating a duplicate.
| Response Field | Type | Description |
|---|---|---|
| clientStatusCode | integer | Business-level response status. A successful request returns 200.
|
| data.token_type | string | The authentication token type, normally Bearer.
|
| data.expires_in | integer | The CallProof access token validity period. |
| data.access_token | string | The credential used to access authenticated CallProof API endpoints. |
| data.refresh_token | string | The credential used to obtain a new CallProof access token. |
| data.is_2fa_enabled | boolean | Indicates whether two-factor authentication is enabled for the user or company. |
| data.is_verified | boolean | Indicates whether the applicable two-factor authentication requirement has been satisfied. |
| data.email | string | The email address associated with the authenticated CallProof account. |
| uri | string | The URL of the Apple registration request. |
Error Responses
Most Apple registration failures are returned with HTTP status 200 and a clientStatusCode of 401. An HTTP 401 response may be returned when registration cannot be authorized.
| HTTP Status Code | Client Status Code | Meaning |
|---|---|---|
| 200 | 401 | The required Apple authorization code was not supplied. |
| 200 | 401 | The Apple authorization code is invalid, expired, or could not be exchanged. |
| 200 | 401 | Apple did not provide a valid identity token. |
| 200 | 401 | Apple did not provide an email address for the user. |
| 200 | 401 | The Apple identity information could not be verified. |
| 200 | 401 | Device information could not be associated with the new account. |
| 401 | 401 | The CallProof account or company workspace could not be created. |
| 401 | 401 | Apple registration could not be authorized or completed. |
Error Response Fields
| Response Field | Type | Description |
|---|---|---|
| clientStatusCode | integer | The business-level error status, normally 401.
|
| error.code | integer | The business error code, generally 1500.
|
| error.message | string | A plain-language explanation of the Apple registration failure. |
| uri | string | The URL of the Apple registration request. |