Project

General

Profile

Onboarding API Spec » History » Version 14

Ryan Supawarapong, 02/19/2026 10:00 AM

1 1 Ryan Supawarapong
# Onboarding API Spec
2
3 13 Ryan Supawarapong
THis will use [[Response_Specification]] as the baseline response body for the payload.
4
5 1 Ryan Supawarapong
**Table of content**
6
- [Fullname](#Fullname)
7
- [Verify](#Verify)
8 7 Ryan Supawarapong
- [Knowledge Test](#Knowledge-Test)
9 5 Ryan Supawarapong
- [Address](#Address)
10 1 Ryan Supawarapong
11
## Fullname
12
13 3 Ryan Supawarapong
14 1 Ryan Supawarapong
| Type    | Value  |
15
| --------| ---- | 
16 4 Ryan Supawarapong
| API Path| `/onboarding/v1/fullname` |
17
| Request Type | `POST` |
18
| Content-Type | `application/json` |
19 1 Ryan Supawarapong
20 4 Ryan Supawarapong
### Request Body
21
22 11 Ryan Supawarapong
| Key | Type | Example | Required |
23
|-----|------|---------|----------|
24
| `title` | string | `"Mr."` | yes |
25
| `thName` | string | `"สมชาย"` | yes |
26
| `thMiddlename` | string | `"ใจดี"` | no |
27
| `thSurname` | string | `"รักดี"` | yes |
28
| `enName` | string | `"Somchai"` | yes |
29
| `enMiddlename` | string | `"Jaidee"` | no |
30
| `enSurname` | string | `"Rakdee"` | yes |
31
| `email` | string | `"somchai@example.com"` | yes |
32
| `mobile` | string | `"0812345678"` | yes |
33
| `citizenship` | integer | `764` | yes |
34 4 Ryan Supawarapong
35 8 Ryan Supawarapong
### response body
36 1 Ryan Supawarapong
37 8 Ryan Supawarapong
| Key | Type | example | Required |
38
|---- |-------| ------- | -------- |
39 14 Ryan Supawarapong
| `status` | string | `"success"` | yes |
40
| `xid` | string | `"c4336914-d359-4ca7-ba0f-edc51b9d27ee"` | yes |
41
| `data` | null | `null` | no |
42 4 Ryan Supawarapong
43
##### Error Response (400)
44
45 11 Ryan Supawarapong
| Key | Type | Example | Required |
46
|-----|------|---------|----------|
47 14 Ryan Supawarapong
| error | string | `"duplicate email, mobile"` | yes |
48 1 Ryan Supawarapong
49
### Diagram
50
51
<img style="width: 324px;" src="clipboard-202602181537-fdab7.png"><br>
52
53
## Verify
54
55
| Type    | Value  |
56 11 Ryan Supawarapong
| --------| ------ | 
57
| API Path| /onboarding/v1/verify/init |
58 3 Ryan Supawarapong
| Request Type | POST |
59
60
61 1 Ryan Supawarapong
### Request Body
62 11 Ryan Supawarapong
| Key | Type | Example | Required |
63
|-----|------|---------|----------|
64
| `registerId` | string | `"c4336914-d359-4ca7-ba0f-edc51b9d27ee"` | yes |
65
| `email` | string | `"user@example.com"` | no |
66
| `mobile` | string | `"081234567890"` | no |
67
| `referenceCode` | string | `"REF123456"` | no |
68
| `otp` | string | `"123456"` | no |
69
| `isMobileVerify` | bool | `true` | no |
70
| `isEmailVerify` | bool | `false` | no |
71 1 Ryan Supawarapong
| `ip` | string | `"203.0.113.10"` | no |
72
73
74
### Example response body
75 14 Ryan Supawarapong
| Key | Type | example | Required |
76
|---- |-------| ------- | -------- |
77
| `status` | string | `"success"` | yes |
78
| `xid` | string | `"c4336914-d359-4ca7-ba0f-edc51b9d27ee"` | yes |
79
| `data` | map[string]any | `{"data": {"referenceCode":"XGEFSD"}}` | yes |
80 1 Ryan Supawarapong
81
##### Error Response (400)
82 14 Ryan Supawarapong
| Key | Type | example | Required |
83
|---- |-------| ------- | -------- |
84
| `data` | map[string]any | `{"errors": {"field": "email", "message": "email is required when mobile is empty"} }` | yes |
85 1 Ryan Supawarapong
86
87 14 Ryan Supawarapong
### Diagram
88
<img style="width: 472px;" src="clipboard-202602191635-co1w5.png"><br>
89 1 Ryan Supawarapong
90
## Address
91 8 Ryan Supawarapong
92 9 Ryan Supawarapong
| Type    | Value  |
93 11 Ryan Supawarapong
| --------| ------ | 
94 9 Ryan Supawarapong
| API Path| /onboarding/v1/TBA |
95 10 Ryan Supawarapong
| Request Type | TBA |
96 5 Ryan Supawarapong
97
### Request Body
98 11 Ryan Supawarapong
| Key | Type | Example | Required |
99
|-----|------|---------|----------|
100 1 Ryan Supawarapong
101
### Example response body
102 11 Ryan Supawarapong
| Key | Type | Example | Required |
103
|-----|------|---------|----------|
104 1 Ryan Supawarapong
105 8 Ryan Supawarapong
##### Error Response (400)
106 11 Ryan Supawarapong
| Key | Type | Example | Required |
107
|-----|------|---------|----------|
108 8 Ryan Supawarapong
109
### Diagram
110 1 Ryan Supawarapong
111
112 8 Ryan Supawarapong
## Knowledge Test
113
114 9 Ryan Supawarapong
| Type    | Value  |
115 1 Ryan Supawarapong
| --------| ---- | 
116 8 Ryan Supawarapong
| API Path| /onboarding/v1/TBA |
117 10 Ryan Supawarapong
| Request Type | TBA |
118 5 Ryan Supawarapong
119 1 Ryan Supawarapong
### Request Body
120 11 Ryan Supawarapong
| Key | Type | Example | Required |
121
|-----|------|---------|----------|
122 1 Ryan Supawarapong
123
### Example response body
124 11 Ryan Supawarapong
| Key | Type | Example | Required |
125
|-----|------|---------|----------|
126 8 Ryan Supawarapong
127
##### Error Response (400)
128 11 Ryan Supawarapong
| Key | Type | Example | Required |
129
|-----|------|---------|----------|
130 9 Ryan Supawarapong
131
### Diagram