Endpoints
Every path below is relative to /api/v1 and deployment-agnostic — prefix it with your instance host (e.g. https://archetype.example.org/api/v1/… or http://localhost:8000/api/v1/…). The public read API needs no authentication; management/* routes are superuser-gated and out of scope here. For the machine-readable contract, load the OpenAPI schema and Swagger UI:
GET /api/v1/schema/GET /api/v1/docs/For the standards these endpoints implement (W3C Web Annotation, IIIF Presentation & Content Search, TEI), see Export, reuse & cite. For an overview of the API surface, see The API.
Manuscripts, images & texts
Section titled “Manuscripts, images & texts”Mounted under /api/v1/manuscripts/.
| Method | Path | Purpose |
|---|---|---|
| GET | manuscripts/item-parts/ | List manuscript parts (the primary browsable unit). |
| GET | manuscripts/item-parts/{id}/ | Retrieve one part with its images. |
| GET | manuscripts/item-parts/{id}/tei/ | Download the part’s published manuscript description (msDesc) as TEI XML. |
| GET | manuscripts/item-images/ | List page/folio images; filter with ?item_part=. |
| GET | manuscripts/item-images/{id}/ | Retrieve one image. |
| GET | manuscripts/image-texts/ | List transcriptions/translations; filter with ?item_image=, ?type=. |
| GET | manuscripts/image-texts/{id}/ | Retrieve one transcription. |
| GET | manuscripts/image-texts/{id}/tei/ | Download the transcription as TEI XML (application/tei+xml). |
Anonymous callers only see texts whose status is Live or Reviewed; drafts return 404.
Scribes, hands & symbols
Section titled “Scribes, hands & symbols”Scribes/hands are mounted at /api/v1/; the symbol structure lives under /api/v1/symbols_structure/.
| Method | Path | Purpose |
|---|---|---|
| GET | scribes/, scribes/{id}/ | Scribe records. |
| GET | hands/, hands/{id}/ | Hand records; filter with ?item_part=, ?item_part_images=, ?scribe=. |
| GET | symbols_structure/allographs/ | Allograph list (script model). |
Annotations (graphs & regions)
Section titled “Annotations (graphs & regions)”Mounted at /api/v1/.
| Method | Path | Purpose |
|---|---|---|
| GET | manuscripts/graphs/ | Read-only list of graphs (annotated glyph instances); unpaginated, filter with ?item_image=, ?annotation_type=, ?hand=, ?allograph=, ?id__in=. |
| GET | manuscripts/graphs/{id}/ | Retrieve one graph with its region geometry. |
| POST/PATCH/DELETE | annotations/graphs/ | Annotator write surface (auth required; no GET). |
Anonymous callers do not see editorial annotations.
Search & discovery
Section titled “Search & discovery”Mounted under /api/v1/search/. {index} is a hyphenated index segment; the registered indexes are item-parts, item-images, scribes, hands, graphs, texts, clauses, people, places.
| Method | Path | Purpose |
|---|---|---|
| GET | search/{index}/ | Faceted search over an index (query, filters, paging). |
| GET | search/{index}/{id}/ | Retrieve a single indexed document. |
| GET | search/{index}/facets/ | Facet buckets/counts for the index. |
| GET | search/{index}/export/ | Export results; ?export_format=csv (default), json, or bibtex (item parts, scribes and hands only). |
| GET | search/suggest/ | Autocomplete suggestions. |
Site content & configuration
Section titled “Site content & configuration”| Method | Path | Purpose |
|---|---|---|
| GET | version/ | The running build’s version and commit. |
| GET | site-labels/ | Customisable UI labels, as {"labels": {key: {en, fr}}}. |
| GET | app-settings/ | Public site-feature settings. |
| GET | pages/, pages/{slug}/ | Editable site pages. |
| GET | media/publications/, media/events/ (by slug) | Publications and events. |
| GET | media/carousel-items/, media/partners/ | Home-page carousel and partner lists. |
| GET | worksets/{public_id}/ | A public lightbox workset (listing and editing your own needs auth). |
Management highlights
Section titled “Management highlights”These superuser-only routes back the backoffice; the schema documents them in full.
manuscripts/management/item-images/— create, edit and delete images. Changingitem_partmoves the image to another manuscript part; this is refused while the image has hand attributions (annotations with a hand, or linked hands). The list also accepts?has_text=,?has_transcription=,?has_translation=.uploads/sessions/— chunked image upload:POSTa session (item_part,filename,size, optionallocus,tags,subfolder),PUTeach chunk tosessions/{id}/chunks/{n}/, thenPOST sessions/{id}/finalize/and pollGET sessions/{id}/. Accepts.tif,.tiff,.jpg,.jpeg,.png,.jp2.site-labels/andapp-settings/acceptPUTfrom a superuser.
Standards exports
Section titled “Standards exports”These three route groups emit standards-compliant documents you can hand to external viewers and annotation clients.
W3C Web Annotation (JSON-LD) — under /api/v1/annotations-w3c/:
| Method | Path | Purpose |
|---|---|---|
| GET | annotations-w3c/graphs/{id}/ | One region as a W3C Web Annotation. |
| GET | annotations-w3c/image-texts/{id}/ | A transcription’s linked regions as an AnnotationPage. |
| GET | annotations-w3c/context/ | Pointer to the W3C annotation @context. |
IIIF — under /api/v1/iiif/ (note: the manifest path has no trailing slash):
| Method | Path | Purpose |
|---|---|---|
| GET | iiif/item-parts/{id}/manifest | IIIF Presentation 3.0 Manifest for a manuscript part. |
| GET | iiif/item-parts/{id}/search?q= | IIIF Content Search 2.0 over the part’s linked transcription regions. |
# Fetch a manifest and a TEI transcription from a local instancecurl http://localhost:8000/api/v1/iiif/item-parts/1/manifestcurl http://localhost:8000/api/v1/manuscripts/image-texts/1/tei/TEI XML is served per transcription at manuscripts/image-texts/{id}/tei/, and per manuscript part (its msDesc description) at manuscripts/item-parts/{id}/tei/ (see the Manuscripts table above).
Where the live OpenAPI schema covers a route, its response shape there is authoritative — check /api/v1/schema/ against your instance’s version rather than hard-coding fields. The search list/detail/export/suggest routes and the standards routes are not in the schema.