{
  "openapi" : "3.0.1",
  "info" : {
    "title" : "Transkribus Metagrapho API",
    "description" : "The API accepts single images as base64-encoded string or by http(s) URLs in a `POST` request and processes them using Transkribus HTR technology. Each processing request's response includes a `processId` that can be used to poll its status and retrieve the result.<br/><br/>You can apply any of your HTR models trained in Transkribus as well as all public models by setting its `htrId` in the `ConfigRepresentation` section of the inital `POST` request. A list of public models including their ID can be found on the [READ COOP website](https://readcoop.eu/transkribus/public-models/).<br/><br/>The API accepts the image MIME-types `image/jpeg`, `image/tiff` and `image/png` and file sizes up to 20 megabyte.",
    "termsOfService" : "https://readcoop.org/terms",
    "contact" : {
      "email" : "info@readcoop.org"
    },
    "version" : "1.13.1"
  },
  "servers" : [ {
    "url" : "https://transkribus.eu/processing/v1"
  }, {
    "url" : "https://transkribus.eu/processing/v1",
    "description" : "Legacy URL"
  } ],
  "security" : [ {
    "oAuth2AuthCode" : [ "openid" ]
  } ],
  "paths" : {
    "/processes/{processId}/alto" : {
      "get" : {
        "tags" : [ "Retrieve processing result" ],
        "summary" : "Get the processing result, identified by its processId, as ALTO XML",
        "operationId" : "getAltoXmlProcessingResult",
        "parameters" : [ {
          "name" : "processId",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The result as <a href=\"https://www.loc.gov/standards/alto/v4/alto.xsd\">ALTO v4 XML</a>",
            "content" : {
              "application/xml" : { }
            }
          },
          "401" : {
            "description" : "The request is not authorized.",
            "content" : {
              "application/xml" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorRepresentation"
                }
              }
            }
          },
          "404" : {
            "description" : "The processId does not exist or the result is not yet available.",
            "content" : {
              "application/xml" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorRepresentation"
                }
              }
            }
          }
        }
      }
    },
    "/processes/{processId}/page" : {
      "get" : {
        "tags" : [ "Retrieve processing result" ],
        "summary" : "Get the processing result, identified by its processId, as PAGE XML, version 2013-07-15.",
        "operationId" : "getPageXmlProcessingResult",
        "parameters" : [ {
          "name" : "processId",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The result as <a href=\"https://www.primaresearch.org/schema/PAGE/gts/pagecontent/2013-07-15/pagecontent.xsd\">PAGE XML</a>",
            "content" : {
              "application/xml" : { }
            }
          },
          "401" : {
            "description" : "The request is not authorized.",
            "content" : {
              "application/xml" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorRepresentation"
                }
              }
            }
          },
          "404" : {
            "description" : "The processId does not exist or the result is not yet available.",
            "content" : {
              "application/xml" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorRepresentation"
                }
              }
            }
          }
        }
      }
    },
    "/processes/{processId}" : {
      "get" : {
        "tags" : [ "Retrieve processing status and result" ],
        "summary" : "Get the processing status of a previous request, identified by its processId. Once processing has finished, the result will be included in the response and is available for 2 days.",
        "operationId" : "getProcessingStatus",
        "parameters" : [ {
          "name" : "processId",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The request was accepted",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProcessingResponseRepresentation"
                },
                "example" : {
                  "processId" : 3866314,
                  "status" : "FINISHED",
                  "content" : {
                    "text" : "Eisenschrott",
                    "regions" : [ {
                      "id" : "region_1",
                      "coords" : {
                        "points" : "0,0 282,0 280,109 0,108"
                      },
                      "lines" : [ {
                        "id" : "line_1",
                        "coords" : {
                          "points" : "0,109 55,89 79,91 96,106 131,100 152,109 196,75 243,73 254,82 281,70 281,13 242,11 228,-1 173,15 146,3 98,13 65,-2 1,8"
                        },
                        "baseline" : {
                          "points" : "6,64 276,65"
                        },
                        "text" : "Eisenschrott",
                        "words" : [ {
                          "id" : "line_1_w1",
                          "coords" : {
                            "points" : "11,24 11,84 278,84 278,24"
                          },
                          "text" : "Eisenschrott"
                        } ]
                      } ]
                    } ]
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "The request body is malformed or misses information.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorRepresentation"
                },
                "example" : {
                  "statusCode" : 400,
                  "reasonPhrase" : "Bad Request",
                  "message" : "The processing request's textRecognition config does not include a htrId"
                }
              }
            }
          },
          "401" : {
            "description" : "The request is not authorized.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorRepresentation"
                },
                "example" : {
                  "statusCode" : 401,
                  "reasonPhrase" : "Unauthorized",
                  "message" : "The request is not authorized"
                }
              }
            }
          },
          "404" : {
            "description" : "A referenced entity in the request does not exist.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorRepresentation"
                },
                "example" : {
                  "statusCode" : 404,
                  "reasonPhrase" : "Not Found",
                  "message" : "A HTR model with ID = x does not exist"
                }
              }
            }
          }
        }
      }
    },
    "/processes" : {
      "post" : {
        "tags" : [ "Submit data for processing" ],
        "summary" : "Process a single image",
        "operationId" : "startProcessing",
        "requestBody" : {
          "description" : "The image representation, processing configuration and optional layout information",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ProcessingRequestRepresentation"
              },
              "examples" : {
                "Embedded image data" : {
                  "summary" : "Pass image as base64 with given layout information for text recognition.",
                  "description" : "Base64-encoded image data is submitted for text recognition, using the given model ID. Existing region and line information is passed, so Transkribus will skip line detection and only recognise text in the given lines.",
                  "value" : {
                    "config" : {
                      "textRecognition" : {
                        "htrId" : 38230
                      }
                    },
                    "content" : {
                      "regions" : [ {
                        "id" : "region_1",
                        "coords" : {
                          "points" : "0,0 282,0 280,109 0,108"
                        },
                        "lines" : [ {
                          "id" : "line_1",
                          "coords" : {
                            "points" : "6,19 276,20 276,70 6,69"
                          },
                          "baseline" : {
                            "points" : "6,64 276,65"
                          }
                        } ]
                      } ]
                    },
                    "image" : {
                      "base64" : "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dHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bXBNTTpEb2N1bWVudElEPSJnaW1wOmRvY2lkOmdpbXA6OWE4YWFjN2UtOTNhZC00ZDU3LTk3ZjgtNTUyY2Y4Y2E1MTc3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjhiMDIxYjE0LTJkM2YtNGI5Mi04OWJmLWE4NWFjNzdiZDBkOSIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjI3N2E0MTJlLTk5ZTMtNGM0Yy1iOTNiLWM5MzYwZTFlZWI5YSIgR0lNUDpBUEk9IjIuMCIgR0lNUDpQbGF0Zm9ybT0iTGludXgiIEdJTVA6VGltZVN0YW1wPSIxNjE3OTc4NDc5ODYyMTM5IiBHSU1QOlZlcnNpb249IjIuMTAuMjIiIGRjOkZvcm1hdD0iaW1hZ2UvanBlZyIgeG1wOkNyZWF0b3JUb29sPSJHSU1QIDIuMTAiPiA8aXB0Y0V4dDpMb2NhdGlvbkNyZWF0ZWQ+IDxyZGY6QmFnLz4gPC9pcHRjRXh0OkxvY2F0aW9uQ3JlYXRlZD4gPGlwdGNFeHQ6TG9jYXRpb25TaG93bj4gPHJkZjpCYWcvPiA8L2lwdGNFeHQ6TG9jYXRpb25TaG93bj4gPGlwdGNFeHQ6QXJ0d29ya09yT2JqZWN0PiA8cmRmOkJhZy8+IDwvaXB0Y0V4dDpBcnR3b3JrT3JPYmplY3Q+IDxpcHRjRXh0OlJlZ2lzdHJ5SWQ+IDxyZGY6QmFnLz4gPC9pcHRjRXh0OlJlZ2lzdHJ5SWQ+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDpjaGFuZ2VkPSIvIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOmJlNjg3ZGJkLWZmY2UtNDc1MC04Y2M1LThlMWJiYWEwOTE0ZiIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iR2ltcCAyLjEwIChMaW51eCkiIHN0RXZ0OndoZW49IiswMjowMCIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPHBsdXM6SW1hZ2VTdXBwbGllcj4gPHJkZjpTZXEvPiA8L3BsdXM6SW1hZ2VTdXBwbGllcj4gPHBsdXM6SW1hZ2VDcmVhdG9yPiA8cmRmOlNlcS8+IDwvcGx1czpJbWFnZUNyZWF0b3I+IDxwbHVzOkNvcHlyaWdodE93bmVyPiA8cmRmOlNlcS8+IDwvcGx1czpDb3B5cmlnaHRPd25lcj4gPHBsdXM6TGljZW5zb3I+IDxyZGY6U2VxLz4gPC9wbHVzOkxpY2Vuc29yPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8P3hwYWNrZXQgZW5kPSJ3Ij8+/+ICsElDQ19QUk9GSUxFAAEBAAACoGxjbXMEMAAAbW50clJHQiBYWVogB+UABAAJAA4AGQAlYWNzcEFQUEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPbWAAEAAAAA0y1sY21zAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANZGVzYwAAASAAAABAY3BydAAAAWAAAAA2d3RwdAAAAZgAAAAUY2hhZAAAAawAAAAsclhZWgAAAdgAAAAUYlhZWgAAAewAAAAUZ1hZWgAAAgAAAAAUclRSQwAAAhQAAAAgZ1RSQwAAAhQAAAAgYlRSQwAAAhQAAAAgY2hybQAAAjQAAAAkZG1uZAAAAlgAAAAkZG1kZAAAAnwAAAAkbWx1YwAAAAAAAAABAAAADGVuVVMAAAAkAAAAHABHAEkATQBQACAAYgB1AGkAbAB0AC0AaQBuACAAcwBSAEcAQm1sdWMAAAAAAAAAAQAAAAxlblVTAAAAGgAAABwAUAB1AGIAbABpAGMAIABEAG8AbQBhAGkAbgAAWFlaIAAAAAAAAPbWAAEAAAAA0y1zZjMyAAAAAAABDEIAAAXe///zJQAAB5MAAP2Q///7of///aIAAAPcAADAblhZWiAAAAAAAABvoAAAOPUAAAOQWFlaIAAAAAAAACSfAAAPhAAAtsRYWVogAAAAAAAAYpcAALeHAAAY2XBhcmEAAAAAAAMAAAACZmYAAPKnAAANWQAAE9AAAApbY2hybQAAAAAAAwAAAACj1wAAVHwAAEzNAACZmgAAJmcAAA9cbWx1YwAAAAAAAAABAAAADGVuVVMAAAAIAAAAHABHAEkATQBQbWx1YwAAAAAAAAABAAAADGVuVVMAAAAIAAAAHABzAFIARwBC/9sAQwAOCQoMCgkODAsMDw8OEBUiFhUTExUqHiAZIjIsNDQxLDAvNz5PQzc6SzsvMEVeRktSVFlZWTVCYWhgVmdPV1lV/9sAQwEPDw8VEhUoFhYoVTkwOVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV/8IAEQgAbQEbAwERAAIRAQMRAf/EABkAAAIDAQAAAAAAAAAAAAAAAAABAgMEBf/EABcBAQEBAQAAAAAAAAAAAAAAAAABAgP/2gAMAwEAAhADEAAAAexy2wECFMyFq2oQwVDEFEKwAQEhCGAgGZQqocbgHBQKHWYsMxugogoURDABAAgGIkEqsQyJSWFgKJAlRCI2ZVuRrdASIgMjYQ1ZTZGW8EqLVAJARGUkC8rL1zJE0DEmKpFi3pEzG2WNgOURANebZvllZUuJNstoDGBE51b4x1ri6Xm2BuKjLTN8YywVWF0AwAQykrNQjHUI3gMAAy04vOZXSiyIVkIllRjaZy4RWWnIrRG8pLTDWpMq7zJEqymyGRJFRdVJmOjHNrQXRqARiqg1Q65hvi0Cqzj1aupMsukrs0RpMVUFsbVx2VxqWxOVV8tlkJdpz61x04akQs4dazfEa5Z04ynQKyqrIgIrpDS9cyZKlL1owVcOFXNO5GOpRqMhsHDtBJzq2xjLiwiUG0YwABFdc46sJOXb0YuEAARJAAQArQC3KjOdXSjQUnOrqRIVEMAA5dmqXUc+zCvehgCiKGFogEpRIUgOeaTOb1IjZkNoyIxDAzWYF68YrKllHRHAAKAgAAFAAQMxrErkBqUQIVEYhlVOFXNInVi2AAAKQ4VA4KAgWuzKWjLhwUDCCogAwERrAbYtHKIKIKrOWajHXUicFEqGkKhZPNdFKBAkqAQwAAAYBKDQAVc011SUko6I4StCv//EACgQAAMAAgEDAwQCAwAAAAAAAAECAwASEQQTIBAhMBQiM0AjMTJBQv/aAAgBAQABBQLy/wBGh2R9v1+oYhZ6qlLc5GXHwWfEXVZfl/WI5zspgRR4be/qx4EfuNH4ya6r8TtqJlj6lwuA8jyo+ixYsrHgTfcZWmgh7r60bdtsVQmc4TwJEk/BXlqKNRlW1BT7ZDhPKvNaKNR1LZJdUzq8hUcbDDZBj9Rtk+nxVC51Kk5AEJbkhE0HnR9VinAw+2D3YfzP5WfURTVSeBMdyoYE4yhsbplOfTDO2kxNAxx7KuA8jnEHuTwGu2wuSec7y8lgM721HoFAUlyeB9QC134Uc1zlZLOm4N1Gd5OPqRylQ4e2IhajMEFXZ8/FOCaj17u9KHuUDquHYhBvQ12I4mAxOdR7Jk2KmgbSZIawOs30VJ853FzqGbIkBge9QNzlxpgpxPptTl1VU4+2aOcsnbEWbkpqvcO8wav6t/idpmUCcVAuVHKJNzk5hBxtbKJuFioVJKmWnuJSCDqELCMeMvzk0CDqULYI8CMy+KoUVQvasuUjLt51I5SaFmAzqJl8hLQEcicOPIfy2Zgo7xoe1yF9ms+i9MPgdtViS9fTqH2MxqnjwPis/ARRNauaPJNFz/p271FGo8+pfkwnouUcsZjan6H5LW/H00/b0I9ox1PnZ9Fipd8u5x/4p9Kn6Df104+35XQMEUKKNqsWGx5tRF1X5291m+i90HOCfmYbD6b3RAvwPQrY3QBqGrj2Hkf7A/YqxNDNWxpIq9KM2Jv4/wD/xAAUEQEAAAAAAAAAAAAAAAAAAACA/9oACAEDAQE/AXx//8QAFBEBAAAAAAAAAAAAAAAAAAAAgP/aAAgBAgEBPwF8f//EACcQAAIBAwMEAwEAAwAAAAAAAAABEQISIRAxQSAwQGEDIlFCE4GR/9oACAEBAAY/AuuKVPkY0ijJdVv2LVuyCrx8mxhdEdEl7IW/dzrl9iSWT0S930WFvx5Jq31mezCI0xuOqvcXXatiC0WiLWbm5FKJqMGDJaue1L3ev+Srbgn+V1xye9LmQtMmDckv/wCdMkswJU6RJkinROrSEiP0tWKSJ1mdMEUbn2Zkjgjkl7votpLOC1ZJqwj0W/GZZ9VrhZLq6jCJqeSf6L/kMZFJLPtsW/GfrZaeyYJIXIoPryOqrLFUy6rbp/CajA0YwtI3jSCDGnsUE1IVK50TRNeD0YI4IR70Wigl76S+r0jJFCPtUy3R1PnsSS9bUJeBC3ekLWRUojsWo9vS2n/b8L0hwXPol9mXpbTuRyy7wZ/e9khDY6qjBHgxVwYTZL70G5jsejchdiPJt4MjcDZHV//EACQQAQACAgIDAAIDAQEAAAAAAAEAESExEEEgUWEwcYGRsUCh/9oACAEBAAE/IfGox1zbYZ+mz8dca5YcvNL7RCyT2o9xVtivDXFyktkBxk5rzuXysGPBxp5YcGaFxZjWhK4ZT7cb4Fl1LP8Axyl2dExzt3GDfI+Axmf76l01r5L4bqqHcajB51wSdup7IwWXUvmq4/eOpfwcxZoNsvgcO/Uz3b7YBLHEuV6jN7deZwh5glCJuL7zUfseo5ncYHLLnoRBEdTSdspHAcuoYrVTDdITeUQXrYi2/wAQSjUHEWHGZHtUMTviuXkme+uSygtjuTGL9D/0hKh4H7zU3W2WEy6jNoI5bJvgChcQuxDscHUf3MT/AKcO1t9Sraq41aNy5rcNoWl6ILVygWz25hNqpcBxM2c+pk9Xr1AuWqgBetgTLZgIaQqGzVBHqG/1wG2gNe42ekLOad5Eyy0KLlKWvsUPtjcqOCKBaO2Yw47gxlHqZAq6J+pNsagv2wWcjtZQGL3MtcrPsuN0f0wCWqxgznOoSDK1GzIhnI9EYafkt3rU2ChAFH8z2u0sesJfcqJVyspuNPpNuBtCJ22wrMn2jIp25CupXTDRDk2j5B7hmYdzXpVkvgWdyhm+4ZZpBAvS0S7mgRKxqZ1mK03U98dRqNhhmVhuXGIRx2f7lAEJZQJjqZyuUfB1CamoAUS+Z1LzalwQmjbAA8FlWWNigxs+y+QMVi61M+b6jpA7876NvuGGPRzhUSVEuBaPxfqwn+5Z0I6hgd98WqWiNoEEAajDk5quiZB4HWEIUIauGvzsItsCUUM83MIr7+Xk4e02zrYZ4wtyVo53sxX71/wKm/IP1hhjUu9QK8UhwcVrksstbmOlpDIded8X5mwh0SMZkgrLXwgn4Bj4G67nuwg9DxrhalkWLhlA1oTEF810QDUZXDL4eO/Bhn8LDF6gwBqGTKof1iGnB15f/9oADAMBAAIAAwAAABDJbk8XtZaaq5Eq1Iqm+snlpu+yw2y5Sop65mwcbWELFbn5HL86kq7MiPbkg6q3P9XUNbanTApNYFpCbKhNYIao0kNQ8/zhgtR7aOByarOSaAm0ZhL++XI+2sHm0HCWjTFAdLR7YUOpCcLx73iCb55bGmqBfc0k2295ubilioaGlp3E0HsEoM29MKunJI06p1vrNts0kkx9BM5KzTKtvs1ms16o8+287JbCeppo/EsrPHoZtbZJfZnZt1AT15n/xAAdEQABBQEBAQEAAAAAAAAAAAABABARIDBAMSFQ/9oACAEDAQE/EOgoYCsuUPqOE4CpQubePNJpPQFDHMaBFC8KHKARrGA4xQ1nCbziGNw8r1eNMMFGJYUKF5YtDRSGDAUAaMChwlCkbgUGBQ5RsaFD8EsOOGl55hc8UZlC3//EABsRAAMBAQEBAQAAAAAAAAAAAAABERAgMEAh/9oACAECAQE/EOX8j6hMvE6fcJ6IfF7hOJiITqcTymrhdPwXa8XiGuG8XwPwevF+F15OETIQmTIQWQmwhMhMfE1crGIfKGtRBixiGLHwsbxF4pSiYxMuplG8pRiG8THlLwi7fG68WPml81lxauljxD+BDEy6mN4ukPh/C/gWMfxwntR+EITtDxfU+//EACQQAQACAwEAAgICAwEAAAAAAAEAESExQVEQYXGBIKGRscHw/9oACAEBAAE/ENS8alVGVcw8mFl/EcknoxE3MSc+CGNMYDv+KexswGo5XBtvkvWZpNvmwyvualDEcV8jam1a3uWk3CpyK6E1eagPILNS7xc6zL+5QiHYwAcIeN1lfZXvtfuCXPuX8XLxK9lGAEUgDAYLI45HjUwyoEvkFk1r4SEH3Ajxy5QtJ0hSvZVweRAdi6i0y6Qa1HJoFwGm8fUgYtwhGIRzKKsk1otkVur+ByRnLnGaQVZeg9YBk2jiCuOSHAW0QI4rSSks+HOoZZnI6K4HrPX7H4iMUC4ZLo1BxD13qTJSpt8iQColZg0TOu/qNQKFPEY07H/CChK6Q2eBcsQX0dEtIuZp18MYbjYQu3YpwQ7AgTYqazXoSz1hjcxf0uo7mDELg3Bcw3KjPtdk0iCoaNbLYBOWrWVMLMNwsC0fYNZV7cQgo4SiFivsYOVzR3+ZTyPAjTtgIPLXweTMBqHkLBkZZd+SnsSFQDrcEumYiYcsD1iql52+SqIkIAZuAE6LSrQ6R6gorkSYNQVNsNzEeh5g3EFzykWkAdmV5/0ywIOnJ+CITB4xMlvCCrDgMkO5S46cA57LozM6vmmYVGmGOZYxz8xLuhoY1AAZYvI7gqDVeBXvsblr241xZaxKrQdYXmXyvSb1PQ6wFVF00I8EBm46BUXcuRFw/UQh1obg1CjV5YM7Db2NWI3S5uhXnYKJCECo2uMGcMaIHapt/wASiIPPYUW3DsGmq6D1i2xztwutf3EiEXkoGKvpFFImQy8nAqL3dHp+WWjdWBdEy2THEiWwWRlY79oeoFY4meTNo5M2FgvkHYFkQE2sPuLTXwNEDWzQ8jYmgsHkq+eNkwULdFz+4mrVsese+gXV6JWVg5wQ0Csj/glhg/8AGXn2Nm5k0NNdiAnKoiNO+aKi1t5dIZR3cSj0Fg6JiitRATj8JBRL+pdRSrt4i3Dgi7mQocDl/MLoz77O7ExLlNleSvdrZ7AsOW24uUCgCJXQ9i70i7YBjv13C5kN17MACdqLVhZJmkto8i+OrNeQyHjl7LcUYajYQsD1jgqtpBswEpFQZagBx0lCyDP1C7na0loQufoh8NGogC2xGIf8YGwsqoWNXHgStBR9TmJU5CBvUzCdR6xCwBKLA95qY62XY1HBWEt7LHZxFoSrC9jiNZqD2Gdz6mIwn+GCA0aC/RAlKtajDiLNewQOHx6olhDqAKTEdURd1KxKJVTcMfP6isY82FLppq07BQLeh79zCxZlNEAtWM+5gJLiAQAVUGLivcqmLFZcfY1BVueahAlhaxwXG+2wlPLyQ0K0fFf4+Kv4P7+P18UVj+GfuKh+ox1b0fmU2ipUJcxgvkCLeCahKVEA+tcgYy3N6gBhkzMnYriO7jvxiCDVrPrKAqWF3trhMdUICLI4fSEolnxi5+omZcuXj+P7lfOlBrd7gEzqAIACAVQZxNsr4qoDubZiDXswaubKnDfIWPB/c9VDEONKdhcEODwJZvQ3MfH5lnE+dqufmIO1Cf7nP4OXtKhJiVdYYFDBjBE6Gf8AphD6m5YQrfwPsX7jA1B0g2YjTNTUUKhi/XCVdHr2VA8jLslDkWEOEvqA1XEmJLrARb7WA/3DndMW9/hz4W4FUW+w/APwQ4gKgvsdkHBxFRBuEXDJBYsRUz81U8gZqaalS8TSX8Wlh2X+OHsBGhJbHrGGD6iYL8cQ38Oz4Fqf/9k="
                    }
                  }
                },
                "Remote image data" : {
                  "summary" : "Pass image by URL for line detection & text recognition.",
                  "description" : "The image is submitted by URL for text recognition, using the given text recognition model ID. Lines will be automatically detected using the given line detection model ID. If no line detection section is set, Transkribus will pick a line detection model automatically.",
                  "value" : {
                    "config" : {
                      "textRecognition" : {
                        "htrId" : 37646
                      },
                      "lineDetection" : {
                        "modelId" : 49272
                      }
                    },
                    "image" : {
                      "imageUrl" : "https://transkribus.eu/processing/swagger/test-image.jpg"
                    }
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "The request was accepted",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProcessingResponseRepresentation"
                },
                "example" : {
                  "processId" : 47725,
                  "status" : "CREATED"
                }
              }
            }
          },
          "400" : {
            "description" : "The request body is malformed or misses information.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorRepresentation"
                },
                "example" : {
                  "statusCode" : 400,
                  "reasonPhrase" : "Bad Request",
                  "message" : "The processing request's textRecognition config does not include a htrId"
                }
              }
            }
          },
          "401" : {
            "description" : "The request is not authorized.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorRepresentation"
                },
                "example" : {
                  "statusCode" : 401,
                  "reasonPhrase" : "Unauthorized",
                  "message" : "The request is not authorized"
                }
              }
            }
          },
          "404" : {
            "description" : "A referenced entity in the request does not exist.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorRepresentation"
                },
                "example" : {
                  "statusCode" : 404,
                  "reasonPhrase" : "Not Found",
                  "message" : "A HTR model with ID = x does not exist"
                }
              }
            }
          },
          "429" : {
            "description" : "The number of requests exceeds a limit applying to the used account.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorRepresentation"
                },
                "example" : {
                  "statusCode" : 429,
                  "reasonPhrase" : "Too Many Requests",
                  "message" : "Your processing volume is depleted."
                }
              }
            }
          }
        }
      }
    },
    "/application.wadl/{path}" : {
      "get" : {
        "operationId" : "getExternalGrammar",
        "parameters" : [ {
          "name" : "path",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "default" : {
            "description" : "default response",
            "content" : {
              "application/xml" : { }
            }
          }
        }
      }
    },
    "/application.wadl" : {
      "get" : {
        "operationId" : "getWadl",
        "responses" : {
          "default" : {
            "description" : "default response",
            "content" : {
              "application/vnd.sun.wadl+xml" : { },
              "application/xml" : { }
            }
          }
        }
      }
    }
  },
  "components" : {
    "schemas" : {
      "ErrorRepresentation" : {
        "type" : "object",
        "properties" : {
          "statusCode" : {
            "type" : "integer",
            "format" : "int32"
          },
          "reasonPhrase" : {
            "type" : "string"
          },
          "message" : {
            "type" : "string"
          }
        }
      },
      "BaselineRepresentation" : {
        "type" : "object",
        "properties" : {
          "points" : {
            "pattern" : "^(\\d,\\d \\d,\\d){1}( \\d,\\d)*$",
            "type" : "string",
            "description" : "The pixel coordinates of the baseline's vertices"
          }
        },
        "description" : "A line's baseline, i.e. the line on which the letters sit"
      },
      "ConfigRepresentation" : {
        "type" : "object",
        "properties" : {
          "lineDetection" : {
            "$ref" : "#/components/schemas/ProcLineDetectionParameters"
          },
          "textRecognition" : {
            "required" : [ "htrId", "languageModel" ],
            "type" : "object",
            "properties" : {
              "htrId" : {
                "type" : "integer",
                "description" : "ID of the Transkribus HTR model to apply",
                "format" : "int32"
              },
              "languageModel" : {
                "type" : "string",
                "description" : "Enables a language model for generating the transcription",
                "enum" : [ "built-in" ]
              }
            },
            "additionalProperties" : {
              "type" : "object"
            }
          }
        },
        "description" : "Specifies how the image representation shall be processed"
      },
      "ContentRepresentation" : {
        "type" : "object",
        "properties" : {
          "text" : {
            "type" : "string"
          },
          "regions" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/TextRegionRepresentation"
            }
          }
        },
        "description" : "Optional preliminary layout information"
      },
      "CoordsRepresentation" : {
        "type" : "object",
        "properties" : {
          "points" : {
            "pattern" : "^(\\d,\\d \\d,\\d \\d,\\d){1}( \\d,\\d)*$",
            "type" : "string",
            "description" : "The pixel coordinates of the element's vertices"
          }
        },
        "description" : "The bounding polygon of a layout element"
      },
      "ProcHtrParameters" : {
        "required" : [ "htrId", "languageModel" ],
        "type" : "object",
        "properties" : {
          "htrId" : {
            "type" : "integer",
            "description" : "ID of the Transkribus HTR model to apply",
            "format" : "int32"
          },
          "languageModel" : {
            "type" : "string",
            "description" : "Enables a language model for generating the transcription",
            "enum" : [ "built-in" ]
          }
        },
        "additionalProperties" : {
          "type" : "object"
        }
      },
      "ProcLineDetectionParameters" : {
        "type" : "object",
        "properties" : {
          "modelId" : {
            "type" : "integer",
            "description" : "ID of the Transkribus line detection model to apply if no lines were passed in the content section.",
            "format" : "int32"
          },
          "minimalBaselineLength" : {
            "type" : "integer",
            "description" : "Minimal baseline length for the layout analysis - detected baselines below this length are dropped",
            "format" : "int32"
          },
          "baselineAccuracyThreshold" : {
            "maximum" : 255,
            "minimum" : 0,
            "type" : "integer",
            "description" : "Baseline accuracy threshold. The threshold for binarization of the baseline mask images. Higher values enforce higher accuracy in the detected baselines. Ranges between 0 and 255.",
            "format" : "int32"
          },
          "maxDistForMerging" : {
            "type" : "integer",
            "description" : "Max-dist for merging. The maximal distance between two baselines to be merged.",
            "format" : "int32"
          },
          "numTextRegions" : {
            "type" : "number",
            "description" : "Configures the \"custom\" line clustering method. Number of text regions to build from detected lines. Has no effect when textRegionClusteringType is set. One: -1, Few: 1.6, Medium: 1.0, Many: 0.4",
            "format" : "float"
          },
          "textRegionClusteringType" : {
            "type" : "string",
            "description" : "Configures the \"general\" line clustering method. horizontal: expect all lines to be horizontal (default). mixed: expect all lines to be rotated by 0, 90, 180, or 270 degrees",
            "enum" : [ "horizontal", "mixed" ]
          }
        }
      },
      "ProcessingResponseRepresentation" : {
        "required" : [ "config", "processId", "status" ],
        "type" : "object",
        "properties" : {
          "config" : {
            "$ref" : "#/components/schemas/ConfigRepresentation"
          },
          "processId" : {
            "type" : "integer",
            "description" : "The ID of the associated processing job for querying the status and result representations",
            "format" : "int32"
          },
          "status" : {
            "type" : "string",
            "description" : "The status of the associated processing job",
            "enum" : [ "CREATED", "WAITING", "RUNNING", "FINISHED", "FAILED" ]
          },
          "content" : {
            "$ref" : "#/components/schemas/ContentRepresentation"
          }
        },
        "description" : "Processing status for single image processing request"
      },
      "TextLineRepresentation" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Identifier for this layout element. If set in a request it will be persisted for later reference in the response. If none is set, a value will be generated."
          },
          "coords" : {
            "$ref" : "#/components/schemas/CoordsRepresentation"
          },
          "baseline" : {
            "$ref" : "#/components/schemas/BaselineRepresentation"
          },
          "text" : {
            "type" : "string"
          },
          "words" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/WordRepresentation"
            }
          }
        }
      },
      "TextRegionRepresentation" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Identifier for this layout element. If set in a request it will be persisted for later reference in the response. If none is set, a value will be generated."
          },
          "coords" : {
            "$ref" : "#/components/schemas/CoordsRepresentation"
          },
          "orientation" : {
            "maximum" : 180,
            "minimum" : -180,
            "exclusiveMinimum" : true,
            "type" : "number",
            "description" : "The angle the rectangle encapsulating the page (or its Border) has to be rotated in clockwise direction in order to correct the present skew (negative values indicate anti-clockwise rotation).",
            "format" : "float"
          },
          "lines" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/TextLineRepresentation"
            }
          }
        }
      },
      "WordRepresentation" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Identifier for this layout element. If set in a request it will be persisted for later reference in the response. If none is set, a value will be generated."
          },
          "coords" : {
            "$ref" : "#/components/schemas/CoordsRepresentation"
          },
          "text" : {
            "type" : "string"
          }
        }
      },
      "ImageRepresentation" : {
        "maxProperties" : 1,
        "type" : "object",
        "properties" : {
          "base64" : {
            "maxLength" : 27962027,
            "type" : "string",
            "description" : "base64-encoded image data",
            "format" : "base64"
          },
          "imageUrl" : {
            "type" : "string",
            "description" : "URL to a hosted image file",
            "format" : "url"
          }
        },
        "description" : "The image to process: either the base64-encoded binary data or a reference to a publicly available image"
      },
      "ProcessingRequestRepresentation" : {
        "required" : [ "config", "image" ],
        "type" : "object",
        "properties" : {
          "config" : {
            "$ref" : "#/components/schemas/ConfigRepresentation"
          },
          "content" : {
            "$ref" : "#/components/schemas/ContentRepresentation"
          },
          "image" : {
            "$ref" : "#/components/schemas/ImageRepresentation"
          }
        },
        "description" : "Request data for processing a single image"
      }
    },
    "securitySchemes" : {
      "oAuth2AuthCode" : {
        "type" : "oauth2",
        "description" : "READCOOP SSO",
        "flows" : {
          "authorizationCode" : {
            "authorizationUrl" : "https://account.readcoop.eu/auth/realms/readcoop/protocol/openid-connect/auth",
            "tokenUrl" : "https://account.readcoop.eu/auth/realms/readcoop/protocol/openid-connect/token",
            "refreshUrl" : "https://account.readcoop.eu/auth/realms/readcoop/protocol/openid-connect/token",
            "scopes" : {
              "openid" : "standard scope"
            }
          }
        }
      }
    }
  }
}