Create a course section
curl --request POST \
--url https://app.orgo.space/api/v1/course_sections \
--header 'Api-Token: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"uuid": "01938d8e-9c4f-7c2a-b8e1-3f7a9b8c4f12",
"course": "/api/v1/courses/1",
"title": "Volunteer Coordinator",
"description": "Quarterly chapter meeting open to all members.",
"position": 42,
"status": "ACTIVE",
"userTypeStage": {},
"settings": [
"string"
]
}
'import requests
url = "https://app.orgo.space/api/v1/course_sections"
payload = {
"uuid": "01938d8e-9c4f-7c2a-b8e1-3f7a9b8c4f12",
"course": "/api/v1/courses/1",
"title": "Volunteer Coordinator",
"description": "Quarterly chapter meeting open to all members.",
"position": 42,
"status": "ACTIVE",
"userTypeStage": {},
"settings": ["string"]
}
headers = {
"Api-Token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Api-Token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
uuid: '01938d8e-9c4f-7c2a-b8e1-3f7a9b8c4f12',
course: '/api/v1/courses/1',
title: 'Volunteer Coordinator',
description: 'Quarterly chapter meeting open to all members.',
position: 42,
status: 'ACTIVE',
userTypeStage: {},
settings: ['string']
})
};
fetch('https://app.orgo.space/api/v1/course_sections', 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://app.orgo.space/api/v1/course_sections",
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([
'uuid' => '01938d8e-9c4f-7c2a-b8e1-3f7a9b8c4f12',
'course' => '/api/v1/courses/1',
'title' => 'Volunteer Coordinator',
'description' => 'Quarterly chapter meeting open to all members.',
'position' => 42,
'status' => 'ACTIVE',
'userTypeStage' => [
],
'settings' => [
'string'
]
]),
CURLOPT_HTTPHEADER => [
"Api-Token: <api-key>",
"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://app.orgo.space/api/v1/course_sections"
payload := strings.NewReader("{\n \"uuid\": \"01938d8e-9c4f-7c2a-b8e1-3f7a9b8c4f12\",\n \"course\": \"/api/v1/courses/1\",\n \"title\": \"Volunteer Coordinator\",\n \"description\": \"Quarterly chapter meeting open to all members.\",\n \"position\": 42,\n \"status\": \"ACTIVE\",\n \"userTypeStage\": {},\n \"settings\": [\n \"string\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Api-Token", "<api-key>")
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://app.orgo.space/api/v1/course_sections")
.header("Api-Token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"uuid\": \"01938d8e-9c4f-7c2a-b8e1-3f7a9b8c4f12\",\n \"course\": \"/api/v1/courses/1\",\n \"title\": \"Volunteer Coordinator\",\n \"description\": \"Quarterly chapter meeting open to all members.\",\n \"position\": 42,\n \"status\": \"ACTIVE\",\n \"userTypeStage\": {},\n \"settings\": [\n \"string\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.orgo.space/api/v1/course_sections")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Api-Token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"uuid\": \"01938d8e-9c4f-7c2a-b8e1-3f7a9b8c4f12\",\n \"course\": \"/api/v1/courses/1\",\n \"title\": \"Volunteer Coordinator\",\n \"description\": \"Quarterly chapter meeting open to all members.\",\n \"position\": 42,\n \"status\": \"ACTIVE\",\n \"userTypeStage\": {},\n \"settings\": [\n \"string\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": 42,
"uuid": "01938d8e-9c4f-7c2a-b8e1-3f7a9b8c4f12",
"course": "/api/v1/courses/1",
"title": "Volunteer Coordinator",
"description": "Quarterly chapter meeting open to all members.",
"position": 42,
"status": "ACTIVE",
"userTypeStage": {
"id": 42,
"name": "Boston Chapter",
"slug": "annual-general-meeting-2026",
"icon": "calendar",
"color": "#16A34A",
"badges": [
{
"id": 42,
"name": "Boston Chapter",
"type": "/api/v1/badge_types/1",
"tenant": "/api/v1/tenants/1",
"translation": "string",
"logo": "https://cdn.orgo.space/tenants/acme/logo.png",
"hours": 42,
"referrals": 42,
"defaultNote": "Joined via Boston outreach drive.",
"pointsRequired": 42,
"level": 42,
"tierBenefits": [
"string"
],
"oldId": "string",
"import": "/api/v1/imports/1"
}
],
"tenant": "/api/v1/tenants/1",
"users": [
{
"statuses": [
"string"
],
"EDUCATION_STATUS_OPTIONS": [
"string"
],
"DEFAULT_PASSWORD_ENCODER": "Sup3rSecret!2026",
"id": 42,
"username": "james.patterson",
"firstName": "James",
"lastName": "Patterson",
"email": "james.patterson@example.com",
"newEmailRequested": "michael.chen@example.com",
"status": "ACTIVE",
"isGuest": true,
"resignPending": 42,
"resignApproved": 42,
"dateBirth": "2026-01-15T10:30:00+00:00",
"gender": "M",
"dateUpdated": "2026-01-15T10:30:00+00:00",
"dateCreated": "2026-01-15T10:30:00+00:00",
"localCenter": "/api/v1/local_centers/1",
"localCenterParent": "/api/v1/units/1",
"townFrom": "/api/v1/towns/1",
"type": "/api/v1/roles/1",
"userRoles": [
"/api/v1/user_roles/1"
],
"password": "Sup3rSecret!2026",
"plainPassword": "Sup3rSecret!2026",
"tenant": "/api/v1/tenants/1",
"age": 34,
"fullName": "James Patterson",
"isFeeActive": true,
"isExpiredValidFeeDate": false,
"impersonatedUserTypeId": 42,
"dateJoinedFullMemberFormatted": "string",
"dateBirthFormatted": "string",
"isActive": true,
"accountType": "string",
"parentConsentDate": "2026-01-15T10:30:00+00:00",
"parentConsentMethod": "string",
"roles": [
"string"
],
"confirmationToken": "01938d8e-9c4f-7c2a-b8e1-3f7a9b8c4f12",
"timezone": "America/New_York",
"passwordRequestedAt": "2026-01-15T10:30:00+00:00",
"customFieldValues": [
"/api/v1/custom_field_values/1"
],
"townCurrent": "/api/v1/towns/1",
"mapLatitude": "42.3601",
"mapLongitude": "-71.0589",
"mapPlaceName": "Boston Common",
"statusChangeDate": "2026-01-15T10:30:00+00:00",
"mainRole": "/api/v1/user_roles/1",
"logo": "https://cdn.orgo.space/tenants/acme/logo.png",
"phoneNumber": "+1 415 555 0142",
"profileWebsite": "https://civic-collective.example.com",
"profileFacebook": "https://facebook.com/jamespatterson",
"profileTwitter": "https://twitter.com/jpatterson",
"profileBsky": "@jpatterson.bsky.social",
"profileSignal": "+14155550142",
"profileLinkedin": "https://linkedin.com/in/james-patterson",
"profileGoogle": "string",
"profileSkype": "string",
"profileInstagram": "https://instagram.com/jpatterson",
"profileTelegram": "https://t.me/jpatterson",
"profileTikTok": "https://tiktok.com/@civic-collective",
"dateJoined": "2026-01-15T10:30:00+00:00",
"familyNth": true,
"familyMemberships": [
"/api/v1/family_members/1"
],
"isFullMember": true,
"nickname": "Jim",
"website": "https://civic-collective.example.com",
"importInfo": [
"string"
],
"passwordEncoder": "Sup3rSecret!2026",
"oldId": "string",
"managerUserType": "/api/v1/roles/1",
"salt": "string",
"isTrainer": true,
"cardId": "string",
"trainingTrainers": [
"/api/v1/training_trainers/1"
],
"professionIndustry": "/api/v1/profession_types/1",
"professionHeadline": "Lead organizer at Boston Chapter",
"unsubscribeToken": "01938d8e-9c4f-7c2a-b8e1-3f7a9b8c4f12",
"professionUpdateDate": "2026-01-15T10:30:00+00:00",
"import": "/api/v1/imports/1",
"isEmailConfirmed": true,
"isFollowGeneralUnit": true,
"roleGroups": [
"string"
],
"validFeeDate": "2026-01-15T10:30:00+00:00",
"validLocalFeeDate": "2026-01-15T10:30:00+00:00",
"subscriptionProfiles": [
"/api/v1/subscription_profiles/1"
],
"stripeConnectedCustomerId": "string",
"localStripeCustomers": [
"/api/v1/user_local_stripe_customers/1"
],
"lastCardPrintedDate": "2026-01-15T10:30:00+00:00",
"feeLocalProductPrice": "/api/v1/product_prices/1",
"feeTenantProductPrice": "/api/v1/product_prices/1",
"lastAccessDateTime": "2026-01-15T10:30:00+00:00",
"beforeLastAccessDateTime": "2026-01-15T10:30:00+00:00",
"language": "en",
"isSupporter": true,
"hasDigestDaily": true,
"isValidatedIdentity": true,
"isValidatedIdentityPending": true,
"identity": "/api/v1/identities/1",
"fromContact": "/api/v1/contacts/1",
"adhesion": "/api/v1/adhesions/1",
"employeeStatus": "ACTIVE",
"hobby": "string",
"bio": "Volunteer organizer in the Boston chapter since 2022.",
"postalCode": "02108",
"address": "123 Beacon Street",
"phoneCountry": "US",
"phoneLocalNumber": "+1 415 555 0142",
"dateJoinedFullMember": "2026-01-15T10:30:00+00:00",
"educationStatus": "BA Political Science, Boston University (2018).",
"educationPhd": "/api/v1/education_industries/1",
"educationMaster": "/api/v1/education_industries/1",
"educationUniversity": "/api/v1/education_industries/1",
"certifications": [
"/api/v1/certifications/1"
],
"hasExperienceHistory": true,
"experienceHistories": [
"/api/v1/experience_histories/1"
],
"professionJob": "/api/v1/profession_jobs/1",
"professionExpertise": "/api/v1/profession_jobs/1",
"professionSector": "Civic Engagement",
"professionExpertiseOther": "Community Organizing",
"isRegisterAsMember": true,
"pushNotificationTokens": [
"/api/v1/user_push_notification_tokens/1"
],
"lastIp": "string",
"permissions": [
"string"
],
"customPermissions": [
"string"
],
"isFeeReminderSent": true,
"hasReceivedAdultEligibilityEmail": true,
"privacy": "/api/v1/user_options/1",
"queries": [
"/api/v1/queries/1"
],
"secureHash": "a3f8b2c4d6e8f1a3b5c7d9e1f3a5b7c9",
"secureHashDate": "2026-01-15T10:30:00+00:00",
"notificationSettings": [
"string"
],
"isSubscribedNewsletter": true,
"isSubscribedPush": true,
"isSubscribedDiscussion": 42,
"isSubscribedEvent": true,
"isSubscribedComment": true,
"isSubscribedIssue": true,
"isSubscribedVote": true,
"isSubscribedTag": true,
"forcePasswordReset": true,
"confirmationTokenGenerateTime": "2026-01-15T10:30:00+00:00",
"professionOrganisation": "Civic Collective",
"professionOrganisationWebsite": "https://civic-collective.example.com",
"professionOrganisationRole": "Civic Collective",
"hasDigestWeekly": true,
"companyIdentifier": "US-123456789",
"companyName": "Civic Collective LLC",
"companyAddress": "123 Beacon Street, Boston, MA 02108",
"companyRegNo": "DE-HRB-12345",
"mfaEnabled": true,
"userIdentifier": "string",
"guest": true,
"effectiveUserTypeId": 42,
"primaryFamily": "/api/v1/family_entities/1",
"passwordHasherName": "Sup3rSecret!2026",
"subscriptionActiveProfiles": "/api/v1/collections/1",
"subscriptionActiveProfilesHydrated": [
"string"
],
"stripeLocalCustomer": "string",
"validatedIdentityAndDocumentIdUpToDate": true,
"validatedIdentity": true,
"privacyName": true,
"privacyAge": true,
"privacyEmail": true,
"privacySocial": true,
"privacyImage": true,
"privacyTown": true,
"privacyProfession": true,
"privacyPhone": true,
"profilePrivate": true,
"roleAdminTenant": true,
"roleSuperAdmin": true,
"localCenterParentName": "Boston Chapter",
"isExpiredValidLocalFeeDate": false,
"isLocalFeeActive": true,
"profileTiktok": "https://tiktok.com/@civic-collective"
}
],
"bgcolor": "string",
"position": 42
},
"settings": [
"string"
],
"dateCreated": "2026-01-15T10:30:00+00:00",
"dateUpdated": "2026-01-15T10:30:00+00:00",
"lessons": [
"/api/v1/course_lessons/1"
],
"quizzes": [
"/api/v1/course_quizzes/1"
],
"totalContent": 5000,
"published": true,
"draft": true
}CourseSection
Create a course section
Creates a new section within a course. Set the course reference, title, and position. Lessons and quizzes are added separately. Requires HR_TENANT permission.
POST
/
api
/
v1
/
course_sections
Create a course section
curl --request POST \
--url https://app.orgo.space/api/v1/course_sections \
--header 'Api-Token: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"uuid": "01938d8e-9c4f-7c2a-b8e1-3f7a9b8c4f12",
"course": "/api/v1/courses/1",
"title": "Volunteer Coordinator",
"description": "Quarterly chapter meeting open to all members.",
"position": 42,
"status": "ACTIVE",
"userTypeStage": {},
"settings": [
"string"
]
}
'import requests
url = "https://app.orgo.space/api/v1/course_sections"
payload = {
"uuid": "01938d8e-9c4f-7c2a-b8e1-3f7a9b8c4f12",
"course": "/api/v1/courses/1",
"title": "Volunteer Coordinator",
"description": "Quarterly chapter meeting open to all members.",
"position": 42,
"status": "ACTIVE",
"userTypeStage": {},
"settings": ["string"]
}
headers = {
"Api-Token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Api-Token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
uuid: '01938d8e-9c4f-7c2a-b8e1-3f7a9b8c4f12',
course: '/api/v1/courses/1',
title: 'Volunteer Coordinator',
description: 'Quarterly chapter meeting open to all members.',
position: 42,
status: 'ACTIVE',
userTypeStage: {},
settings: ['string']
})
};
fetch('https://app.orgo.space/api/v1/course_sections', 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://app.orgo.space/api/v1/course_sections",
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([
'uuid' => '01938d8e-9c4f-7c2a-b8e1-3f7a9b8c4f12',
'course' => '/api/v1/courses/1',
'title' => 'Volunteer Coordinator',
'description' => 'Quarterly chapter meeting open to all members.',
'position' => 42,
'status' => 'ACTIVE',
'userTypeStage' => [
],
'settings' => [
'string'
]
]),
CURLOPT_HTTPHEADER => [
"Api-Token: <api-key>",
"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://app.orgo.space/api/v1/course_sections"
payload := strings.NewReader("{\n \"uuid\": \"01938d8e-9c4f-7c2a-b8e1-3f7a9b8c4f12\",\n \"course\": \"/api/v1/courses/1\",\n \"title\": \"Volunteer Coordinator\",\n \"description\": \"Quarterly chapter meeting open to all members.\",\n \"position\": 42,\n \"status\": \"ACTIVE\",\n \"userTypeStage\": {},\n \"settings\": [\n \"string\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Api-Token", "<api-key>")
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://app.orgo.space/api/v1/course_sections")
.header("Api-Token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"uuid\": \"01938d8e-9c4f-7c2a-b8e1-3f7a9b8c4f12\",\n \"course\": \"/api/v1/courses/1\",\n \"title\": \"Volunteer Coordinator\",\n \"description\": \"Quarterly chapter meeting open to all members.\",\n \"position\": 42,\n \"status\": \"ACTIVE\",\n \"userTypeStage\": {},\n \"settings\": [\n \"string\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.orgo.space/api/v1/course_sections")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Api-Token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"uuid\": \"01938d8e-9c4f-7c2a-b8e1-3f7a9b8c4f12\",\n \"course\": \"/api/v1/courses/1\",\n \"title\": \"Volunteer Coordinator\",\n \"description\": \"Quarterly chapter meeting open to all members.\",\n \"position\": 42,\n \"status\": \"ACTIVE\",\n \"userTypeStage\": {},\n \"settings\": [\n \"string\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": 42,
"uuid": "01938d8e-9c4f-7c2a-b8e1-3f7a9b8c4f12",
"course": "/api/v1/courses/1",
"title": "Volunteer Coordinator",
"description": "Quarterly chapter meeting open to all members.",
"position": 42,
"status": "ACTIVE",
"userTypeStage": {
"id": 42,
"name": "Boston Chapter",
"slug": "annual-general-meeting-2026",
"icon": "calendar",
"color": "#16A34A",
"badges": [
{
"id": 42,
"name": "Boston Chapter",
"type": "/api/v1/badge_types/1",
"tenant": "/api/v1/tenants/1",
"translation": "string",
"logo": "https://cdn.orgo.space/tenants/acme/logo.png",
"hours": 42,
"referrals": 42,
"defaultNote": "Joined via Boston outreach drive.",
"pointsRequired": 42,
"level": 42,
"tierBenefits": [
"string"
],
"oldId": "string",
"import": "/api/v1/imports/1"
}
],
"tenant": "/api/v1/tenants/1",
"users": [
{
"statuses": [
"string"
],
"EDUCATION_STATUS_OPTIONS": [
"string"
],
"DEFAULT_PASSWORD_ENCODER": "Sup3rSecret!2026",
"id": 42,
"username": "james.patterson",
"firstName": "James",
"lastName": "Patterson",
"email": "james.patterson@example.com",
"newEmailRequested": "michael.chen@example.com",
"status": "ACTIVE",
"isGuest": true,
"resignPending": 42,
"resignApproved": 42,
"dateBirth": "2026-01-15T10:30:00+00:00",
"gender": "M",
"dateUpdated": "2026-01-15T10:30:00+00:00",
"dateCreated": "2026-01-15T10:30:00+00:00",
"localCenter": "/api/v1/local_centers/1",
"localCenterParent": "/api/v1/units/1",
"townFrom": "/api/v1/towns/1",
"type": "/api/v1/roles/1",
"userRoles": [
"/api/v1/user_roles/1"
],
"password": "Sup3rSecret!2026",
"plainPassword": "Sup3rSecret!2026",
"tenant": "/api/v1/tenants/1",
"age": 34,
"fullName": "James Patterson",
"isFeeActive": true,
"isExpiredValidFeeDate": false,
"impersonatedUserTypeId": 42,
"dateJoinedFullMemberFormatted": "string",
"dateBirthFormatted": "string",
"isActive": true,
"accountType": "string",
"parentConsentDate": "2026-01-15T10:30:00+00:00",
"parentConsentMethod": "string",
"roles": [
"string"
],
"confirmationToken": "01938d8e-9c4f-7c2a-b8e1-3f7a9b8c4f12",
"timezone": "America/New_York",
"passwordRequestedAt": "2026-01-15T10:30:00+00:00",
"customFieldValues": [
"/api/v1/custom_field_values/1"
],
"townCurrent": "/api/v1/towns/1",
"mapLatitude": "42.3601",
"mapLongitude": "-71.0589",
"mapPlaceName": "Boston Common",
"statusChangeDate": "2026-01-15T10:30:00+00:00",
"mainRole": "/api/v1/user_roles/1",
"logo": "https://cdn.orgo.space/tenants/acme/logo.png",
"phoneNumber": "+1 415 555 0142",
"profileWebsite": "https://civic-collective.example.com",
"profileFacebook": "https://facebook.com/jamespatterson",
"profileTwitter": "https://twitter.com/jpatterson",
"profileBsky": "@jpatterson.bsky.social",
"profileSignal": "+14155550142",
"profileLinkedin": "https://linkedin.com/in/james-patterson",
"profileGoogle": "string",
"profileSkype": "string",
"profileInstagram": "https://instagram.com/jpatterson",
"profileTelegram": "https://t.me/jpatterson",
"profileTikTok": "https://tiktok.com/@civic-collective",
"dateJoined": "2026-01-15T10:30:00+00:00",
"familyNth": true,
"familyMemberships": [
"/api/v1/family_members/1"
],
"isFullMember": true,
"nickname": "Jim",
"website": "https://civic-collective.example.com",
"importInfo": [
"string"
],
"passwordEncoder": "Sup3rSecret!2026",
"oldId": "string",
"managerUserType": "/api/v1/roles/1",
"salt": "string",
"isTrainer": true,
"cardId": "string",
"trainingTrainers": [
"/api/v1/training_trainers/1"
],
"professionIndustry": "/api/v1/profession_types/1",
"professionHeadline": "Lead organizer at Boston Chapter",
"unsubscribeToken": "01938d8e-9c4f-7c2a-b8e1-3f7a9b8c4f12",
"professionUpdateDate": "2026-01-15T10:30:00+00:00",
"import": "/api/v1/imports/1",
"isEmailConfirmed": true,
"isFollowGeneralUnit": true,
"roleGroups": [
"string"
],
"validFeeDate": "2026-01-15T10:30:00+00:00",
"validLocalFeeDate": "2026-01-15T10:30:00+00:00",
"subscriptionProfiles": [
"/api/v1/subscription_profiles/1"
],
"stripeConnectedCustomerId": "string",
"localStripeCustomers": [
"/api/v1/user_local_stripe_customers/1"
],
"lastCardPrintedDate": "2026-01-15T10:30:00+00:00",
"feeLocalProductPrice": "/api/v1/product_prices/1",
"feeTenantProductPrice": "/api/v1/product_prices/1",
"lastAccessDateTime": "2026-01-15T10:30:00+00:00",
"beforeLastAccessDateTime": "2026-01-15T10:30:00+00:00",
"language": "en",
"isSupporter": true,
"hasDigestDaily": true,
"isValidatedIdentity": true,
"isValidatedIdentityPending": true,
"identity": "/api/v1/identities/1",
"fromContact": "/api/v1/contacts/1",
"adhesion": "/api/v1/adhesions/1",
"employeeStatus": "ACTIVE",
"hobby": "string",
"bio": "Volunteer organizer in the Boston chapter since 2022.",
"postalCode": "02108",
"address": "123 Beacon Street",
"phoneCountry": "US",
"phoneLocalNumber": "+1 415 555 0142",
"dateJoinedFullMember": "2026-01-15T10:30:00+00:00",
"educationStatus": "BA Political Science, Boston University (2018).",
"educationPhd": "/api/v1/education_industries/1",
"educationMaster": "/api/v1/education_industries/1",
"educationUniversity": "/api/v1/education_industries/1",
"certifications": [
"/api/v1/certifications/1"
],
"hasExperienceHistory": true,
"experienceHistories": [
"/api/v1/experience_histories/1"
],
"professionJob": "/api/v1/profession_jobs/1",
"professionExpertise": "/api/v1/profession_jobs/1",
"professionSector": "Civic Engagement",
"professionExpertiseOther": "Community Organizing",
"isRegisterAsMember": true,
"pushNotificationTokens": [
"/api/v1/user_push_notification_tokens/1"
],
"lastIp": "string",
"permissions": [
"string"
],
"customPermissions": [
"string"
],
"isFeeReminderSent": true,
"hasReceivedAdultEligibilityEmail": true,
"privacy": "/api/v1/user_options/1",
"queries": [
"/api/v1/queries/1"
],
"secureHash": "a3f8b2c4d6e8f1a3b5c7d9e1f3a5b7c9",
"secureHashDate": "2026-01-15T10:30:00+00:00",
"notificationSettings": [
"string"
],
"isSubscribedNewsletter": true,
"isSubscribedPush": true,
"isSubscribedDiscussion": 42,
"isSubscribedEvent": true,
"isSubscribedComment": true,
"isSubscribedIssue": true,
"isSubscribedVote": true,
"isSubscribedTag": true,
"forcePasswordReset": true,
"confirmationTokenGenerateTime": "2026-01-15T10:30:00+00:00",
"professionOrganisation": "Civic Collective",
"professionOrganisationWebsite": "https://civic-collective.example.com",
"professionOrganisationRole": "Civic Collective",
"hasDigestWeekly": true,
"companyIdentifier": "US-123456789",
"companyName": "Civic Collective LLC",
"companyAddress": "123 Beacon Street, Boston, MA 02108",
"companyRegNo": "DE-HRB-12345",
"mfaEnabled": true,
"userIdentifier": "string",
"guest": true,
"effectiveUserTypeId": 42,
"primaryFamily": "/api/v1/family_entities/1",
"passwordHasherName": "Sup3rSecret!2026",
"subscriptionActiveProfiles": "/api/v1/collections/1",
"subscriptionActiveProfilesHydrated": [
"string"
],
"stripeLocalCustomer": "string",
"validatedIdentityAndDocumentIdUpToDate": true,
"validatedIdentity": true,
"privacyName": true,
"privacyAge": true,
"privacyEmail": true,
"privacySocial": true,
"privacyImage": true,
"privacyTown": true,
"privacyProfession": true,
"privacyPhone": true,
"profilePrivate": true,
"roleAdminTenant": true,
"roleSuperAdmin": true,
"localCenterParentName": "Boston Chapter",
"isExpiredValidLocalFeeDate": false,
"isLocalFeeActive": true,
"profileTiktok": "https://tiktok.com/@civic-collective"
}
],
"bgcolor": "string",
"position": 42
},
"settings": [
"string"
],
"dateCreated": "2026-01-15T10:30:00+00:00",
"dateUpdated": "2026-01-15T10:30:00+00:00",
"lessons": [
"/api/v1/course_lessons/1"
],
"quizzes": [
"/api/v1/course_quizzes/1"
],
"totalContent": 5000,
"published": true,
"draft": true
}Authorizations
ApiTokenJWT
Server-to-server authentication. Generate a token in the admin UI at
Settings → Developers → API Access. Send the raw token in the
Api-Token header — there is no Bearer prefix.
Tokens can be marked read-only at creation time, in which case the API
rejects any non-GET request with 403 Forbidden.
Body
application/json
The new CourseSection resource
Response
CourseSection resource created
Example:
"/api/v1/courses/1"
Show child attributes
Show child attributes
Example:
["/api/v1/course_lessons/1"]
Example:
["/api/v1/course_quizzes/1"]
⌘I

