Aula is in early access. These docs grow as it does.
Skip to Content
Aula
API ReferenceSite config

Apply a site config document

Applies every path the document names in one transaction; a path it leaves out stays as it is. A currency change that relabels lesson type prices answers 409. Needs a `site:write` token.

PUT
/api/v1/site-config

Applies every path the document names in one transaction; a path it leaves out stays as it is. A currency change that relabels lesson type prices answers 409. Needs a site:write token.

Authorization

bearerAuth
headerAuthorizationBearer <token>

Request Body

application/json
  1. body
version*number
identity?
design?
locale?
classPolicy?
fees?
faq?array<>

Questions and answers in page order; each question and answer takes a string or a map from locale to string.

Itemsitems <= 12
sections?array<|||||||||||>

The home's blocks in page order; hero, teachers, about and faq read their text from identity and faq. Headings, rich text bodies, call to action text and labels, and image alt text and captions take a string or a map from locale to string. An image's key is the storage key of an image this school uploaded, never a URL.

Itemsitems <= 30
navigation?

Header and footer links in order; sign in, the locale switcher and Aula's own links always show besides them.

pages?array<>

The school's own pages in order, each served at its slug with blocks as in sections. Titles and descriptions take a string or a map from locale to string. A slug is unique and never one of Aula's own paths.

Itemsitems <= 20
emails?

The school's own email text: a footer of address, contact and policy lines, and per email kind and locale a subject, heading, body and call to action label with the placeholders each kind allows. Plain text; a body link is label. Left out, an email keeps Aula's text. The document replaces the stored text as a whole.

sites?array<>

The school's extra branded sites in order, each with its own name, design and the part of the offer it shows: lesson types and classes by id, and lesson types by subject. The list replaces the stored one as a whole: a key left out archives that site and naming it again restores it. A design token left out is Aula's default.

Itemsitems <= 10

Response Body

Applied.

application/json
  1. response
changes*array<string>
ignored*array<string>
Example Request
curl -X PUT 'https://aula.sferarc.com/api/v1/site-config' \  -H 'Content-Type: application/json' \  -d '{  "version": 1}'
Example Response
{  "changes": [    "string"  ],  "ignored": [    "string"  ]}