curl --request POST \
--url https://api-staging.genuka.com/2023-11/developer/auth/register \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"company": {
"currency_code": "XAF",
"name": "Evolutive Games"
},
"user": {
"email": "[email protected]",
"first_name": "Takam",
"last_name": "Rushclin",
"password": "[email protected]",
"phone": null
}
}
'import requests
url = "https://api-staging.genuka.com/2023-11/developer/auth/register"
payload = {
"company": {
"currency_code": "XAF",
"name": "Evolutive Games"
},
"user": {
"email": "[email protected]",
"first_name": "Takam",
"last_name": "Rushclin",
"password": "[email protected]",
"phone": None
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
company: {currency_code: 'XAF', name: 'Evolutive Games'},
user: {
email: '[email protected]',
first_name: 'Takam',
last_name: 'Rushclin',
password: '[email protected]',
phone: null
}
})
};
fetch('https://api-staging.genuka.com/2023-11/developer/auth/register', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api-staging.genuka.com/2023-11/developer/auth/register",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'company' => [
'currency_code' => 'XAF',
'name' => 'Evolutive Games'
],
'user' => [
'email' => '[email protected]',
'first_name' => 'Takam',
'last_name' => 'Rushclin',
'password' => '[email protected]',
'phone' => null
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api-staging.genuka.com/2023-11/developer/auth/register"
payload := strings.NewReader("{\n \"company\": {\n \"currency_code\": \"XAF\",\n \"name\": \"Evolutive Games\"\n },\n \"user\": {\n \"email\": \"[email protected]\",\n \"first_name\": \"Takam\",\n \"last_name\": \"Rushclin\",\n \"password\": \"[email protected]\",\n \"phone\": null\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api-staging.genuka.com/2023-11/developer/auth/register")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"company\": {\n \"currency_code\": \"XAF\",\n \"name\": \"Evolutive Games\"\n },\n \"user\": {\n \"email\": \"[email protected]\",\n \"first_name\": \"Takam\",\n \"last_name\": \"Rushclin\",\n \"password\": \"[email protected]\",\n \"phone\": null\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-staging.genuka.com/2023-11/developer/auth/register")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"company\": {\n \"currency_code\": \"XAF\",\n \"name\": \"Evolutive Games\"\n },\n \"user\": {\n \"email\": \"[email protected]\",\n \"first_name\": \"Takam\",\n \"last_name\": \"Rushclin\",\n \"password\": \"[email protected]\",\n \"phone\": null\n }\n}"
response = http.request(request)
puts response.read_body{
"accessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiIxIiwianRpIjoiMGU3NDgxOWFhNzY0MGNjNWViZWE2YzVkNjlkMmY5ZDA4NjViOGUzNTM4ZTdiZDFlNWE2ZDMzZGIwYjA0NjY0ZWZhMjIyYzQwMTgyZmFlYzYiLCJpYXQiOjE3MDIzNjk3NTkuODA5MzA1LCJuYmYiOjE3MDIzNjk3NTkuODA5MzEsImV4cCI6MTczMzk5MjE1OS42MjI3MzEsInN1YiI6IjAxaGhlamEzNjhzeHAyeDJuZHFlY243dGo2Iiwic2NvcGVzIjpbIioiXX0.JxJavOQQj4Hry6V6I0NjERorJqQX4rvR7XLZmwCk3kdvat6-vXjQqC-qSW_xvCaYh080fMPOjVmqHa84HgwuQrs50fUrnbcbUOasnr9IlAVA2xSS_9432QyUJkKwfYU9u2k7DRUkF1VzITdqEYZ7oG_BgRd3BRf_N8Ce_4LGaKskL2BSHhpc9CAwXxreYbXsvWYAexZc5B_sOsUDFjBI1Z37pzrVE_OSI0hwVrgYi4VPH3gxLsPtX5idR2HactJ3GGHgnY4TtAlN6HjfPx7_m7-LqllYc85Y4lKBYBNr-pEVYeg6PdzbakYyVCvcm1nnhKxd7tG_kvLtA_IvNgRXpRkZo-rve7P1a5-8wUFLj2vy3hF6NR-hju_rFrpvQRBrUFCvJ7oEFelgfenkoWoQHKmuh9olfsXo6POV1A9cefFRmha5kmZxvh0PPK2kB9NtnpVJisPdk2nbnl7vzuNqWL8XEkBtkfvG2u8YjqvyCFIrea_wV_YEcgdQWKUkhDzjXJCdYtyWULHFtuLZuelwVEegNUEodvDzrdH0pn9BiUDjqN2RMaU5rwkEvKRhp7ow5DwbbMKFJ3UCa1OsQ3BfuA_NRdSib8LyKHvBzCZ5YhP_KwKKFzj2qKQ0VSfvwKdXPdyRPCP6STqvIoBmVO8Wa--LmavltXcaQslNcUeECcg",
"companyId": "01hheja204e7hya2rgjgbwxts3",
"token": {
"client_id": 1,
"created_at": "2023-12-12T08:29:19.000000Z",
"expires_at": "2024-12-12T08:29:19.000000Z",
"id": "0e74819aa7640cc5ebea6c5d69d2f9d0865b8e3538e7bd1e5a6d33db0b04664efa222c40182faec6",
"name": "Wilfried Djopa",
"revoked": false,
"scopes": [
"*"
],
"updated_at": "2023-12-12T08:29:19.000000Z",
"user_id": "01hheja368sxp2x2ndqecn7tj6"
}
}Create account
Register
curl --request POST \
--url https://api-staging.genuka.com/2023-11/developer/auth/register \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"company": {
"currency_code": "XAF",
"name": "Evolutive Games"
},
"user": {
"email": "[email protected]",
"first_name": "Takam",
"last_name": "Rushclin",
"password": "[email protected]",
"phone": null
}
}
'import requests
url = "https://api-staging.genuka.com/2023-11/developer/auth/register"
payload = {
"company": {
"currency_code": "XAF",
"name": "Evolutive Games"
},
"user": {
"email": "[email protected]",
"first_name": "Takam",
"last_name": "Rushclin",
"password": "[email protected]",
"phone": None
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
company: {currency_code: 'XAF', name: 'Evolutive Games'},
user: {
email: '[email protected]',
first_name: 'Takam',
last_name: 'Rushclin',
password: '[email protected]',
phone: null
}
})
};
fetch('https://api-staging.genuka.com/2023-11/developer/auth/register', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api-staging.genuka.com/2023-11/developer/auth/register",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'company' => [
'currency_code' => 'XAF',
'name' => 'Evolutive Games'
],
'user' => [
'email' => '[email protected]',
'first_name' => 'Takam',
'last_name' => 'Rushclin',
'password' => '[email protected]',
'phone' => null
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api-staging.genuka.com/2023-11/developer/auth/register"
payload := strings.NewReader("{\n \"company\": {\n \"currency_code\": \"XAF\",\n \"name\": \"Evolutive Games\"\n },\n \"user\": {\n \"email\": \"[email protected]\",\n \"first_name\": \"Takam\",\n \"last_name\": \"Rushclin\",\n \"password\": \"[email protected]\",\n \"phone\": null\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api-staging.genuka.com/2023-11/developer/auth/register")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"company\": {\n \"currency_code\": \"XAF\",\n \"name\": \"Evolutive Games\"\n },\n \"user\": {\n \"email\": \"[email protected]\",\n \"first_name\": \"Takam\",\n \"last_name\": \"Rushclin\",\n \"password\": \"[email protected]\",\n \"phone\": null\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-staging.genuka.com/2023-11/developer/auth/register")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"company\": {\n \"currency_code\": \"XAF\",\n \"name\": \"Evolutive Games\"\n },\n \"user\": {\n \"email\": \"[email protected]\",\n \"first_name\": \"Takam\",\n \"last_name\": \"Rushclin\",\n \"password\": \"[email protected]\",\n \"phone\": null\n }\n}"
response = http.request(request)
puts response.read_body{
"accessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiIxIiwianRpIjoiMGU3NDgxOWFhNzY0MGNjNWViZWE2YzVkNjlkMmY5ZDA4NjViOGUzNTM4ZTdiZDFlNWE2ZDMzZGIwYjA0NjY0ZWZhMjIyYzQwMTgyZmFlYzYiLCJpYXQiOjE3MDIzNjk3NTkuODA5MzA1LCJuYmYiOjE3MDIzNjk3NTkuODA5MzEsImV4cCI6MTczMzk5MjE1OS42MjI3MzEsInN1YiI6IjAxaGhlamEzNjhzeHAyeDJuZHFlY243dGo2Iiwic2NvcGVzIjpbIioiXX0.JxJavOQQj4Hry6V6I0NjERorJqQX4rvR7XLZmwCk3kdvat6-vXjQqC-qSW_xvCaYh080fMPOjVmqHa84HgwuQrs50fUrnbcbUOasnr9IlAVA2xSS_9432QyUJkKwfYU9u2k7DRUkF1VzITdqEYZ7oG_BgRd3BRf_N8Ce_4LGaKskL2BSHhpc9CAwXxreYbXsvWYAexZc5B_sOsUDFjBI1Z37pzrVE_OSI0hwVrgYi4VPH3gxLsPtX5idR2HactJ3GGHgnY4TtAlN6HjfPx7_m7-LqllYc85Y4lKBYBNr-pEVYeg6PdzbakYyVCvcm1nnhKxd7tG_kvLtA_IvNgRXpRkZo-rve7P1a5-8wUFLj2vy3hF6NR-hju_rFrpvQRBrUFCvJ7oEFelgfenkoWoQHKmuh9olfsXo6POV1A9cefFRmha5kmZxvh0PPK2kB9NtnpVJisPdk2nbnl7vzuNqWL8XEkBtkfvG2u8YjqvyCFIrea_wV_YEcgdQWKUkhDzjXJCdYtyWULHFtuLZuelwVEegNUEodvDzrdH0pn9BiUDjqN2RMaU5rwkEvKRhp7ow5DwbbMKFJ3UCa1OsQ3BfuA_NRdSib8LyKHvBzCZ5YhP_KwKKFzj2qKQ0VSfvwKdXPdyRPCP6STqvIoBmVO8Wa--LmavltXcaQslNcUeECcg",
"companyId": "01hheja204e7hya2rgjgbwxts3",
"token": {
"client_id": 1,
"created_at": "2023-12-12T08:29:19.000000Z",
"expires_at": "2024-12-12T08:29:19.000000Z",
"id": "0e74819aa7640cc5ebea6c5d69d2f9d0865b8e3538e7bd1e5a6d33db0b04664efa222c40182faec6",
"name": "Wilfried Djopa",
"revoked": false,
"scopes": [
"*"
],
"updated_at": "2023-12-12T08:29:19.000000Z",
"user_id": "01hheja368sxp2x2ndqecn7tj6"
}
}Overview
The Create Account API allows developers to programmatically register new user accounts on the Genuka platform. This endpoint is essential for applications that need to onboard users directly through their own interface while leveraging Genuka’s comprehensive business management features.Use Cases
This API endpoint is typically used for:- Custom onboarding flows - Integrate account creation directly into your application’s user experience
- Third-party integrations - Allow other platforms to create Genuka accounts for their users
Security Considerations
- Password Requirements: Minimum 8 characters with at least one uppercase letter, one number, and one special character
- Rate Limiting: Account creation is limited to 10 requests per IP address per hour to prevent abuse
- Duplicate Prevention: Email addresses can only be associated with one active account
Response Data
Upon successful account creation, the API returns:- User ID: Unique identifier for the newly created account
- Account Status: Current status (pending verification, active, etc.)
- Access Tokens: Initial authentication tokens for immediate API access
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Response
UserRegistered
"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiIxIiwianRpIjoiMGU3NDgxOWFhNzY0MGNjNWViZWE2YzVkNjlkMmY5ZDA4NjViOGUzNTM4ZTdiZDFlNWE2ZDMzZGIwYjA0NjY0ZWZhMjIyYzQwMTgyZmFlYzYiLCJpYXQiOjE3MDIzNjk3NTkuODA5MzA1LCJuYmYiOjE3MDIzNjk3NTkuODA5MzEsImV4cCI6MTczMzk5MjE1OS42MjI3MzEsInN1YiI6IjAxaGhlamEzNjhzeHAyeDJuZHFlY243dGo2Iiwic2NvcGVzIjpbIioiXX0.JxJavOQQj4Hry6V6I0NjERorJqQX4rvR7XLZmwCk3kdvat6-vXjQqC-qSW_xvCaYh080fMPOjVmqHa84HgwuQrs50fUrnbcbUOasnr9IlAVA2xSS_9432QyUJkKwfYU9u2k7DRUkF1VzITdqEYZ7oG_BgRd3BRf_N8Ce_4LGaKskL2BSHhpc9CAwXxreYbXsvWYAexZc5B_sOsUDFjBI1Z37pzrVE_OSI0hwVrgYi4VPH3gxLsPtX5idR2HactJ3GGHgnY4TtAlN6HjfPx7_m7-LqllYc85Y4lKBYBNr-pEVYeg6PdzbakYyVCvcm1nnhKxd7tG_kvLtA_IvNgRXpRkZo-rve7P1a5-8wUFLj2vy3hF6NR-hju_rFrpvQRBrUFCvJ7oEFelgfenkoWoQHKmuh9olfsXo6POV1A9cefFRmha5kmZxvh0PPK2kB9NtnpVJisPdk2nbnl7vzuNqWL8XEkBtkfvG2u8YjqvyCFIrea_wV_YEcgdQWKUkhDzjXJCdYtyWULHFtuLZuelwVEegNUEodvDzrdH0pn9BiUDjqN2RMaU5rwkEvKRhp7ow5DwbbMKFJ3UCa1OsQ3BfuA_NRdSib8LyKHvBzCZ5YhP_KwKKFzj2qKQ0VSfvwKdXPdyRPCP6STqvIoBmVO8Wa--LmavltXcaQslNcUeECcg"
"01hheja204e7hya2rgjgbwxts3"
Show child attributes
Show child attributes
