Save account details (step 2)
Overview
Step 2 of self-service signup. Persists the account holder's profile (name, mobile, optional password, and how they heard about us) against an in-progress activation. Requires the activation email to already be verified and a plan_id to be set.
Prerequisites
- No authentication — this endpoint is public.
Base URL
| Environment | URL |
|---|---|
| Production | https://production-api.shoutaboutus.com |
| Development | https://development-api.shoutaboutus.com |
Endpoint
POST /api/v1/signup/account
Authentication
-
No bearer token required.
-
Public — no bearer token (
auth: noauth).
Rate limit
- 10 requests/min per IP. Public route.
Request body
| Field | Type | Required | Description |
|---|---|---|---|
signup_account_id | integer | Required | The signup activation id returned by step 1. |
first_name | string | Required | 2–100 chars; no angle brackets. |
last_name | string | Required | ≤100 chars; no angle brackets. |
mobile | string | Required | Contact mobile number. |
password | string | Optional | 8–100 chars, mixed case + number + special char, no spaces/quotes. |
hear_about_us | string | Required | One of Website or Blog, Social Media, Referral, Other. |
hear_others | string | Optional | 10–255 chars; free text (typically when hear_about_us = Other). |
{
"signup_account_id": 101,
"first_name": "Jane",
"last_name": "Doe",
"mobile": "+11234567890",
"password": "<your-password>",
"hear_about_us": "Referral",
"hear_others": null
}How it works
- Synchronous.
200returns the refreshed activation snapshot with name/mobile populated. 403when the email is not yet verified (Email not verified) or no plan is set (Plan not found).422on validation failure.
Response
200 OK · 200
200{
"data": {
"message": null,
"account": {
"id": 101,
"email": "[email protected]",
"email_verified_at": "2026-07-09T08:15:00.000000Z",
"first_name": "Jane",
"last_name": "Doe",
"mobile": "+11234567890",
"plan_id": 3,
"plan_group_name": "Starter",
"referral_code": "REF123",
"referral_company_id": 5,
"referral_company_name": "Acme Partner",
"step": "account_activation",
"who_will_pay": "brand",
"hear_about_us": "Referral",
"hear_others": null,
"hide_password": null,
"show_skip_google_connect_button": 0
},
"business": null,
"feature_options": null,
"meta_data": null
}
}403 Email not verified · 403
403{
"message": "Forbidden",
"status": "error",
"errors": "Email not verified"
}Errors
| Status | Meaning |
|---|---|
403 | Email not verified |
422 | Returned on validation failure |
500 | Unexpected server error |
Example request
curl --request POST \
--url "https://production-api.shoutaboutus.com/api/v1/signup/account" \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{"signup_account_id": 101, "first_name": "Jane", "last_name": "Doe", "mobile": "+11234567890", "password": "<your-password>", "hear_about_us": "Referral", "hear_others": null}'Updated 18 days ago
Did this page help you?
