{
  "openapi": "3.1.0",
  "info": {
    "title": "FastAPI",
    "version": "0.1.0"
  },
  "paths": {
    "/_/healthz/": {
      "get": {
        "tags": [
          "internal"
        ],
        "summary": "Get Health",
        "description": "Return service availability as quickly as possible.",
        "operationId": "get_health___healthz__get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "title": "Response Get Health   Healthz  Get"
                }
              }
            }
          }
        }
      }
    },
    "/_/dbconnection/": {
      "get": {
        "tags": [
          "internal"
        ],
        "summary": "Get Connection Health",
        "description": "Pings the database. Used for health checks/kubernetes probes.",
        "operationId": "get_connection_health___dbconnection__get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "title": "Response Get Connection Health   Dbconnection  Get"
                }
              }
            }
          }
        }
      }
    },
    "/_/db": {
      "delete": {
        "tags": [
          "internal"
        ],
        "summary": "Drop Db",
        "description": "Drop the database.",
        "operationId": "drop_db___db_delete",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          }
        }
      }
    },
    "/_/collections/": {
      "get": {
        "tags": [
          "collections",
          "extensions"
        ],
        "summary": "Retrieve Collections",
        "description": "Retrieve a list of all collections.",
        "operationId": "retrieve_collections___collections__get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          }
        }
      }
    },
    "/_/collections/{collection_slug}/": {
      "delete": {
        "tags": [
          "collections",
          "extensions"
        ],
        "summary": "Drop a collection with all its pages and annotations.",
        "description": "Drop a collection and its annotations.",
        "operationId": "drop_collection___collections__collection_slug___delete",
        "parameters": [
          {
            "name": "collection_slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Collection Slug"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Empty response."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessage"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessage"
                }
              }
            },
            "description": "Not Found"
          },
          "405": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessage"
                }
              }
            },
            "description": "Method Not Allowed"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessage"
                }
              }
            },
            "description": "Service Unavailable"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/_/version/": {
      "get": {
        "tags": [
          "internal"
        ],
        "summary": "Get Version",
        "description": "Return the WAPCAS version.",
        "operationId": "get_version___version__get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          }
        }
      }
    },
    "/": {
      "post": {
        "tags": [
          "collections"
        ],
        "summary": "Create a Web Annotation Collection.",
        "description": "Create a Web Annotation Collection with an optional\n`slug` for the Collection ID and return it.",
        "operationId": "create_collection__post",
        "parameters": [
          {
            "name": "slug",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Slug"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "anyOf": [
                  {
                    "$ref": "#/components/schemas/InputCollection"
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Collection"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "The created Annotation Collection.",
            "content": {
              "application/ld+json;profile='http://www.w3.org/ns/anno.jsonld'": {
                "schema": {
                  "$ref": "#/components/schemas/Collection"
                }
              }
            }
          },
          "403": {
            "content": {
              "application/json": {},
              "application/ld+json;profile='http://www.w3.org/ns/anno.jsonld'": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessage"
                }
              }
            },
            "description": "Forbidden"
          },
          "405": {
            "content": {
              "application/json": {},
              "application/ld+json;profile='http://www.w3.org/ns/anno.jsonld'": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessage"
                }
              }
            },
            "description": "Method Not Allowed"
          },
          "409": {
            "content": {
              "application/json": {},
              "application/ld+json;profile='http://www.w3.org/ns/anno.jsonld'": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessage"
                }
              }
            },
            "description": "Conflict"
          },
          "503": {
            "content": {
              "application/json": {},
              "application/ld+json;profile='http://www.w3.org/ns/anno.jsonld'": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessage"
                }
              }
            },
            "description": "Service Unavailable"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "options": {
        "tags": [
          "collections"
        ],
        "summary": "Options Root",
        "operationId": "options_root__options",
        "responses": {
          "204": {
            "description": "Empty response."
          }
        }
      }
    },
    "/{collection_slug}/": {
      "get": {
        "tags": [
          "collections"
        ],
        "summary": "Retrieve an Annotation Collection or Annotation Page.",
        "description": "Retrieve an Annotation Collection (`collection_slug`) or an Annotation\nPage (`page`).",
        "operationId": "retrieve_collection__collection_slug___get",
        "parameters": [
          {
            "name": "collection_slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Collection Slug"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page"
            }
          },
          {
            "name": "prefer",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Prefer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The requested Annotation Collection or Annotation Page.",
            "content": {
              "application/ld+json;profile='http://www.w3.org/ns/anno.jsonld'": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/Page"
                    },
                    {
                      "$ref": "#/components/schemas/Collection"
                    }
                  ],
                  "title": "Response Retrieve Collection  Collection Slug   Get"
                }
              }
            }
          },
          "404": {
            "content": {
              "application/json": {},
              "application/ld+json;profile='http://www.w3.org/ns/anno.jsonld'": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessage"
                }
              }
            },
            "description": "Not Found"
          },
          "405": {
            "content": {
              "application/json": {},
              "application/ld+json;profile='http://www.w3.org/ns/anno.jsonld'": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessage"
                }
              }
            },
            "description": "Method Not Allowed"
          },
          "503": {
            "content": {
              "application/json": {},
              "application/ld+json;profile='http://www.w3.org/ns/anno.jsonld'": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessage"
                }
              }
            },
            "description": "Service Unavailable"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "collections"
        ],
        "summary": "Delete an Annotation Collection.",
        "description": "Delete an Annotation Collection (`collection_id`).",
        "operationId": "delete_collection__collection_slug___delete",
        "parameters": [
          {
            "name": "collection_slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Collection Slug"
            }
          },
          {
            "name": "if-match",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "If-Match"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Empty response."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessage"
                }
              }
            },
            "description": "Not Found"
          },
          "405": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessage"
                }
              }
            },
            "description": "Method Not Allowed"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessage"
                }
              }
            },
            "description": "Conflict"
          },
          "412": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessage"
                }
              }
            },
            "description": "Precondition Failed"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessage"
                }
              }
            },
            "description": "Service Unavailable"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "options": {
        "tags": [
          "collections"
        ],
        "summary": "Options Collection",
        "operationId": "options_collection__collection_slug___options",
        "parameters": [
          {
            "name": "collection_slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Collection Slug"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Empty response."
          },
          "404": {
            "description": "Not Found"
          },
          "405": {
            "description": "Method Not Allowed"
          },
          "503": {
            "description": "Service Unavailable"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "head": {
        "tags": [
          "collections"
        ],
        "summary": "Head Collection",
        "operationId": "head_collection__collection_slug___head",
        "parameters": [
          {
            "name": "collection_slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Collection Slug"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Empty response."
          },
          "404": {
            "description": "Not Found"
          },
          "405": {
            "description": "Method Not Allowed"
          },
          "503": {
            "description": "Service Unavailable"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "annotations"
        ],
        "summary": "Create a Web Annotation.",
        "description": "Create a Web Annotation in a Collection (`collection_slug`) with an optional\n`slug` for the Annotation ID and return it.",
        "operationId": "create_annotation__collection_slug___post",
        "parameters": [
          {
            "name": "collection_slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Collection Slug"
            }
          },
          {
            "name": "slug",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Slug"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InputAnnotation"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "The created Annotation.",
            "content": {
              "application/ld+json;profile='http://www.w3.org/ns/anno.jsonld'": {
                "schema": {
                  "$ref": "#/components/schemas/Annotation"
                }
              }
            }
          },
          "403": {
            "content": {
              "application/json": {},
              "application/ld+json;profile='http://www.w3.org/ns/anno.jsonld'": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessage"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {},
              "application/ld+json;profile='http://www.w3.org/ns/anno.jsonld'": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessage"
                }
              }
            },
            "description": "Not Found"
          },
          "405": {
            "content": {
              "application/json": {},
              "application/ld+json;profile='http://www.w3.org/ns/anno.jsonld'": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessage"
                }
              }
            },
            "description": "Method Not Allowed"
          },
          "409": {
            "content": {
              "application/json": {},
              "application/ld+json;profile='http://www.w3.org/ns/anno.jsonld'": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessage"
                }
              }
            },
            "description": "Conflict"
          },
          "503": {
            "content": {
              "application/json": {},
              "application/ld+json;profile='http://www.w3.org/ns/anno.jsonld'": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessage"
                }
              }
            },
            "description": "Service Unavailable"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/{collection_slug}/{annotation_slug}/": {
      "get": {
        "tags": [
          "annotations"
        ],
        "summary": "Retrieve a Web Annotation.",
        "description": "Retrieve an Annotation (`annotation_slug`) from a\nCollection (`annotation_slug`).",
        "operationId": "retrieve_annotation__collection_slug___annotation_slug___get",
        "parameters": [
          {
            "name": "collection_slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Collection Slug"
            }
          },
          {
            "name": "annotation_slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Annotation Slug"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The requested Annotation.",
            "content": {
              "application/ld+json;profile='http://www.w3.org/ns/anno.jsonld'": {
                "schema": {
                  "$ref": "#/components/schemas/Annotation"
                }
              }
            }
          },
          "404": {
            "content": {
              "application/json": {},
              "application/ld+json;profile='http://www.w3.org/ns/anno.jsonld'": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessage"
                }
              }
            },
            "description": "Not Found"
          },
          "405": {
            "content": {
              "application/json": {},
              "application/ld+json;profile='http://www.w3.org/ns/anno.jsonld'": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessage"
                }
              }
            },
            "description": "Method Not Allowed"
          },
          "503": {
            "content": {
              "application/json": {},
              "application/ld+json;profile='http://www.w3.org/ns/anno.jsonld'": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessage"
                }
              }
            },
            "description": "Service Unavailable"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "annotations"
        ],
        "summary": "Replace a Web Annotation.",
        "description": "Update (replace or insert) an Annotation (`annotation_slug`) in a Collection\n(`collection_slug`).",
        "operationId": "replace_annotation__collection_slug___annotation_slug___put",
        "parameters": [
          {
            "name": "collection_slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Collection Slug"
            }
          },
          {
            "name": "annotation_slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Annotation Slug"
            }
          },
          {
            "name": "if-match",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "If-Match"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InputAnnotation"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The up-to-date Annotation.",
            "content": {
              "application/ld+json;profile='http://www.w3.org/ns/anno.jsonld'": {
                "schema": {
                  "$ref": "#/components/schemas/Annotation"
                }
              }
            }
          },
          "201": {
            "content": {
              "application/ld+json;profile='http://www.w3.org/ns/anno.jsonld'": {
                "schema": {
                  "$ref": "#/components/schemas/Annotation"
                }
              }
            },
            "description": "Created"
          },
          "404": {
            "content": {
              "application/json": {},
              "application/ld+json;profile='http://www.w3.org/ns/anno.jsonld'": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessage"
                }
              }
            },
            "description": "Not Found"
          },
          "405": {
            "content": {
              "application/json": {},
              "application/ld+json;profile='http://www.w3.org/ns/anno.jsonld'": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessage"
                }
              }
            },
            "description": "Method Not Allowed"
          },
          "412": {
            "content": {
              "application/json": {},
              "application/ld+json;profile='http://www.w3.org/ns/anno.jsonld'": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessage"
                }
              }
            },
            "description": "Precondition Failed"
          },
          "503": {
            "content": {
              "application/json": {},
              "application/ld+json;profile='http://www.w3.org/ns/anno.jsonld'": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessage"
                }
              }
            },
            "description": "Service Unavailable"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "annotations"
        ],
        "summary": "Delete a Web Annotation.",
        "description": "Delete an Annotation (`annotation_slug`) in a Collection (`collection_slug`).",
        "operationId": "delete_annotation__collection_slug___annotation_slug___delete",
        "parameters": [
          {
            "name": "collection_slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Collection Slug"
            }
          },
          {
            "name": "annotation_slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Annotation Slug"
            }
          },
          {
            "name": "if-match",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "If-Match"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Empty response."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessage"
                }
              }
            },
            "description": "Not Found"
          },
          "405": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessage"
                }
              }
            },
            "description": "Method Not Allowed"
          },
          "412": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessage"
                }
              }
            },
            "description": "Precondition Failed"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessage"
                }
              }
            },
            "description": "Service Unavailable"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "options": {
        "tags": [
          "annotations"
        ],
        "summary": "Options Annotation",
        "operationId": "options_annotation__collection_slug___annotation_slug___options",
        "parameters": [
          {
            "name": "collection_slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Collection Slug"
            }
          },
          {
            "name": "annotation_slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Annotation Slug"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Empty response."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessage"
                }
              }
            },
            "description": "Not Found"
          },
          "405": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessage"
                }
              }
            },
            "description": "Method Not Allowed"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessage"
                }
              }
            },
            "description": "Service Unavailable"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "head": {
        "tags": [
          "annotations"
        ],
        "summary": "Head Annotation",
        "operationId": "head_annotation__collection_slug___annotation_slug___head",
        "parameters": [
          {
            "name": "collection_slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Collection Slug"
            }
          },
          {
            "name": "annotation_slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Annotation Slug"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Empty response."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessage"
                }
              }
            },
            "description": "Not Found"
          },
          "405": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessage"
                }
              }
            },
            "description": "Method Not Allowed"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessage"
                }
              }
            },
            "description": "Service Unavailable"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Annotation": {
        "properties": {
          "type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              }
            ],
            "title": "Type",
            "default": "Annotation"
          },
          "target": {
            "anyOf": [
              {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/SpecificResource-Output"
                  },
                  {
                    "type": "string",
                    "maxLength": 2083,
                    "minLength": 1,
                    "format": "uri"
                  }
                ]
              },
              {
                "items": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/SpecificResource-Output"
                    },
                    {
                      "type": "string",
                      "maxLength": 2083,
                      "minLength": 1,
                      "format": "uri"
                    }
                  ]
                },
                "type": "array"
              }
            ],
            "title": "Target"
          },
          "body": {
            "anyOf": [
              {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/SpecificResource-Output"
                  },
                  {
                    "$ref": "#/components/schemas/EmbeddedTextualBody"
                  },
                  {
                    "type": "string",
                    "maxLength": 2083,
                    "minLength": 1,
                    "format": "uri"
                  }
                ]
              },
              {
                "items": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/SpecificResource-Output"
                    },
                    {
                      "$ref": "#/components/schemas/EmbeddedTextualBody"
                    },
                    {
                      "type": "string",
                      "maxLength": 2083,
                      "minLength": 1,
                      "format": "uri"
                    }
                  ]
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Body"
          },
          "@context": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 2083,
                "minLength": 1,
                "format": "uri"
              },
              {
                "items": {
                  "type": "string",
                  "maxLength": 2083,
                  "minLength": 1,
                  "format": "uri"
                },
                "type": "array"
              }
            ],
            "title": "JSON-LD Context(s)",
            "default": [
              "http://www.w3.org/ns/anno.jsonld",
              "https://editions.sub.uni-goettingen.de/ns/textapi.jsonld"
            ]
          },
          "id": {
            "type": "string",
            "maxLength": 2083,
            "minLength": 1,
            "format": "uri",
            "title": "Id"
          },
          "created": {
            "type": "string",
            "title": "Created"
          },
          "modified": {
            "type": "string",
            "title": "Modified"
          },
          "via": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Via"
          }
        },
        "type": "object",
        "required": [
          "target",
          "id",
          "created",
          "modified"
        ],
        "title": "Annotation",
        "description": "An Annotation as it is returned by the API.",
        "example": {
          "@context": [
            "http://www.w3.org/ns/anno.jsonld",
            "https://editions.sub.uni-goettingen.de/ns/textapi.jsonld"
          ],
          "body": "http://example.org/post1",
          "created": "2024-02-15T10:24:20.872125+00:00",
          "id": "http://example.org/anno1",
          "modified": "2024-02-15T10:24:20.872125+00:00",
          "target": "http://example.com/page1",
          "type": "Annotation"
        }
      },
      "Collection": {
        "properties": {
          "@context": {
            "items": {
              "type": "string",
              "maxLength": 2083,
              "minLength": 1,
              "format": "uri"
            },
            "type": "array",
            "title": "@Context",
            "default": [
              "http://www.w3.org/ns/anno.jsonld",
              "http://www.w3.org/ns/ldp.jsonld"
            ]
          },
          "id": {
            "type": "string",
            "maxLength": 2083,
            "minLength": 1,
            "format": "uri",
            "title": "Id"
          },
          "type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              }
            ],
            "title": "Type",
            "default": [
              "AnnotationCollection",
              "BasicContainer"
            ]
          },
          "modified": {
            "type": "string",
            "title": "Modified"
          },
          "created": {
            "type": "string",
            "title": "Created"
          },
          "total": {
            "type": "integer",
            "minimum": 0.0,
            "title": "Total",
            "default": 0
          },
          "first": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 2083,
                "minLength": 1,
                "format": "uri"
              },
              {
                "$ref": "#/components/schemas/EmbeddedPage"
              },
              {
                "type": "null"
              }
            ],
            "title": "First"
          },
          "last": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 2083,
                "minLength": 1,
                "format": "uri"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last"
          }
        },
        "type": "object",
        "required": [
          "id",
          "modified",
          "created"
        ],
        "title": "Collection",
        "description": "An Annotation Collection.",
        "example": {
          "@context": [
            "http://www.w3.org/ns/anno.jsonld",
            "http://www.w3.org/ns/ldp.jsonld"
          ],
          "created": "2024-02-15T10:24:20.872125+00:00",
          "creator": "http://example.com/publisher",
          "first": "http://example.org/page1",
          "id": "http://example.org/collection1",
          "label": "Steampunk Annotations",
          "last": "http://example.org/page42",
          "modified": "2024-02-15T10:24:20.872125+00:00",
          "total": 42023,
          "type": [
            "AnnotationCollection",
            "BasicContainer"
          ]
        }
      },
      "CssSelector-Input": {
        "properties": {
          "refinedBy": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Selector-Input"
              },
              {
                "type": "null"
              }
            ]
          },
          "type": {
            "type": "string",
            "title": "Type",
            "default": "CssSelector"
          },
          "value": {
            "type": "string",
            "title": "Value"
          }
        },
        "type": "object",
        "required": [
          "value"
        ],
        "title": "CssSelector",
        "description": "The type of the CSS Selector resource."
      },
      "CssSelector-Output": {
        "properties": {
          "refinedBy": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Selector-Output"
              },
              {
                "type": "null"
              }
            ]
          },
          "type": {
            "type": "string",
            "title": "Type",
            "default": "CssSelector"
          },
          "value": {
            "type": "string",
            "title": "Value"
          }
        },
        "type": "object",
        "required": [
          "value"
        ],
        "title": "CssSelector",
        "description": "The type of the CSS Selector resource."
      },
      "EmbeddedAnnotation": {
        "properties": {
          "type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              }
            ],
            "title": "Type",
            "default": "Annotation"
          },
          "target": {
            "anyOf": [
              {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/SpecificResource-Output"
                  },
                  {
                    "type": "string",
                    "maxLength": 2083,
                    "minLength": 1,
                    "format": "uri"
                  }
                ]
              },
              {
                "items": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/SpecificResource-Output"
                    },
                    {
                      "type": "string",
                      "maxLength": 2083,
                      "minLength": 1,
                      "format": "uri"
                    }
                  ]
                },
                "type": "array"
              }
            ],
            "title": "Target"
          },
          "body": {
            "anyOf": [
              {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/SpecificResource-Output"
                  },
                  {
                    "$ref": "#/components/schemas/EmbeddedTextualBody"
                  },
                  {
                    "type": "string",
                    "maxLength": 2083,
                    "minLength": 1,
                    "format": "uri"
                  }
                ]
              },
              {
                "items": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/SpecificResource-Output"
                    },
                    {
                      "$ref": "#/components/schemas/EmbeddedTextualBody"
                    },
                    {
                      "type": "string",
                      "maxLength": 2083,
                      "minLength": 1,
                      "format": "uri"
                    }
                  ]
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Body"
          },
          "id": {
            "type": "string",
            "maxLength": 2083,
            "minLength": 1,
            "format": "uri",
            "title": "Id"
          },
          "via": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Via"
          },
          "created": {
            "type": "string",
            "title": "Created"
          },
          "modified": {
            "type": "string",
            "title": "Modified"
          }
        },
        "type": "object",
        "required": [
          "target",
          "id",
          "created",
          "modified"
        ],
        "title": "EmbeddedAnnotation",
        "description": "An Annotation object embedded in a Page."
      },
      "EmbeddedCollection": {
        "properties": {
          "@context": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 2083,
                "minLength": 1,
                "format": "uri"
              },
              {
                "items": {
                  "type": "string",
                  "maxLength": 2083,
                  "minLength": 1,
                  "format": "uri"
                },
                "type": "array"
              }
            ],
            "title": "@Context",
            "default": "http://www.w3.org/ns/ldp.jsonld"
          },
          "id": {
            "type": "string",
            "maxLength": 2083,
            "minLength": 1,
            "format": "uri",
            "title": "Id"
          },
          "modified": {
            "type": "string",
            "title": "Modified"
          },
          "created": {
            "type": "string",
            "title": "Created"
          },
          "total": {
            "type": "integer",
            "exclusiveMinimum": 0.0,
            "title": "Total"
          },
          "first": {
            "type": "string",
            "maxLength": 2083,
            "minLength": 1,
            "format": "uri",
            "title": "First"
          },
          "last": {
            "type": "string",
            "maxLength": 2083,
            "minLength": 1,
            "format": "uri",
            "title": "Last"
          }
        },
        "type": "object",
        "required": [
          "id",
          "modified",
          "created",
          "total",
          "first",
          "last"
        ],
        "title": "EmbeddedCollection",
        "description": "An Annotation Collection embedded in a page document."
      },
      "EmbeddedPage": {
        "properties": {
          "id": {
            "type": "string",
            "maxLength": 2083,
            "minLength": 1,
            "format": "uri",
            "title": "Id"
          },
          "type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              }
            ],
            "title": "Type",
            "default": "AnnotationPage"
          },
          "items": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/EmbeddedAnnotation"
                },
                "type": "array"
              },
              {
                "items": {
                  "type": "string",
                  "maxLength": 2083,
                  "minLength": 1,
                  "format": "uri"
                },
                "type": "array"
              }
            ],
            "title": "Items"
          },
          "next": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 2083,
                "minLength": 1,
                "format": "uri"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next"
          },
          "prev": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 2083,
                "minLength": 1,
                "format": "uri"
              },
              {
                "type": "null"
              }
            ],
            "title": "Prev"
          },
          "startIndex": {
            "type": "integer",
            "minimum": 0.0,
            "title": "Startindex",
            "default": 0
          }
        },
        "type": "object",
        "required": [
          "id",
          "items"
        ],
        "title": "EmbeddedPage",
        "description": "An Annotation Collection\u2019s Page embedded in a collection document."
      },
      "EmbeddedTextualBody": {
        "properties": {
          "format": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Format"
          },
          "language": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Language"
          },
          "processingLanguage": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Processinglanguage"
          },
          "textDirection": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "ltr",
                  "rtl",
                  "auto"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Textdirection"
          },
          "annotationType": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "AnnotationType"
          },
          "value": {
            "type": "string",
            "title": "Value"
          }
        },
        "type": "object",
        "required": [
          "value"
        ],
        "title": "EmbeddedTextualBody",
        "description": "The embedded textual body model."
      },
      "ErrorMessage": {
        "properties": {
          "detail": {
            "type": "string",
            "title": "Detail"
          }
        },
        "type": "object",
        "required": [
          "detail"
        ],
        "title": "ErrorMessage",
        "description": "An Error message.",
        "example": {
          "detail": "Your request failed because..."
        }
      },
      "FragmentSelector-Input": {
        "properties": {
          "refinedBy": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Selector-Input"
              },
              {
                "type": "null"
              }
            ]
          },
          "type": {
            "type": "string",
            "title": "Type",
            "default": "FragmentSelector"
          },
          "value": {
            "type": "string",
            "title": "Value"
          },
          "conformsTo": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Conformsto"
          }
        },
        "type": "object",
        "required": [
          "value"
        ],
        "title": "FragmentSelector",
        "description": "A resource which describes the Segment through the use of the fragment component\nof an IRI."
      },
      "FragmentSelector-Output": {
        "properties": {
          "refinedBy": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Selector-Output"
              },
              {
                "type": "null"
              }
            ]
          },
          "type": {
            "type": "string",
            "title": "Type",
            "default": "FragmentSelector"
          },
          "value": {
            "type": "string",
            "title": "Value"
          },
          "conformsTo": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Conformsto"
          }
        },
        "type": "object",
        "required": [
          "value"
        ],
        "title": "FragmentSelector",
        "description": "A resource which describes the Segment through the use of the fragment component\nof an IRI."
      },
      "HTTPValidationError": {
        "properties": {
          "detail": {
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
          }
        },
        "type": "object",
        "title": "HTTPValidationError"
      },
      "HttpRequestState-Input": {
        "properties": {
          "refinedBy": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/State-Input"
              },
              {
                "$ref": "#/components/schemas/Selector-Input"
              },
              {
                "items": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/State-Input"
                    },
                    {
                      "$ref": "#/components/schemas/Selector-Input"
                    }
                  ]
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Refinedby"
          },
          "type": {
            "type": "string",
            "const": "HttpRequestState",
            "title": "Type",
            "default": "HttpRequestState"
          },
          "value": {
            "type": "string",
            "title": "Value"
          }
        },
        "type": "object",
        "required": [
          "value"
        ],
        "title": "HttpRequestState",
        "description": "The HttpRequestState resource maintains a copy of the headers to be replayed when\nobtaining the representation."
      },
      "HttpRequestState-Output": {
        "properties": {
          "refinedBy": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/State-Output"
              },
              {
                "$ref": "#/components/schemas/Selector-Output"
              },
              {
                "items": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/State-Output"
                    },
                    {
                      "$ref": "#/components/schemas/Selector-Output"
                    }
                  ]
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Refinedby"
          },
          "type": {
            "type": "string",
            "const": "HttpRequestState",
            "title": "Type",
            "default": "HttpRequestState"
          },
          "value": {
            "type": "string",
            "title": "Value"
          }
        },
        "type": "object",
        "required": [
          "value"
        ],
        "title": "HttpRequestState",
        "description": "The HttpRequestState resource maintains a copy of the headers to be replayed when\nobtaining the representation."
      },
      "InputAnnotation": {
        "properties": {
          "type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              }
            ],
            "title": "Type",
            "default": "Annotation"
          },
          "target": {
            "anyOf": [
              {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/SpecificResource-Input"
                  },
                  {
                    "type": "string",
                    "maxLength": 2083,
                    "minLength": 1,
                    "format": "uri"
                  }
                ]
              },
              {
                "items": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/SpecificResource-Input"
                    },
                    {
                      "type": "string",
                      "maxLength": 2083,
                      "minLength": 1,
                      "format": "uri"
                    }
                  ]
                },
                "type": "array"
              }
            ],
            "title": "Target"
          },
          "body": {
            "anyOf": [
              {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/SpecificResource-Input"
                  },
                  {
                    "$ref": "#/components/schemas/EmbeddedTextualBody"
                  },
                  {
                    "type": "string",
                    "maxLength": 2083,
                    "minLength": 1,
                    "format": "uri"
                  }
                ]
              },
              {
                "items": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/SpecificResource-Input"
                    },
                    {
                      "$ref": "#/components/schemas/EmbeddedTextualBody"
                    },
                    {
                      "type": "string",
                      "maxLength": 2083,
                      "minLength": 1,
                      "format": "uri"
                    }
                  ]
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Body"
          },
          "@context": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 2083,
                "minLength": 1,
                "format": "uri"
              },
              {
                "items": {
                  "type": "string",
                  "maxLength": 2083,
                  "minLength": 1,
                  "format": "uri"
                },
                "type": "array"
              }
            ],
            "title": "JSON-LD Context(s)"
          },
          "id": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 2083,
                "minLength": 1,
                "format": "uri"
              },
              {
                "type": "null"
              }
            ],
            "title": "Id"
          },
          "bodyValue": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bodyvalue"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "target",
          "@context"
        ],
        "title": "InputAnnotation",
        "description": "Annotation as it can be submitted.",
        "examples": [
          {
            "@context": [
              "http://www.w3.org/ns/anno.jsonld",
              "https://editions.sub.uni-goettingen.de/ns/textapi.jsonld"
            ],
            "body": "http://example.org/post1",
            "id": "http://example.org/anno1",
            "target": "http://example.com/page1",
            "type": "Annotation"
          },
          {}
        ]
      },
      "InputCollection": {
        "properties": {
          "@context": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 2083,
                "minLength": 1,
                "format": "uri"
              },
              {
                "items": {
                  "type": "string",
                  "maxLength": 2083,
                  "minLength": 1,
                  "format": "uri"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "@Context"
          },
          "id": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 2083,
                "minLength": 1,
                "format": "uri"
              },
              {
                "type": "null"
              }
            ],
            "title": "Id"
          },
          "type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Type"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "InputCollection",
        "description": "Collection as it can be submitted."
      },
      "Page": {
        "properties": {
          "id": {
            "type": "string",
            "maxLength": 2083,
            "minLength": 1,
            "format": "uri",
            "title": "Id"
          },
          "type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              }
            ],
            "title": "Type",
            "default": "AnnotationPage"
          },
          "items": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/EmbeddedAnnotation"
                },
                "type": "array"
              },
              {
                "items": {
                  "type": "string",
                  "maxLength": 2083,
                  "minLength": 1,
                  "format": "uri"
                },
                "type": "array"
              }
            ],
            "title": "Items"
          },
          "next": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 2083,
                "minLength": 1,
                "format": "uri"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next"
          },
          "prev": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 2083,
                "minLength": 1,
                "format": "uri"
              },
              {
                "type": "null"
              }
            ],
            "title": "Prev"
          },
          "startIndex": {
            "type": "integer",
            "minimum": 0.0,
            "title": "Startindex",
            "default": 0
          },
          "@context": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 2083,
                "minLength": 1,
                "format": "uri"
              },
              {
                "items": {
                  "type": "string",
                  "maxLength": 2083,
                  "minLength": 1,
                  "format": "uri"
                },
                "type": "array"
              }
            ],
            "title": "@Context",
            "default": "http://www.w3.org/ns/anno.jsonld"
          },
          "partOf": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/EmbeddedCollection"
              },
              {
                "type": "string",
                "maxLength": 2083,
                "minLength": 1,
                "format": "uri"
              }
            ],
            "title": "Partof"
          }
        },
        "type": "object",
        "required": [
          "id",
          "items",
          "partOf"
        ],
        "title": "Page",
        "description": "An Annotation Collection\u2019s Page."
      },
      "Selector-Input": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/FragmentSelector-Input"
          },
          {
            "$ref": "#/components/schemas/CssSelector-Input"
          }
        ]
      },
      "Selector-Output": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/FragmentSelector-Output"
          },
          {
            "$ref": "#/components/schemas/CssSelector-Output"
          }
        ]
      },
      "Source": {
        "properties": {
          "id": {
            "type": "string",
            "maxLength": 2083,
            "minLength": 1,
            "format": "uri",
            "title": "Id"
          },
          "collection": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 2083,
                "minLength": 1,
                "format": "uri"
              },
              {
                "type": "null"
              }
            ],
            "title": "Collection"
          },
          "manifest": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 2083,
                "minLength": 1,
                "format": "uri"
              },
              {
                "type": "null"
              }
            ],
            "title": "Manifest"
          },
          "item": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 2083,
                "minLength": 1,
                "format": "uri"
              },
              {
                "type": "null"
              }
            ],
            "title": "Item"
          }
        },
        "type": "object",
        "required": [
          "id"
        ],
        "title": "Source",
        "description": "The source resource for a SpecificResource."
      },
      "SpecificResource-Input": {
        "properties": {
          "id": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 2083,
                "minLength": 1,
                "format": "uri"
              },
              {
                "type": "null"
              }
            ],
            "title": "Id"
          },
          "type": {
            "type": "string",
            "const": "SpecificResource",
            "title": "Type",
            "default": "SpecificResource"
          },
          "source": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 2083,
                "minLength": 1,
                "format": "uri"
              },
              {
                "$ref": "#/components/schemas/Source"
              }
            ],
            "title": "Source"
          },
          "purpose": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Purpose"
          },
          "selector": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Selector-Input"
              },
              {
                "type": "string",
                "maxLength": 2083,
                "minLength": 1,
                "format": "uri"
              },
              {
                "items": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/Selector-Input"
                    },
                    {
                      "type": "string",
                      "maxLength": 2083,
                      "minLength": 1,
                      "format": "uri"
                    }
                  ]
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Selector"
          },
          "state": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/State-Input"
              },
              {
                "items": {
                  "$ref": "#/components/schemas/State-Input"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "State"
          }
        },
        "type": "object",
        "required": [
          "source"
        ],
        "title": "SpecificResource",
        "description": "The class for Specific Resources."
      },
      "SpecificResource-Output": {
        "properties": {
          "id": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 2083,
                "minLength": 1,
                "format": "uri"
              },
              {
                "type": "null"
              }
            ],
            "title": "Id"
          },
          "type": {
            "type": "string",
            "const": "SpecificResource",
            "title": "Type",
            "default": "SpecificResource"
          },
          "source": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 2083,
                "minLength": 1,
                "format": "uri"
              },
              {
                "$ref": "#/components/schemas/Source"
              }
            ],
            "title": "Source"
          },
          "purpose": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Purpose"
          },
          "selector": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Selector-Output"
              },
              {
                "type": "string",
                "maxLength": 2083,
                "minLength": 1,
                "format": "uri"
              },
              {
                "items": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/Selector-Output"
                    },
                    {
                      "type": "string",
                      "maxLength": 2083,
                      "minLength": 1,
                      "format": "uri"
                    }
                  ]
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Selector"
          },
          "state": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/State-Output"
              },
              {
                "items": {
                  "$ref": "#/components/schemas/State-Output"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "State"
          }
        },
        "type": "object",
        "required": [
          "source"
        ],
        "title": "SpecificResource",
        "description": "The class for Specific Resources."
      },
      "State-Input": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/HttpRequestState-Input"
          },
          {
            "$ref": "#/components/schemas/TimeState-Input"
          }
        ]
      },
      "State-Output": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/HttpRequestState-Output"
          },
          {
            "$ref": "#/components/schemas/TimeState-Output"
          }
        ]
      },
      "TimeState-Input": {
        "properties": {
          "refinedBy": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/State-Input"
              },
              {
                "$ref": "#/components/schemas/Selector-Input"
              },
              {
                "items": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/State-Input"
                    },
                    {
                      "$ref": "#/components/schemas/Selector-Input"
                    }
                  ]
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Refinedby"
          },
          "type": {
            "type": "string",
            "const": "TimeState",
            "title": "Type",
            "default": "TimeState"
          },
          "sourceDate": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sourcedate"
          },
          "sourceDateStart": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sourcedatestart"
          },
          "sourceDateEnd": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sourcedateend"
          },
          "cached": {
            "anyOf": [
              {},
              {
                "type": "null"
              }
            ],
            "title": "Cached"
          }
        },
        "type": "object",
        "title": "TimeState",
        "description": "A Time State resource records the time at which the resource is appropriate for\nthe Annotation, typically the time that the Annotation was created and/or a link to\na persistent copy of the current version."
      },
      "TimeState-Output": {
        "properties": {
          "refinedBy": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/State-Output"
              },
              {
                "$ref": "#/components/schemas/Selector-Output"
              },
              {
                "items": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/State-Output"
                    },
                    {
                      "$ref": "#/components/schemas/Selector-Output"
                    }
                  ]
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Refinedby"
          },
          "type": {
            "type": "string",
            "const": "TimeState",
            "title": "Type",
            "default": "TimeState"
          },
          "sourceDate": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sourcedate"
          },
          "sourceDateStart": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sourcedatestart"
          },
          "sourceDateEnd": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sourcedateend"
          },
          "cached": {
            "anyOf": [
              {},
              {
                "type": "null"
              }
            ],
            "title": "Cached"
          }
        },
        "type": "object",
        "title": "TimeState",
        "description": "A Time State resource records the time at which the resource is appropriate for\nthe Annotation, typically the time that the Annotation was created and/or a link to\na persistent copy of the current version."
      },
      "ValidationError": {
        "properties": {
          "loc": {
            "items": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "type": "array",
            "title": "Location"
          },
          "msg": {
            "type": "string",
            "title": "Message"
          },
          "type": {
            "type": "string",
            "title": "Error Type"
          },
          "input": {
            "title": "Input"
          },
          "ctx": {
            "type": "object",
            "title": "Context"
          }
        },
        "type": "object",
        "required": [
          "loc",
          "msg",
          "type"
        ],
        "title": "ValidationError"
      }
    }
  }
}