Set your organization representative
curl --request PUT \
--url https://api.platform.chipper.ai/v1/organization/representative \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"fullName": "<string>",
"phone": "<string>",
"idNumber": "<string>",
"country": "<string>",
"idType": "ghana_card",
"metadata": {}
}
'import requests
url = "https://api.platform.chipper.ai/v1/organization/representative"
payload = {
"fullName": "<string>",
"phone": "<string>",
"idNumber": "<string>",
"country": "<string>",
"idType": "ghana_card",
"metadata": {}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
fullName: '<string>',
phone: '<string>',
idNumber: '<string>',
country: '<string>',
idType: 'ghana_card',
metadata: {}
})
};
fetch('https://api.platform.chipper.ai/v1/organization/representative', 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.platform.chipper.ai/v1/organization/representative",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'fullName' => '<string>',
'phone' => '<string>',
'idNumber' => '<string>',
'country' => '<string>',
'idType' => 'ghana_card',
'metadata' => [
]
]),
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.platform.chipper.ai/v1/organization/representative"
payload := strings.NewReader("{\n \"fullName\": \"<string>\",\n \"phone\": \"<string>\",\n \"idNumber\": \"<string>\",\n \"country\": \"<string>\",\n \"idType\": \"ghana_card\",\n \"metadata\": {}\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.platform.chipper.ai/v1/organization/representative")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"fullName\": \"<string>\",\n \"phone\": \"<string>\",\n \"idNumber\": \"<string>\",\n \"country\": \"<string>\",\n \"idType\": \"ghana_card\",\n \"metadata\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.platform.chipper.ai/v1/organization/representative")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"fullName\": \"<string>\",\n \"phone\": \"<string>\",\n \"idNumber\": \"<string>\",\n \"country\": \"<string>\",\n \"idType\": \"ghana_card\",\n \"metadata\": {}\n}"
response = http.request(request)
puts response.read_body{
"representative": {
"id": "rep_coh2serzlkn9chsl1zac",
"fullName": "Ama Mensah",
"phone": "+233240000123",
"idType": "ghana_card",
"idNumber": "GHA-123456789-0",
"country": "GH",
"status": "active",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}
}{
"error": "validation_error",
"message": "Request validation failed",
"requestId": "req_q7vei435zifs51ia0lqr"
}{
"error": "unauthorized",
"message": "Invalid API key",
"requestId": "req_q7vei435zifs51ia0lqr"
}{
"error": "forbidden",
"message": "Only owners and admins can set the organization representative",
"requestId": "req_q7vei435zifs51ia0lqr"
}Organization
Set your organization representative
Creates or replaces the representative. Required before your first GHS virtual account in production (sandbox fills in a default, and setting one replaces it): the partner bank (UMB) opens accounts against a named Ghanaian identity. Owners and admins only: set it in the dashboard (Add funds → Bank transfer in GHS asks for it) or with a team-member session; API keys get 403.
The first GHS virtual account registers this person with the bank. Changing fullName or idNumber afterwards updates your record here but not the bank’s, so email api-support@chippercash.com if the representative genuinely changes.
PUT
/
v1
/
organization
/
representative
Set your organization representative
curl --request PUT \
--url https://api.platform.chipper.ai/v1/organization/representative \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"fullName": "<string>",
"phone": "<string>",
"idNumber": "<string>",
"country": "<string>",
"idType": "ghana_card",
"metadata": {}
}
'import requests
url = "https://api.platform.chipper.ai/v1/organization/representative"
payload = {
"fullName": "<string>",
"phone": "<string>",
"idNumber": "<string>",
"country": "<string>",
"idType": "ghana_card",
"metadata": {}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
fullName: '<string>',
phone: '<string>',
idNumber: '<string>',
country: '<string>',
idType: 'ghana_card',
metadata: {}
})
};
fetch('https://api.platform.chipper.ai/v1/organization/representative', 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.platform.chipper.ai/v1/organization/representative",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'fullName' => '<string>',
'phone' => '<string>',
'idNumber' => '<string>',
'country' => '<string>',
'idType' => 'ghana_card',
'metadata' => [
]
]),
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.platform.chipper.ai/v1/organization/representative"
payload := strings.NewReader("{\n \"fullName\": \"<string>\",\n \"phone\": \"<string>\",\n \"idNumber\": \"<string>\",\n \"country\": \"<string>\",\n \"idType\": \"ghana_card\",\n \"metadata\": {}\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.platform.chipper.ai/v1/organization/representative")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"fullName\": \"<string>\",\n \"phone\": \"<string>\",\n \"idNumber\": \"<string>\",\n \"country\": \"<string>\",\n \"idType\": \"ghana_card\",\n \"metadata\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.platform.chipper.ai/v1/organization/representative")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"fullName\": \"<string>\",\n \"phone\": \"<string>\",\n \"idNumber\": \"<string>\",\n \"country\": \"<string>\",\n \"idType\": \"ghana_card\",\n \"metadata\": {}\n}"
response = http.request(request)
puts response.read_body{
"representative": {
"id": "rep_coh2serzlkn9chsl1zac",
"fullName": "Ama Mensah",
"phone": "+233240000123",
"idType": "ghana_card",
"idNumber": "GHA-123456789-0",
"country": "GH",
"status": "active",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}
}{
"error": "validation_error",
"message": "Request validation failed",
"requestId": "req_q7vei435zifs51ia0lqr"
}{
"error": "unauthorized",
"message": "Invalid API key",
"requestId": "req_q7vei435zifs51ia0lqr"
}{
"error": "forbidden",
"message": "Only owners and admins can set the organization representative",
"requestId": "req_q7vei435zifs51ia0lqr"
}Authorizations
Your API key: sk_test_… (sandbox) or sk_live_… (production).
Body
application/json
Response
The representative as stored.
Show child attributes
Show child attributes