curl --request GET \
--url https://app.vumasign.com/api/v1/vocabulary \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.vumasign.com/api/v1/vocabulary"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.vumasign.com/api/v1/vocabulary', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.vumasign.com/api/v1/vocabulary"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"core": {
"version": "1.0.0",
"subject_keys": [
"spouse",
"dependant_<n>",
"beneficiary_<n>",
"witness_<n>"
],
"keys": [
{
"key": "person.title",
"label": "Title",
"type": "choice",
"description": "The form of address printed before a name. Not a job title (that is `employment.job_title`).",
"subject_capable": true,
"options": [
{
"value": "mr",
"label": "Mr"
},
{
"value": "mrs",
"label": "Mrs"
},
{
"value": "ms",
"label": "Ms"
},
{
"value": "miss",
"label": "Miss"
},
{
"value": "dr",
"label": "Dr"
},
{
"value": "prof",
"label": "Prof"
}
],
"since": "1.0.0"
},
{
"key": "person.first_names",
"label": "First names",
"type": "text",
"description": "Every given name, as on the identity document. Not initials, and not a preferred or known-as name.",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "person.last_name",
"label": "Surname",
"type": "text",
"description": "The family name, as on the identity document. Not a maiden name unless the form asks for the current surname.",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "person.initials",
"label": "Initials",
"type": "text",
"description": "The initials of the first names, for example `J.M.` Not a signature initial.",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "person.sa_id_number",
"label": "South African ID number",
"type": "sa_id",
"description": "The 13-digit South African identity number. Not a passport number.",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "person.passport_number",
"label": "Passport number",
"type": "text",
"description": "The number of a passport, for a person without a South African ID number. Not the ID number.",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "person.passport_country",
"label": "Passport country",
"type": "text",
"description": "The country that issued the passport. Not the country of residence.",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "person.date_of_birth",
"label": "Date of birth",
"type": "date",
"description": "The day the person was born. Not an age.",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "person.gender",
"label": "Gender",
"type": "choice",
"description": "The gender the form asks for, as the two options printed on most South African forms.",
"subject_capable": true,
"options": [
{
"value": "male",
"label": "Male"
},
{
"value": "female",
"label": "Female"
}
],
"since": "1.0.0"
},
{
"key": "person.marital_status",
"label": "Marital status",
"type": "choice",
"description": "Whether the person is married, and how. Not the spouse’s details.",
"subject_capable": true,
"options": [
{
"value": "single",
"label": "Single"
},
{
"value": "married",
"label": "Married"
},
{
"value": "divorced",
"label": "Divorced"
},
{
"value": "widowed",
"label": "Widowed"
},
{
"value": "life_partner",
"label": "Life partner"
}
],
"since": "1.0.0"
},
{
"key": "person.relationship_to_principal",
"label": "Relationship to the principal",
"type": "choice",
"description": "How a subject (a spouse, dependant or beneficiary) is related to the form’s principal person.",
"subject_capable": true,
"options": [
{
"value": "spouse",
"label": "Spouse"
},
{
"value": "child",
"label": "Child"
},
{
"value": "parent",
"label": "Parent"
},
{
"value": "sibling",
"label": "Sibling"
},
{
"value": "other",
"label": "Other"
}
],
"since": "1.0.0"
},
{
"key": "person.email",
"label": "Email address",
"type": "email",
"description": "The person’s own email address. Not an employer’s contact address (that is `employer.contact_email`).",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "person.mobile_number",
"label": "Mobile number",
"type": "phone",
"description": "The person’s cellphone number.",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "person.home_phone",
"label": "Home telephone",
"type": "phone",
"description": "A landline at home. Not a cellphone.",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "person.work_phone",
"label": "Work telephone",
"type": "phone",
"description": "A telephone number at work. Not the employer’s switchboard on an employer section.",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "person.income_tax_number",
"label": "Income tax number",
"type": "text",
"description": "The person’s SARS income tax reference number. Not a company’s PAYE reference.",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "person.home_language",
"label": "Home language",
"type": "text",
"description": "The language the person speaks at home.",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "person.occupation",
"label": "Occupation",
"type": "text",
"description": "What the person does for a living, in general terms. Not a job title at one employer.",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "residential_address.line_1",
"label": "Residential address line 1",
"type": "text",
"description": "The first line of the residential address: a street number and name, a unit, or a box number.",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "residential_address.line_2",
"label": "Residential address line 2",
"type": "text",
"description": "The second line of the residential address, when the form prints one.",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "residential_address.suburb",
"label": "Suburb",
"type": "text",
"description": "The suburb of the residential address. Not the city.",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "residential_address.city",
"label": "City or town",
"type": "text",
"description": "The city or town of the residential address.",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "residential_address.postal_code",
"label": "Postal code",
"type": "text",
"description": "The four-digit postal code of the residential address.",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "residential_address.province",
"label": "Province",
"type": "choice",
"description": "The South African province of the residential address.",
"subject_capable": true,
"options": [
{
"value": "eastern_cape",
"label": "Eastern Cape"
},
{
"value": "free_state",
"label": "Free State"
},
{
"value": "gauteng",
"label": "Gauteng"
},
{
"value": "kwazulu_natal",
"label": "KwaZulu-Natal"
},
{
"value": "limpopo",
"label": "Limpopo"
},
{
"value": "mpumalanga",
"label": "Mpumalanga"
},
{
"value": "north_west",
"label": "North West"
},
{
"value": "northern_cape",
"label": "Northern Cape"
},
{
"value": "western_cape",
"label": "Western Cape"
}
],
"since": "1.0.0"
},
{
"key": "residential_address.country",
"label": "Country",
"type": "text",
"description": "The country of the residential address.",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "postal_address.line_1",
"label": "Postal address line 1",
"type": "text",
"description": "The first line of the postal address: a street number and name, a unit, or a box number.",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "postal_address.line_2",
"label": "Postal address line 2",
"type": "text",
"description": "The second line of the postal address, when the form prints one.",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "postal_address.suburb",
"label": "Suburb",
"type": "text",
"description": "The suburb of the postal address. Not the city.",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "postal_address.city",
"label": "City or town",
"type": "text",
"description": "The city or town of the postal address.",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "postal_address.postal_code",
"label": "Postal code",
"type": "text",
"description": "The four-digit postal code of the postal address.",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "postal_address.province",
"label": "Province",
"type": "choice",
"description": "The South African province of the postal address.",
"subject_capable": true,
"options": [
{
"value": "eastern_cape",
"label": "Eastern Cape"
},
{
"value": "free_state",
"label": "Free State"
},
{
"value": "gauteng",
"label": "Gauteng"
},
{
"value": "kwazulu_natal",
"label": "KwaZulu-Natal"
},
{
"value": "limpopo",
"label": "Limpopo"
},
{
"value": "mpumalanga",
"label": "Mpumalanga"
},
{
"value": "north_west",
"label": "North West"
},
{
"value": "northern_cape",
"label": "Northern Cape"
},
{
"value": "western_cape",
"label": "Western Cape"
}
],
"since": "1.0.0"
},
{
"key": "postal_address.country",
"label": "Country",
"type": "text",
"description": "The country of the postal address.",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "employment.employee_number",
"label": "Employee number",
"type": "text",
"description": "The number the employer knows the person by. Not a payroll or tax reference.",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "employment.job_title",
"label": "Job title",
"type": "text",
"description": "The person’s position at their employer. Not their form of address (that is `person.title`).",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "employment.start_date",
"label": "Employment start date",
"type": "date",
"description": "The day the person started with this employer.",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "employment.monthly_salary",
"label": "Monthly salary",
"type": "number",
"description": "Gross pay a month, in rand. Not an annual figure.",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "employment.annual_salary",
"label": "Annual salary",
"type": "number",
"description": "Gross pay a year, in rand. Not a monthly figure.",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "employer.name",
"label": "Employer name",
"type": "text",
"description": "The employer’s registered name. Not a trading name.",
"subject_capable": false,
"since": "1.0.0"
},
{
"key": "employer.trading_name",
"label": "Trading name",
"type": "text",
"description": "The name the employer trades under, when it differs from the registered name.",
"subject_capable": false,
"since": "1.0.0"
},
{
"key": "employer.registration_number",
"label": "Company registration number",
"type": "text",
"description": "The employer’s CIPC registration number. Not a PAYE or VAT reference.",
"subject_capable": false,
"since": "1.0.0"
},
{
"key": "employer.paye_reference_number",
"label": "PAYE reference number",
"type": "text",
"description": "The employer’s SARS PAYE reference number. Not a person’s income tax number.",
"subject_capable": false,
"since": "1.0.0"
},
{
"key": "employer.contact_name",
"label": "Employer contact person",
"type": "text",
"description": "The person at the employer a form names as its contact, for example someone in HR.",
"subject_capable": false,
"since": "1.0.0"
},
{
"key": "employer.contact_email",
"label": "Employer contact email",
"type": "email",
"description": "The employer contact’s email address. Not the employee’s.",
"subject_capable": false,
"since": "1.0.0"
},
{
"key": "employer.contact_phone",
"label": "Employer contact telephone",
"type": "phone",
"description": "The employer contact’s telephone number. Not the employee’s.",
"subject_capable": false,
"since": "1.0.0"
},
{
"key": "bank.account_holder",
"label": "Account holder",
"type": "text",
"description": "The name the bank account is held in.",
"subject_capable": false,
"since": "1.0.0"
},
{
"key": "bank.bank_name",
"label": "Bank",
"type": "text",
"description": "The name of the bank.",
"subject_capable": false,
"since": "1.0.0"
},
{
"key": "bank.branch_code",
"label": "Branch code",
"type": "text",
"description": "The bank’s branch or universal branch code.",
"subject_capable": false,
"since": "1.0.0"
},
{
"key": "bank.account_number",
"label": "Account number",
"type": "text",
"description": "The bank account number. Not a card number.",
"subject_capable": false,
"since": "1.0.0"
},
{
"key": "bank.account_type",
"label": "Account type",
"type": "choice",
"description": "The kind of bank account.",
"subject_capable": false,
"options": [
{
"value": "cheque",
"label": "Cheque"
},
{
"value": "savings",
"label": "Savings"
},
{
"value": "transmission",
"label": "Transmission"
}
],
"since": "1.0.0"
},
{
"key": "bank.debit_order_day",
"label": "Debit order day",
"type": "number",
"description": "The day of the month a debit order runs, from 1 to 31.",
"subject_capable": false,
"since": "1.0.0"
}
]
},
"organisation": {
"keys": [
{
"key": "medical_aid.plan",
"type": "choice",
"templates": 3,
"labels": [
"Plan",
"Benefit option"
],
"options": [
"classic_comprehensive",
"classic_priority",
"essential_smart"
]
},
{
"key": "medical_aid.membership_number",
"type": "text",
"templates": 3,
"labels": [
"Membership number"
]
}
]
}
}{
"error": {
"code": "unauthenticated",
"message": "<string>"
}
}{
"error": {
"code": "unauthenticated",
"message": "<string>"
}
}{
"error": {
"code": "unauthenticated",
"message": "<string>"
}
}{
"error": {
"code": "unauthenticated",
"message": "<string>"
}
}The core vocabulary, and your organisation’s own keys.
WHAT A TEMPLATE’S KEYS MEAN, IN TWO LISTS. core is the vocabulary Vumasign publishes — people, SA ID and passport, contact, address, employment, employer and banking — with its version: map your data to it once, for every template. organisation is every other key your own live templates use, with its type, how many templates use it, the labels printed beside it and, for a question, its option values: map to those as they appear.
⚠️ THE CORE NEVER RENAMES OR REMOVES A KEY OR AN OPTION VALUE; a minor version adds, and a key is at most deprecated with its replacement. ⚠️ organisation IS DERIVED, live, from your organisation’s live templates (archived ones left out), and lists only your keys, never another organisation’s. Test and live keys alike.
curl --request GET \
--url https://app.vumasign.com/api/v1/vocabulary \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.vumasign.com/api/v1/vocabulary"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.vumasign.com/api/v1/vocabulary', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.vumasign.com/api/v1/vocabulary"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"core": {
"version": "1.0.0",
"subject_keys": [
"spouse",
"dependant_<n>",
"beneficiary_<n>",
"witness_<n>"
],
"keys": [
{
"key": "person.title",
"label": "Title",
"type": "choice",
"description": "The form of address printed before a name. Not a job title (that is `employment.job_title`).",
"subject_capable": true,
"options": [
{
"value": "mr",
"label": "Mr"
},
{
"value": "mrs",
"label": "Mrs"
},
{
"value": "ms",
"label": "Ms"
},
{
"value": "miss",
"label": "Miss"
},
{
"value": "dr",
"label": "Dr"
},
{
"value": "prof",
"label": "Prof"
}
],
"since": "1.0.0"
},
{
"key": "person.first_names",
"label": "First names",
"type": "text",
"description": "Every given name, as on the identity document. Not initials, and not a preferred or known-as name.",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "person.last_name",
"label": "Surname",
"type": "text",
"description": "The family name, as on the identity document. Not a maiden name unless the form asks for the current surname.",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "person.initials",
"label": "Initials",
"type": "text",
"description": "The initials of the first names, for example `J.M.` Not a signature initial.",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "person.sa_id_number",
"label": "South African ID number",
"type": "sa_id",
"description": "The 13-digit South African identity number. Not a passport number.",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "person.passport_number",
"label": "Passport number",
"type": "text",
"description": "The number of a passport, for a person without a South African ID number. Not the ID number.",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "person.passport_country",
"label": "Passport country",
"type": "text",
"description": "The country that issued the passport. Not the country of residence.",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "person.date_of_birth",
"label": "Date of birth",
"type": "date",
"description": "The day the person was born. Not an age.",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "person.gender",
"label": "Gender",
"type": "choice",
"description": "The gender the form asks for, as the two options printed on most South African forms.",
"subject_capable": true,
"options": [
{
"value": "male",
"label": "Male"
},
{
"value": "female",
"label": "Female"
}
],
"since": "1.0.0"
},
{
"key": "person.marital_status",
"label": "Marital status",
"type": "choice",
"description": "Whether the person is married, and how. Not the spouse’s details.",
"subject_capable": true,
"options": [
{
"value": "single",
"label": "Single"
},
{
"value": "married",
"label": "Married"
},
{
"value": "divorced",
"label": "Divorced"
},
{
"value": "widowed",
"label": "Widowed"
},
{
"value": "life_partner",
"label": "Life partner"
}
],
"since": "1.0.0"
},
{
"key": "person.relationship_to_principal",
"label": "Relationship to the principal",
"type": "choice",
"description": "How a subject (a spouse, dependant or beneficiary) is related to the form’s principal person.",
"subject_capable": true,
"options": [
{
"value": "spouse",
"label": "Spouse"
},
{
"value": "child",
"label": "Child"
},
{
"value": "parent",
"label": "Parent"
},
{
"value": "sibling",
"label": "Sibling"
},
{
"value": "other",
"label": "Other"
}
],
"since": "1.0.0"
},
{
"key": "person.email",
"label": "Email address",
"type": "email",
"description": "The person’s own email address. Not an employer’s contact address (that is `employer.contact_email`).",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "person.mobile_number",
"label": "Mobile number",
"type": "phone",
"description": "The person’s cellphone number.",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "person.home_phone",
"label": "Home telephone",
"type": "phone",
"description": "A landline at home. Not a cellphone.",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "person.work_phone",
"label": "Work telephone",
"type": "phone",
"description": "A telephone number at work. Not the employer’s switchboard on an employer section.",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "person.income_tax_number",
"label": "Income tax number",
"type": "text",
"description": "The person’s SARS income tax reference number. Not a company’s PAYE reference.",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "person.home_language",
"label": "Home language",
"type": "text",
"description": "The language the person speaks at home.",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "person.occupation",
"label": "Occupation",
"type": "text",
"description": "What the person does for a living, in general terms. Not a job title at one employer.",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "residential_address.line_1",
"label": "Residential address line 1",
"type": "text",
"description": "The first line of the residential address: a street number and name, a unit, or a box number.",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "residential_address.line_2",
"label": "Residential address line 2",
"type": "text",
"description": "The second line of the residential address, when the form prints one.",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "residential_address.suburb",
"label": "Suburb",
"type": "text",
"description": "The suburb of the residential address. Not the city.",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "residential_address.city",
"label": "City or town",
"type": "text",
"description": "The city or town of the residential address.",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "residential_address.postal_code",
"label": "Postal code",
"type": "text",
"description": "The four-digit postal code of the residential address.",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "residential_address.province",
"label": "Province",
"type": "choice",
"description": "The South African province of the residential address.",
"subject_capable": true,
"options": [
{
"value": "eastern_cape",
"label": "Eastern Cape"
},
{
"value": "free_state",
"label": "Free State"
},
{
"value": "gauteng",
"label": "Gauteng"
},
{
"value": "kwazulu_natal",
"label": "KwaZulu-Natal"
},
{
"value": "limpopo",
"label": "Limpopo"
},
{
"value": "mpumalanga",
"label": "Mpumalanga"
},
{
"value": "north_west",
"label": "North West"
},
{
"value": "northern_cape",
"label": "Northern Cape"
},
{
"value": "western_cape",
"label": "Western Cape"
}
],
"since": "1.0.0"
},
{
"key": "residential_address.country",
"label": "Country",
"type": "text",
"description": "The country of the residential address.",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "postal_address.line_1",
"label": "Postal address line 1",
"type": "text",
"description": "The first line of the postal address: a street number and name, a unit, or a box number.",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "postal_address.line_2",
"label": "Postal address line 2",
"type": "text",
"description": "The second line of the postal address, when the form prints one.",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "postal_address.suburb",
"label": "Suburb",
"type": "text",
"description": "The suburb of the postal address. Not the city.",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "postal_address.city",
"label": "City or town",
"type": "text",
"description": "The city or town of the postal address.",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "postal_address.postal_code",
"label": "Postal code",
"type": "text",
"description": "The four-digit postal code of the postal address.",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "postal_address.province",
"label": "Province",
"type": "choice",
"description": "The South African province of the postal address.",
"subject_capable": true,
"options": [
{
"value": "eastern_cape",
"label": "Eastern Cape"
},
{
"value": "free_state",
"label": "Free State"
},
{
"value": "gauteng",
"label": "Gauteng"
},
{
"value": "kwazulu_natal",
"label": "KwaZulu-Natal"
},
{
"value": "limpopo",
"label": "Limpopo"
},
{
"value": "mpumalanga",
"label": "Mpumalanga"
},
{
"value": "north_west",
"label": "North West"
},
{
"value": "northern_cape",
"label": "Northern Cape"
},
{
"value": "western_cape",
"label": "Western Cape"
}
],
"since": "1.0.0"
},
{
"key": "postal_address.country",
"label": "Country",
"type": "text",
"description": "The country of the postal address.",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "employment.employee_number",
"label": "Employee number",
"type": "text",
"description": "The number the employer knows the person by. Not a payroll or tax reference.",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "employment.job_title",
"label": "Job title",
"type": "text",
"description": "The person’s position at their employer. Not their form of address (that is `person.title`).",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "employment.start_date",
"label": "Employment start date",
"type": "date",
"description": "The day the person started with this employer.",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "employment.monthly_salary",
"label": "Monthly salary",
"type": "number",
"description": "Gross pay a month, in rand. Not an annual figure.",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "employment.annual_salary",
"label": "Annual salary",
"type": "number",
"description": "Gross pay a year, in rand. Not a monthly figure.",
"subject_capable": true,
"since": "1.0.0"
},
{
"key": "employer.name",
"label": "Employer name",
"type": "text",
"description": "The employer’s registered name. Not a trading name.",
"subject_capable": false,
"since": "1.0.0"
},
{
"key": "employer.trading_name",
"label": "Trading name",
"type": "text",
"description": "The name the employer trades under, when it differs from the registered name.",
"subject_capable": false,
"since": "1.0.0"
},
{
"key": "employer.registration_number",
"label": "Company registration number",
"type": "text",
"description": "The employer’s CIPC registration number. Not a PAYE or VAT reference.",
"subject_capable": false,
"since": "1.0.0"
},
{
"key": "employer.paye_reference_number",
"label": "PAYE reference number",
"type": "text",
"description": "The employer’s SARS PAYE reference number. Not a person’s income tax number.",
"subject_capable": false,
"since": "1.0.0"
},
{
"key": "employer.contact_name",
"label": "Employer contact person",
"type": "text",
"description": "The person at the employer a form names as its contact, for example someone in HR.",
"subject_capable": false,
"since": "1.0.0"
},
{
"key": "employer.contact_email",
"label": "Employer contact email",
"type": "email",
"description": "The employer contact’s email address. Not the employee’s.",
"subject_capable": false,
"since": "1.0.0"
},
{
"key": "employer.contact_phone",
"label": "Employer contact telephone",
"type": "phone",
"description": "The employer contact’s telephone number. Not the employee’s.",
"subject_capable": false,
"since": "1.0.0"
},
{
"key": "bank.account_holder",
"label": "Account holder",
"type": "text",
"description": "The name the bank account is held in.",
"subject_capable": false,
"since": "1.0.0"
},
{
"key": "bank.bank_name",
"label": "Bank",
"type": "text",
"description": "The name of the bank.",
"subject_capable": false,
"since": "1.0.0"
},
{
"key": "bank.branch_code",
"label": "Branch code",
"type": "text",
"description": "The bank’s branch or universal branch code.",
"subject_capable": false,
"since": "1.0.0"
},
{
"key": "bank.account_number",
"label": "Account number",
"type": "text",
"description": "The bank account number. Not a card number.",
"subject_capable": false,
"since": "1.0.0"
},
{
"key": "bank.account_type",
"label": "Account type",
"type": "choice",
"description": "The kind of bank account.",
"subject_capable": false,
"options": [
{
"value": "cheque",
"label": "Cheque"
},
{
"value": "savings",
"label": "Savings"
},
{
"value": "transmission",
"label": "Transmission"
}
],
"since": "1.0.0"
},
{
"key": "bank.debit_order_day",
"label": "Debit order day",
"type": "number",
"description": "The day of the month a debit order runs, from 1 to 31.",
"subject_capable": false,
"since": "1.0.0"
}
]
},
"organisation": {
"keys": [
{
"key": "medical_aid.plan",
"type": "choice",
"templates": 3,
"labels": [
"Plan",
"Benefit option"
],
"options": [
"classic_comprehensive",
"classic_priority",
"essential_smart"
]
},
{
"key": "medical_aid.membership_number",
"type": "text",
"templates": 3,
"labels": [
"Membership number"
]
}
]
}
}{
"error": {
"code": "unauthenticated",
"message": "<string>"
}
}{
"error": {
"code": "unauthenticated",
"message": "<string>"
}
}{
"error": {
"code": "unauthenticated",
"message": "<string>"
}
}{
"error": {
"code": "unauthenticated",
"message": "<string>"
}
}Authorizations
Authorization: Bearer vsk_live_…. Chosen over a bespoke X-API-KEY header because every client, proxy and log-redaction rule already knows this one. What a key may DO is its scopes — see x-scopes at the root of this document and x-required-scope on each operation. The scope list is not written here because OpenAPI reserves a requirement’s scope array for oauth2 and openIdConnect and requires it to be empty for an http scheme.
Headers
The ETag you hold. When it is still current the answer is 304 with no body. A 304 still counts against the rate limit.
One or more entity tags, or *.
Response
The core vocabulary and your organisation’s keys.