Write payloads
Request rules
Follow these rules on POST /children, POST /leaders, and POST /registrations. Read endpoints take no body.
General
- Send
Content-Type: application/jsonand a JSON object. - Authenticate with
Authorization: Bearer sc_tok_…. - Dates of birth are
YYYY-MM-DD. - Consents that are YES/NO accept
YES,NO,true,false,1, or0. - Boolean flags (asthma, swimming, shooting) accept
1,0,true,false,yes, orno. - Send
emergency_emailfor young people. After submit, that primary contact is emailed the permission slip, then a separate signature request. Do not sendcamp_consent. - Submitted medical, dietary, allergy, disability, address, email, and phone values are stored. They are never returned on later GETs.
Comma-separated tags
Dietary needs, allergies, and disabilities are tag lists. Pass either a single comma-separated string or a JSON array of strings. Spaces around commas are fine. Duplicate tags are merged.
"dietary": "Vegetarian, Gluten free"
"allergies": ["Peanuts", "EpiPen required"]
"disabilities": "ADHD, Autism"
"health_other": "ADHD, Autism, Mobility needs"Aliases: dietary_requirements → dietary; allergy → allergies; disabilities, conditions, and medical_conditions → health_other. If you send more than one alias, the tags are combined.
medical_info, infectious_contact, notes_other, and shooting_medical are free-text notes, not tag lists.
Dietary requirements
JSON field dietary · aliases dietary_requirements · Young people and leaders
Allergies
JSON field allergies · aliases allergy · Young people and leaders
Disabilities, conditions, and other health needs
JSON field health_other · aliases disabilities, conditions, medical_conditions · Young people (`health_other`). Use `disabilities` as an alias.
Young person body
Used by children.write and by registration.submit when type is child.
| Field | Type | Required | Notes |
|---|---|---|---|
first_name | string | Yes | Given name |
last_name | string | Yes | Full surname is stored. Reads only return the initial |
dob | string (YYYY-MM-DD) | Yes | Date of birth |
section_id | integer | Yes | From GET /sections |
scout_group_id | integer | Yes | From GET /groups. Ignored on registration.submit (taken from the token) |
emergency_name | string | Yes | Primary emergency contact name |
emergency_phone | string | Yes | Primary emergency contact phone |
emergency_email | string | Yes | Primary contact email. The permission slip and a separate signature request are sent here |
emergency_2_name | string | No | Second emergency contact name |
emergency_2_phone | string | No | Second emergency contact phone |
emergency_2_email | string | No | Second emergency contact email |
camp_consent | string | No | Not accepted. If sent, the request is rejected. The primary contact signs by email after submit |
photography_consent | YES | NO | No | Defaults to NO |
dietary | comma-separated tags | string[] | No | Dietary requirements. Alias: dietary_requirements |
allergies | comma-separated tags | string[] | No | Allergies. Alias: allergy |
health_other | comma-separated tags | string[] | No | Disabilities and other conditions. Aliases: disabilities, conditions, medical_conditions |
medical_info | string | No | Medication / treatment notes. Free text, not a tag list |
infectious_contact | string | No | Recent infectious disease contact notes |
notes_other | string | No | Other notes |
shooting_medical | string | No | Shooting medical notes if relevant |
line_1 | string | No | Address line 1 |
line_2 | string | No | Address line 2 |
city | string | No | Town or city |
county | string | No | County |
postcode | string | No | Postcode |
doctor_name | string | No | GP name |
doctor_surgery | string | No | GP surgery |
doctor_address | string | No | GP address |
doctor_phone | string | No | GP phone |
doctor_email | string | No | GP email |
otc_pain_relief_consent | YES | NO | No | Over-the-counter pain relief consent |
parent_alert_email | boolean | No | Whether to email the parent on medical incidents |
has_asthma | boolean | No | Pass 1, true, or "yes". Same pattern for the flags below |
has_diabetes | boolean | No | Diabetes flag |
has_epilepsy | boolean | No | Epilepsy flag |
has_migraines | boolean | No | Migraines flag |
has_fits_faints | boolean | No | Fits or faints flag |
can_swim_50m | boolean | No | Can swim 50 metres |
can_bathe_supervised | boolean | No | Can bathe when supervised |
shooting_air_rifle | boolean | No | Also: shooting_small_bore, shooting_full_bore, shooting_clay_pigeon, shooting_crossbow, shooting_target_sprint, shooting_muzzle_loaded |
Leader body
Used by leaders.write and by registration.submit when type is leader.
| Field | Type | Required | Notes |
|---|---|---|---|
first_name | string | Yes | Given name |
last_name | string | Yes | Full surname is stored. Reads only return the initial |
email | string | Yes | Must be unique on the camp |
dob | string (YYYY-MM-DD) | Yes | Date of birth |
section_id | integer | Yes | Alias: section. From GET /sections |
scout_group_id | integer | Yes | Alias: scout_group. Ignored on registration.submit |
camp_consent | string | No | Not accepted. If sent, the request is rejected. The leader is emailed the permission slip and a separate signature request |
role | string | No | Defaults to Leader |
level | integer | No | Permission level. Defaults to 1 |
password | string | No | Optional login password. Must meet camp password rules if set |
phone | string | No | Leader phone |
photography_consent | YES | NO | No | Defaults to NO |
dietary | comma-separated tags | string[] | No | Dietary requirements. Alias: dietary_requirements |
allergies | comma-separated tags | string[] | No | Allergies. Alias: allergy |
medical_info | string | No | Medication / treatment notes. Free text |
emergency_name | string | No | Emergency contact name |
emergency_phone | string | No | Emergency contact phone |
emergency_email | string | No | Emergency contact email |
line_1 | string | No | Address line 1 |
line_2 | string | No | Address line 2 |
city | string | No | Town or city |
county | string | No | County |
postcode | string | No | Postcode |
otc_pain_relief_consent | YES | NO | No | Over-the-counter pain relief consent |