{"openapi":"3.1.0","info":{"title":"Getty Research Collections Viewer for Johnson Publishing Company Data (Staging Environment)","version":"1.0.0"},"paths":{"/":{"post":{"tags":["default"],"operationId":"records_container_post_item__post","parameters":[{"name":"container_id","in":"path","description":"The relative path for an LDP Container.","required":true,"schema":{"title":"Container Id","type":"string","description":"The relative path for an LDP Container."}},{"name":"slug","in":"query","description":"The slug you intend this item to get when it is uploaded","required":false,"schema":{"title":"Slug","anyOf":[{"type":"string"},{"type":"null"}],"description":"The slug you intend this item to get when it is uploaded","default":null}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlainBody"}}},"required":true},"responses":{"422":{"description":"Unprocessable Content","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorModel"}}}}}}}},"/dashboard":{"get":{"tags":["home"],"summary":"Dashboard","operationId":"home_page_get_home_page_dashboard_get","responses":{"200":{"description":"Dashboard data or HTML"},"422":{"description":"Unprocessable Content","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorModel"}}}}}}}},"/activity-stream/skip-to-datetime":{"get":{"tags":["activity"],"summary":"Skip to activity page by datetime","operationId":"activity_get_param_redirect_to_page_activity_stream_skip_to_datetime_get","parameters":[{"name":"datetime","in":"query","description":"The target date time (11/10/2025, May 10th 2026, etc) from a '?datetime=' parameter","required":true,"schema":{"title":"Datetime","anyOf":[{"type":"string"},{"type":"null"}],"description":"The target date time (11/10/2025, May 10th 2026, etc) from a '?datetime=' parameter"}}],"responses":{"200":{"description":"Redirect or results"},"400":{"description":"Bad datetime"},"404":{"description":"No activity found for date"},"422":{"description":"Unprocessable Content","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorModel"}}}}}}}},"/activity-stream/skip-to-datetime/{target_datetime}":{"get":{"tags":["activity"],"summary":"Skip to activity page by datetime","operationId":"activity_path_datetime_redirect_to_page_activity_stream_skip_to_datetime__string_target_datetime__get","parameters":[{"name":"target_datetime","in":"path","description":"The target date time (11/10/2025, May 10th 2026, etc).","required":true,"schema":{"title":"Target Datetime","type":"string","description":"The target date time (11/10/2025, May 10th 2026, etc)."}}],"responses":{"200":{"description":"Redirect or results"},"400":{"description":"Bad datetime"},"404":{"description":"No activity found for date"},"422":{"description":"Unprocessable Content","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorModel"}}}}}}}},"/activity-stream/":{"get":{"tags":["default"],"summary":"Generate the root OrderedCollection for the stream","description":"<br/>TODO: This does not currently filter against namespaces for the count. Should it?<br/><br/>Returns:<br/>    Response: A JSON-encoded OrderedCollection","operationId":"activity_activity_stream_collection_activity_stream__get","responses":{"422":{"description":"Unprocessable Content","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorModel"}}}}}}}},"/activity-stream":{"get":{"tags":["activity"],"summary":"Activity Stream root","description":"Generate the root OrderedCollection for the stream<br/><br/>TODO: This does not currently filter against namespaces for the count. Should it?<br/><br/>Returns:<br/>    Response: A JSON-encoded OrderedCollection","operationId":"activity_activity_stream_collection_activity_stream_get","responses":{"200":{"description":"Activity Stream collection"},"422":{"description":"Unprocessable Content","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorModel"}}}}}}}},"/activity-stream/page/{pagenum}":{"get":{"tags":["activity"],"summary":"Activity Stream page","description":"Generate an OrderedCollectionPage of Activity Stream items.<br/><br/>Args:<br/>    pagenum (Integer): The page to generate<br/><br/>Returns:<br/>    TYPE: Response: a JSON-encoded OrderedCollectionPage","operationId":"activity_activity_stream_page_activity_stream_page__int_pagenum__get","parameters":[{"name":"pagenum","in":"path","description":"The page number. Starts at 1 with no upper bound.","required":true,"schema":{"title":"Pagenum","minimum":1.0,"type":"integer","description":"The page number. Starts at 1 with no upper bound."}}],"responses":{"200":{"description":"Paginated activity items"},"404":{"description":"Page out of bounds"},"422":{"description":"Unprocessable Content","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorModel"}}}}}}}},"/activity-stream/{uuid}":{"get":{"tags":["activity"],"summary":"Activity Stream item","description":"Generate an ActivityStreams Create Response<br/><br/>Args:<br/>    uuid (String): The ID of the ActivityStream Create entity<br/><br/>Returns:<br/>    Response:  a JSON-encoded Create entity","operationId":"activity_activity_stream_item_activity_stream__string_uuid__get","parameters":[{"name":"uuid","in":"path","description":"A valid Universally Unique Identifier (UUID).","required":true,"schema":{"title":"Uuid","type":"string","description":"A valid Universally Unique Identifier (UUID)."}}],"responses":{"200":{"description":"Activity item"},"404":{"description":"Not found"},"422":{"description":"Unprocessable Content","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorModel"}}}}}}}},"/activity-stream/type/{entity_type}":{"get":{"tags":["activity"],"summary":"Activity Stream by entity type","operationId":"activity_entity_activity_stream_entity_collection_activity_stream_type__string_entity_type__get","parameters":[{"name":"entity_type","in":"path","description":"The type designation string of the entity.","required":true,"schema":{"title":"Entity Type","maxLength":200,"type":"string","description":"The type designation string of the entity."}}],"responses":{"200":{"description":"Filtered activity collection"},"404":{"description":"Entity type not found"},"422":{"description":"Unprocessable Content","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorModel"}}}}}}}},"/activity-stream/type/{entity_type}/page/{pagenum}":{"get":{"tags":["activity"],"summary":"Activity Stream by type, paginated","operationId":"activity_entity_activity_stream_entity_page_activity_stream_type__string_entity_type__page__int_pagenum__get","parameters":[{"name":"entity_type","in":"path","description":"The type designation string of the entity.","required":true,"schema":{"title":"Entity Type","maxLength":200,"type":"string","description":"The type designation string of the entity."}},{"name":"pagenum","in":"path","description":"The page number. Starts at 1 with no upper bound.","required":true,"schema":{"title":"Pagenum","minimum":1.0,"type":"integer","description":"The page number. Starts at 1 with no upper bound."}}],"responses":{"200":{"description":"Paginated activity items"},"404":{"description":"Not found"},"422":{"description":"Unprocessable Content","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorModel"}}}}}}}},"/{container_id}/":{"post":{"tags":["ldp","records"],"summary":"Create resource (LDP)","description":"Create a new resource or container by POSTing to an LDP container. Requires Bearer token authentication.","operationId":"records_container_post_item__path_container_id___post","parameters":[{"name":"container_id","in":"path","description":"The relative path for an LDP Container.","required":true,"schema":{"title":"Container Id","type":"string","description":"The relative path for an LDP Container."}},{"name":"slug","in":"query","description":"The slug you intend this item to get when it is uploaded","required":false,"schema":{"title":"Slug","anyOf":[{"type":"string"},{"type":"null"}],"description":"The slug you intend this item to get when it is uploaded","default":null}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlainBody"}}},"required":true},"responses":{"201":{"description":"Resource created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"409":{"description":"Conflict"},"422":{"description":"Unprocessable Content","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorModel"}}}}}},"security":[{"bearerAuth":[]}]}},"/{entity_id}":{"get":{"tags":["records"],"summary":"Get record","description":"Retrieve a record by entity ID. Supports RDF content negotiation via Accept header or 'format' query parameter. Returns the record in the requested format (JSON-LD, Turtle, N-Triples, N-Quads, N3, or TRIG).","operationId":"records_entity_record__path_entity_id__get","parameters":[{"name":"entity_id","in":"path","description":"The relative identifier for a JSON object held in the LOD Gateway.","required":true,"schema":{"title":"Entity Id","type":"string","description":"The relative identifier for a JSON object held in the LOD Gateway."}}],"responses":{"200":{"description":"Record data in requested format","content":{"application/ld+json":{"schema":{"type":"object","description":"JSON-LD representation of the record with expanded context and prefixed URIs."},"examples":{"json-ld":{"summary":"JSON-LD format","value":{"@context":"https://www.w3.org/ns/ontology-web-syntax","@id":"https://example.org/entity/123","type":"Thing","name":"Example Entity"}}}},"application/n-triples":{"schema":{"type":"string","description":"N-Triples format - a simple line-based RDF serialization with one triple per line."},"examples":{"nt":{"summary":"N-Triples format","value":"<https://example.org/entity/123> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2000/01/rdf-schema#Thing> .\n"}}},"text/turtle":{"schema":{"type":"string","description":"Turtle format - a more compact RDF serialization that groups triples by subject."},"examples":{"turtle":{"summary":"Turtle format","value":"@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .\n@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .\n@prefix ex: <https://example.org/entity/123> .\nex: a rdf:Thing .\n"}}},"application/n-quads":{"schema":{"type":"string","description":"N-Quads format - N-Triples with an additional quad graph name per line."},"examples":{"nquads":{"summary":"N-Quads format","value":"<https://example.org/entity/123> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2000/01/rdf-schema#Thing> <https://example.org/graph> .\n"}}},"text/n3":{"schema":{"type":"string","description":"N3 format - a more expressive RDF serialization with support for named graphs and negation."},"examples":{"n3":{"summary":"N3 format","value":"@prefix ex: <https://example.org/entity/123> .\n@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .\n@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .\nex: a rdf:Thing .\n"}}},"application/trig":{"schema":{"type":"string","description":"TRIG format - Turtle with support for named graphs."},"examples":{"trig":{"summary":"TRIG format","value":"@prefix ex: <https://example.org/entity/123> .\n@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .\n{\n  ex: a rdf:Thing .\n} .\n"}}}}},"304":{"description":"Not Modified (ETag match)"},"404":{"description":"Record not found"},"422":{"description":"Unprocessable Content","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorModel"}}}}}}},"delete":{"tags":["records"],"summary":"Delete record","description":"Permanently delete a record by entity ID. Requires Bearer token authentication.","operationId":"records_delete__path_entity_id__delete","parameters":[{"name":"entity_id","in":"path","description":"The relative identifier for a JSON object held in the LOD Gateway.","required":true,"schema":{"title":"Entity Id","type":"string","description":"The relative identifier for a JSON object held in the LOD Gateway."}}],"responses":{"200":{"description":"Deleted successfully"},"401":{"description":"Unauthorized"},"404":{"description":"Not found"},"422":{"description":"Unprocessable Content","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorModel"}}}}}},"security":[{"bearerAuth":[]}]}},"/-VERSION-/{entity_id}":{"get":{"tags":["records","timegate"],"summary":"Get record version","description":"Retrieve a previous version of a record. Authentication is required if the VERSION_AUTH environment variable is set to true (default: true).","operationId":"records_entity_version__VERSION___path_entity_id__get","parameters":[{"name":"entity_id","in":"path","description":"The relative identifier for a JSON object held in the LOD Gateway.","required":true,"schema":{"title":"Entity Id","type":"string","description":"The relative identifier for a JSON object held in the LOD Gateway."}}],"responses":{"200":{"description":"Version data"},"304":{"description":"Not Modified"},"404":{"description":"Not found"},"422":{"description":"Unprocessable Content","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorModel"}}}}}},"security":[{"bearerAuth":[]},{}]},"delete":{"tags":["timegate"],"summary":"Delete record version","description":"Delete a specific previous version of a record. Requires Bearer token authentication.","operationId":"records_delete_entity_version__VERSION___path_entity_id__delete","parameters":[{"name":"entity_id","in":"path","description":"The relative identifier for a JSON object held in the LOD Gateway.","required":true,"schema":{"title":"Entity Id","type":"string","description":"The relative identifier for a JSON object held in the LOD Gateway."}}],"responses":{"200":{"description":"Version deleted"},"404":{"description":"Not found"},"422":{"description":"Unprocessable Content","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorModel"}}}}}},"security":[{"bearerAuth":[]}]}},"/{entity_id}/activity-stream":{"get":{"tags":["activity"],"summary":"Record activity stream","operationId":"records_entity_record_activity_stream__path_entity_id__activity_stream_get","parameters":[{"name":"entity_id","in":"path","description":"The relative identifier for a JSON object held in the LOD Gateway.","required":true,"schema":{"title":"Entity Id","type":"string","description":"The relative identifier for a JSON object held in the LOD Gateway."}}],"responses":{"200":{"description":"Activity stream"},"404":{"description":"No activity stream for this record"},"422":{"description":"Unprocessable Content","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorModel"}}}}}}},"post":{"tags":["activity"],"summary":"Truncate record activity stream","description":"Truncate the activity stream for a record, keeping only the N most recent events specified by the `keep` query parameter. Requires Bearer token authentication.","operationId":"records_truncate_activity_stream_of_entity_id__path_entity_id__activity_stream_post","parameters":[{"name":"entity_id","in":"path","description":"The relative identifier for a JSON object held in the LOD Gateway.","required":true,"schema":{"title":"Entity Id","type":"string","description":"The relative identifier for a JSON object held in the LOD Gateway."}}],"responses":{"200":{"description":"Events removed"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"422":{"description":"Unprocessable Content","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorModel"}}}}}},"security":[{"bearerAuth":[]}]}},"/{entity_id}/activity-stream/page/{pagenum}":{"get":{"tags":["activity"],"summary":"Record activity stream page","operationId":"records_record_activity_stream_page__path_entity_id__activity_stream_page__int_pagenum__get","parameters":[{"name":"entity_id","in":"path","description":"The relative identifier for a JSON object held in the LOD Gateway.","required":true,"schema":{"title":"Entity Id","type":"string","description":"The relative identifier for a JSON object held in the LOD Gateway."}},{"name":"pagenum","in":"path","description":"The page number. Starts at 1 with no upper bound.","required":true,"schema":{"title":"Pagenum","minimum":1.0,"type":"integer","description":"The page number. Starts at 1 with no upper bound."}}],"responses":{"200":{"description":"Paginated activity items"},"404":{"description":"Page out of bounds"},"422":{"description":"Unprocessable Content","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorModel"}}}}}}}},"/ingest":{"get":{"tags":["ingest"],"summary":"Ingest (GET \u2014 forbidden)","description":"The ingest endpoint only accepts POST requests. Use POST with a JSON-LD payload.","operationId":"ingest_ingest_get_ingest_get","responses":{"405":{"description":"Method not allowed"},"422":{"description":"Unprocessable Content","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorModel"}}}}}}},"post":{"tags":["ingest"],"summary":"Batch ingest records","description":"Batch ingest one or more JSON-LD records. Requires Bearer token authentication via `Authorization: Bearer <token>` header.\n\nAll records in a batch are processed atomically \u2014 a failure in any record rolls back the entire batch.","operationId":"ingest_ingest_post_ingest_post","responses":{"200":{"description":"Ingestion results"},"400":{"description":"Validation error"},"401":{"description":"Unauthorized"},"503":{"description":"Database error"},"422":{"description":"Unprocessable Content","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorModel"}}}}}},"security":[{"bearerAuth":[]}],"requestBody":{"description":"Upload structural records via raw text JSONL stream.","required":true,"content":{"text/plain":{"schema":{"type":"string"},"examples":{"Single record ingest":{"summary":"Example of how to ingest a single record. Add the whole document, with a newline","value":"{\"id\": \"---relative-identifier---\", \"type\": \"....\", \"etc\": {...}, ... }\n"},"Multiple record ingest":{"summary":"Multiple records. Split their JSON-encoded text with newlines","value":"{\"id\": \"qfewf\", \"... }\n{\"id\": \"qfewf2\", \"... }\n{\"id\": \"qfewf3\", \"... }\n"},"Refresh a record":{"summary":"Example of how to reload a single record into the graphstore (requires RDF processing) and LDP container index (if LDP_BACKEND is on)","value":"{\"id\": \"---relative-identifier---\", \"_refresh\": true}\n"},"Delete record(s)":{"summary":"Example of how to delete a record.","value":"{\"id\": \"...\", \"_delete\": \"true\"}\n"}}},"application/x-ndjson":{"schema":{"type":"string"},"examples":{"Single record ingest":{"summary":"Example of how to ingest a single record. Add the whole document, with a newline","value":"{\"id\": \"---relative-identifier---\", \"type\": \"....\", \"etc\": {...}, ... }\n"},"Multiple record ingest":{"summary":"Multiple records. Split their JSON-encoded text with newlines","value":"{\"id\": \"qfewf\", \"... }\n{\"id\": \"qfewf2\", \"... }\n{\"id\": \"qfewf3\", \"... }\n"},"Refresh a record":{"summary":"Example of how to reload a single record into the graphstore (requires RDF processing) and LDP container index (if LDP_BACKEND is on)","value":"{\"id\": \"---relative-identifier---\", \"_refresh\": true}\n"},"Delete record(s)":{"summary":"Example of how to delete a record.","value":"{\"id\": \"...\", \"_delete\": \"true\"}\n"}}},"text/jsonl":{"schema":{"type":"string"},"examples":{"Single record ingest":{"summary":"Example of how to ingest a single record. Add the whole document, with a newline","value":"{\"id\": \"---relative-identifier---\", \"type\": \"....\", \"etc\": {...}, ... }\n"},"Multiple record ingest":{"summary":"Multiple records. Split their JSON-encoded text with newlines","value":"{\"id\": \"qfewf\", \"... }\n{\"id\": \"qfewf2\", \"... }\n{\"id\": \"qfewf3\", \"... }\n"},"Refresh a record":{"summary":"Example of how to reload a single record into the graphstore (requires RDF processing) and LDP container index (if LDP_BACKEND is on)","value":"{\"id\": \"---relative-identifier---\", \"_refresh\": true}\n"},"Delete record(s)":{"summary":"Example of how to delete a record.","value":"{\"id\": \"...\", \"_delete\": \"true\"}\n"}}},"application/json":{"schema":{"type":"string"},"examples":{"Single record ingest":{"summary":"Example of how to ingest a single record. Add the whole document, with a newline","value":"{\"id\": \"---relative-identifier---\", \"type\": \"....\", \"etc\": {...}, ... }\n"},"Multiple record ingest":{"summary":"Multiple records. Split their JSON-encoded text with newlines","value":"{\"id\": \"qfewf\", \"... }\n{\"id\": \"qfewf2\", \"... }\n{\"id\": \"qfewf3\", \"... }\n"},"Refresh a record":{"summary":"Example of how to reload a single record into the graphstore (requires RDF processing) and LDP container index (if LDP_BACKEND is on)","value":"{\"id\": \"---relative-identifier---\", \"_refresh\": true}\n"},"Delete record(s)":{"summary":"Example of how to delete a record.","value":"{\"id\": \"...\", \"_delete\": \"true\"}\n"}}}}}}},"/sparql":{"get":{"tags":["sparql"],"summary":"SPARQL query endpoint","description":"Execute a SPARQL query. Authentication is required if SPARQL_QUERY_AUTHENTICATION is set to true (default: false).","operationId":"sparql_query_entrypoint_sparql_get","responses":{"200":{"description":"SPARQL results"},"400":{"description":"Bad request"},"501":{"description":"RDF not enabled"},"504":{"description":"Query timeout"},"422":{"description":"Unprocessable Content","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorModel"}}}}}},"security":[{"bearerAuth":[]},{}]},"post":{"tags":["sparql"],"summary":"SPARQL query endpoint","description":"Execute a SPARQL query (POST variant). Authentication is required if SPARQL_QUERY_AUTHENTICATION is set to true (default: false).","operationId":"sparql_query_entrypoint_sparql_post","responses":{"200":{"description":"SPARQL results"},"400":{"description":"Bad request"},"501":{"description":"RDF not enabled"},"504":{"description":"Query timeout"},"422":{"description":"Unprocessable Content","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorModel"}}}}}},"security":[{"bearerAuth":[]},{}]}},"/sparql-ui":{"get":{"tags":["sparql"],"summary":"SPARQL UI page","description":"Serve the YASGUI SPARQL query interface. Authentication is required if SPARQL_QUERY_AUTHENTICATION is set to true (default: false).","operationId":"yasgui_get_yasgui_sparql_ui_get","responses":{"200":{"description":"HTML page"},"501":{"description":"RDF not enabled"},"422":{"description":"Unprocessable Content","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorModel"}}}}}},"security":[{"bearerAuth":[]},{}]}},"/-tm-/{entity_id}":{"get":{"tags":["timegate"],"summary":"Get timemap (Memento)","operationId":"timegate_get_timemap__tm___path_entity_id__get","responses":{"200":{"description":"Timemap in requested format"},"404":{"description":"Entity not found"},"422":{"description":"Unprocessable Content","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorModel"}}}}}}}},"/health":{"get":{"tags":["health"],"summary":"Health check","operationId":"health_healthcheck_get_health_get","responses":{"200":{"description":"OK"},"503":{"description":"Database unavailable"},"422":{"description":"Unprocessable Content","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorModel"}}}}}}}},"/authhealth":{"get":{"tags":["health"],"summary":"Authenticated health check","description":"Same as /health but requires a valid bearer token.","operationId":"health_authd_healthcheck_get_authhealth_get","responses":{"200":{"description":"OK"},"401":{"description":"Unauthorized"},"503":{"description":"Database unavailable"},"422":{"description":"Unprocessable Content","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorModel"}}}}}},"security":[{"bearerAuth":[]}]}},"/rdfhealth":{"get":{"tags":["health"],"summary":"RDF health check","description":"Checks database connectivity AND (when RDF processing is enabled) the SPARQL endpoint status.","operationId":"health_rdf_healthcheck_get_rdfhealth_get","responses":{"200":{"description":"OK"},"503":{"description":"Database or SPARQL endpoint unavailable"},"422":{"description":"Unprocessable Content","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorModel"}}}}}}}}},"components":{"schemas":{"PlainBody":{"title":"PlainBody","required":["type"],"type":"object","properties":{"type":{"title":"Type","type":"string","description":"Entity Type"}},"additionalProperties":true},"ValidationErrorModel":{"title":"ValidationErrorModel","required":["type","loc","msg","input"],"type":"object","properties":{"type":{"title":"Error Type","type":"string","description":"A computer-readable identifier of the error type."},"loc":{"title":"Location","type":"array","items":{},"description":"The error's location as a list."},"msg":{"title":"Message","type":"string","description":"A human readable explanation of the error."},"input":{"title":"Input","description":"The input provided for validation."},"url":{"title":"URL","anyOf":[{"type":"string"},{"type":"null"}],"description":"The URL to further information about the error.","default":null},"ctx":{"title":"Error context","anyOf":[{"type":"object","additionalProperties":true},{"type":"null"}],"description":"An optional object which contains values required to render the error message.","default":null}}}},"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"Opaque"}}},"tags":[{"name":"home","description":"Home page and dashboard"},{"name":"activity","description":"Activity Stream endpoints"},{"name":"ldp","description":"Linked Data Platform endpoints"},{"name":"records","description":"Record CRUD operations"},{"name":"timegate","description":"Memento versioning endpoints"},{"name":"ingest","description":"Batch ingest endpoint"},{"name":"sparql","description":"SPARQL query endpoint"},{"name":"health","description":"Health-check endpoints"}]}
