Project

General

Profile

Onboarding API Spec » History » Version 15

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