Appearance
system-map
6 endpoints.
GET /api/v1/system-map
List System Maps
The picker's index — titles only, never the (large) bodies.
200 — Successful Response
json
{
"items": {
"properties": {
"slug": {
"type": "string",
"title": "Slug"
},
"title": {
"type": "string",
"title": "Title"
},
"summary": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Summary"
},
"enabled": {
"type": "boolean",
"title": "Enabled",
"default": true
},
"sort_order": {
"type": "integer",
"title": "Sort Order",
"default": 0
}
},
"type": "object",
"required": [
"slug",
"title"
],
"title": "SystemMapSummary"
},
"type": "array",
"title": "Response List System Maps Api V1 System Map Get"
}POST /api/v1/system-map
Create System Map
Add a map. The slug is derived from the title unless one is given, and is rejected rather than silently suffixed if it is already taken — a slug is a permanent link handle, so a surprise -2 is worse than an error.
Request body
json
{
"properties": {
"title": {
"type": "string",
"title": "Title"
},
"slug": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Slug"
},
"summary": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Summary"
},
"html": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Html"
},
"enabled": {
"type": "boolean",
"title": "Enabled",
"default": true
},
"sort_order": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Sort Order"
}
},
"type": "object",
"required": [
"title"
],
"title": "SystemMapCreate"
}201 — Successful Response
json
{
"properties": {
"slug": {
"type": "string",
"title": "Slug"
},
"title": {
"type": "string",
"title": "Title"
},
"summary": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Summary"
},
"enabled": {
"type": "boolean",
"title": "Enabled",
"default": true
},
"sort_order": {
"type": "integer",
"title": "Sort Order",
"default": 0
},
"html": {
"type": "string",
"title": "Html"
}
},
"type": "object",
"required": [
"slug",
"title",
"html"
],
"title": "SystemMapDoc"
}422 — Validation Error
json
{
"properties": {
"detail": {
"items": {
"properties": {
"loc": {
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
}GET /api/v1/system-map/{slug}
Get System Map
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
slug | path | yes | string |
200 — Successful Response
json
{
"properties": {
"slug": {
"type": "string",
"title": "Slug"
},
"title": {
"type": "string",
"title": "Title"
},
"summary": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Summary"
},
"enabled": {
"type": "boolean",
"title": "Enabled",
"default": true
},
"sort_order": {
"type": "integer",
"title": "Sort Order",
"default": 0
},
"html": {
"type": "string",
"title": "Html"
}
},
"type": "object",
"required": [
"slug",
"title",
"html"
],
"title": "SystemMapDoc"
}422 — Validation Error
json
{
"properties": {
"detail": {
"items": {
"properties": {
"loc": {
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
}PUT /api/v1/system-map/{slug}
Update System Map
Save a document edited in place on the viewer page — the body alone.
Writes to the hub DB the read path uses, so an edit made from any site lands on the one set of documents the whole estate shares. Same superuser gate.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
slug | path | yes | string |
Request body
json
{
"properties": {
"html": {
"type": "string",
"title": "Html"
}
},
"type": "object",
"required": [
"html"
],
"title": "SystemMapBody"
}200 — Successful Response
json
{
"properties": {
"slug": {
"type": "string",
"title": "Slug"
},
"title": {
"type": "string",
"title": "Title"
},
"summary": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Summary"
},
"enabled": {
"type": "boolean",
"title": "Enabled",
"default": true
},
"sort_order": {
"type": "integer",
"title": "Sort Order",
"default": 0
},
"html": {
"type": "string",
"title": "Html"
}
},
"type": "object",
"required": [
"slug",
"title",
"html"
],
"title": "SystemMapDoc"
}422 — Validation Error
json
{
"properties": {
"detail": {
"items": {
"properties": {
"loc": {
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
}PATCH /api/v1/system-map/{slug}
Update System Map Meta
Title / summary / published / order — everything except the body and the slug, which stays fixed for the life of the map (it is the link handle).
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
slug | path | yes | string |
Request body
json
{
"properties": {
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Title"
},
"summary": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Summary"
},
"enabled": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Enabled"
},
"sort_order": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Sort Order"
}
},
"type": "object",
"title": "SystemMapMeta",
"description": "Metadata edit. Every field optional — only what is SENT is written, so the\ndialog can save one field without having to round-trip the others."
}200 — Successful Response
json
{
"properties": {
"slug": {
"type": "string",
"title": "Slug"
},
"title": {
"type": "string",
"title": "Title"
},
"summary": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Summary"
},
"enabled": {
"type": "boolean",
"title": "Enabled",
"default": true
},
"sort_order": {
"type": "integer",
"title": "Sort Order",
"default": 0
},
"html": {
"type": "string",
"title": "Html"
}
},
"type": "object",
"required": [
"slug",
"title",
"html"
],
"title": "SystemMapDoc"
}422 — Validation Error
json
{
"properties": {
"detail": {
"items": {
"properties": {
"loc": {
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
}DELETE /api/v1/system-map/{slug}
Delete System Map
Soft-delete — the row and its body survive, so a document deleted by mistake is recoverable from the DB (the same shape the grid's Delete had). Note the slug stays taken: the column is UNIQUE across deleted rows too.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
slug | path | yes | string |
204 — Successful Response
422 — Validation Error
json
{
"properties": {
"detail": {
"items": {
"properties": {
"loc": {
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
}