{
  "openapi" : "3.1.0",
  "info" : {
    "contact" : {
      "email" : "support@priint.com",
      "name" : "priint cloud support team",
      "url" : "https://priint.com"
    },
    "description" : "REST API to render xml or json data to PDF or similar output based on comet xml projects",
    "termsOfService" : "https://www.priintcloud.com/terms",
    "title" : "priint cloud rendering service",
    "version" : "1.4.0"
  },
  "servers" : [ {
    "url" : "http://localhost:8080/rest",
    "description" : "Generated server url"
  } ],
  "paths" : {
    "/repository/files" : {
      "post" : {
        "operationId" : "commit",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/BulkOperation"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object"
                }
              }
            },
            "description" : "OK"
          }
        },
        "summary" : "Commit a bunch of files to the repository path",
        "tags" : [ "repository" ]
      }
    },
    "/repository/files/**" : {
      "delete" : {
        "operationId" : "delete",
        "parameters" : [ {
          "description" : "Repository path like 'tenants/foo/projects/bar/config.ion'",
          "in" : "query",
          "name" : "**"
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "*/*" : {
                "schema" : {
                  "type" : "object"
                }
              }
            },
            "description" : "OK"
          }
        },
        "summary" : "Delete a file from a repository path",
        "tags" : [ "repository" ]
      },
      "get" : {
        "operationId" : "download",
        "parameters" : [ {
          "description" : "Repository path like 'tenants/foo/projects/bar/config.ion'",
          "in" : "query",
          "name" : "**"
        } ],
        "responses" : {
          "200" : {
            "description" : "OK"
          }
        },
        "summary" : "Download a file from a repository path",
        "tags" : [ "repository" ]
      },
      "put" : {
        "operationId" : "upload",
        "parameters" : [ {
          "description" : "Repository path like 'tenants/foo/projects/bar/config.ion'",
          "in" : "query",
          "name" : "**"
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "*/*" : {
                "schema" : {
                  "type" : "object"
                }
              }
            },
            "description" : "OK"
          }
        },
        "summary" : "Insert/replace a file at a repository path",
        "tags" : [ "repository" ]
      }
    },
    "/repository/tree" : {
      "post" : {
        "description" : "Input is a zip stream containing a file structure from the root. Files must match the tenant and project of the current token.",
        "operationId" : "commitZip",
        "parameters" : [ {
          "in" : "query",
          "name" : "removeEmpty",
          "required" : false,
          "schema" : {
            "type" : "boolean",
            "default" : true
          }
        }, {
          "in" : "query",
          "name" : "cometXmlMode",
          "required" : false,
          "schema" : {
            "type" : "string",
            "default" : "zip",
            "pattern" : "zip|fileset"
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object"
                }
              }
            },
            "description" : "OK"
          }
        },
        "summary" : "Commit files to a repository path",
        "tags" : [ "repository" ]
      }
    },
    "/repository/tree/**" : {
      "get" : {
        "operationId" : "downloadZip",
        "parameters" : [ {
          "description" : "Repository path like 'tenants/foo/projects/bar/renderpdf'",
          "in" : "query",
          "name" : "**"
        }, {
          "description" : "Per default only the current path is searched - no subfolders",
          "in" : "query",
          "name" : "recursive",
          "required" : false,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "description" : "RegExp pattern to filter paths like ^.*\\.ion$ to get all ion files",
          "in" : "query",
          "name" : "pattern",
          "required" : false,
          "schema" : {
            "type" : "string",
            "default" : "^.*\\.(ion|json|zip|xslt|w2ml)$"
          }
        }, {
          "description" : "Per default only the current path is searched - no subfolders",
          "in" : "query",
          "name" : "recursive"
        }, {
          "description" : "RegExp pattern to filter paths like ^.*\\.ion$ to get all ion files",
          "in" : "query",
          "name" : "pattern"
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object"
                }
              }
            },
            "description" : "OK"
          }
        },
        "summary" : "List files from a repository path",
        "tags" : [ "repository" ]
      }
    },
    "/statistics" : {
      "get" : {
        "operationId" : "getGlobalStatistics",
        "parameters" : [ {
          "description" : "Time unit to filter for 'year', 'month', 'day', 'hour'. Leave empty for all units.",
          "in" : "query",
          "name" : "unit",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "description" : "Select items after or equal to this date time (e.g. 2023-02-28T09:14:21Z)",
          "in" : "query",
          "name" : "startDate",
          "required" : false,
          "schema" : {
            "type" : "string",
            "format" : "date-time"
          }
        }, {
          "description" : "Select items before this date time (e.g. 2023-02-28T09:14:21Z)",
          "in" : "query",
          "name" : "endDate",
          "required" : false,
          "schema" : {
            "type" : "string",
            "format" : "date-time"
          }
        }, {
          "description" : "List of tenant names as filter",
          "in" : "query",
          "name" : "tenant",
          "required" : false,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "description" : "List of project names as filter",
          "in" : "query",
          "name" : "project",
          "required" : false,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/SummaryStatus"
                  }
                }
              }
            },
            "description" : "OK"
          }
        },
        "summary" : "Get global statistics comprising all tenants and projects",
        "tags" : [ "statistics" ]
      }
    },
    "/statistics/tenants/{tenant}" : {
      "get" : {
        "operationId" : "getTenantsStatistics",
        "parameters" : [ {
          "description" : "Tenant name, e.g. 'example.com'",
          "in" : "path",
          "name" : "tenant",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "description" : "Time unit to filter for 'year', 'month', 'day', 'hour'. Leave empty for all units.",
          "in" : "query",
          "name" : "unit",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "description" : "Select items after or equal to this date time (e.g. 2023-02-28T09:14:21Z)",
          "in" : "query",
          "name" : "startDate",
          "required" : false,
          "schema" : {
            "type" : "string",
            "format" : "date-time"
          }
        }, {
          "description" : "Select items before this date time (e.g. 2023-02-28T09:14:21Z)",
          "in" : "query",
          "name" : "endDate",
          "required" : false,
          "schema" : {
            "type" : "string",
            "format" : "date-time"
          }
        }, {
          "description" : "List of project names as filter",
          "in" : "query",
          "name" : "project",
          "required" : false,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/SummaryStatus"
                  }
                }
              }
            },
            "description" : "OK"
          }
        },
        "summary" : "Get tenant statistics comprising all projects",
        "tags" : [ "statistics" ]
      }
    },
    "/statistics/tenants/{tenant}/projects/{project}" : {
      "get" : {
        "operationId" : "getProjectStatistics",
        "parameters" : [ {
          "description" : "Tenant name, e.g. 'example.com'",
          "in" : "path",
          "name" : "tenant",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "description" : "Project name, e.g. 'catalog_2022_2023'",
          "in" : "path",
          "name" : "project",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "description" : "Time unit to filter for 'year', 'month', 'day', 'hour'. Leave empty for all units.",
          "in" : "query",
          "name" : "unit",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "description" : "Select items after or equal to this date time (e.g. 2023-02-28T09:14:21Z)",
          "in" : "query",
          "name" : "startDate",
          "required" : false,
          "schema" : {
            "type" : "string",
            "format" : "date-time"
          }
        }, {
          "description" : "Select items before this date time (e.g. 2023-02-28T09:14:21Z)",
          "in" : "query",
          "name" : "endDate",
          "required" : false,
          "schema" : {
            "type" : "string",
            "format" : "date-time"
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/SummaryStatus"
                  }
                }
              }
            },
            "description" : "OK"
          }
        },
        "summary" : "Get project statistics",
        "tags" : [ "statistics" ]
      }
    },
    "/tenants" : {
      "get" : {
        "operationId" : "listTenants",
        "parameters" : [ {
          "in" : "query",
          "name" : "pattern",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : { }
            },
            "description" : "OK"
          }
        },
        "summary" : "List all tenants",
        "tags" : [ "tenants" ]
      },
      "post" : {
        "operationId" : "addTenant",
        "parameters" : [ {
          "in" : "query",
          "name" : "name",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK"
          },
          "409" : {
            "description" : "Conflict"
          }
        },
        "summary" : "Add new tenant",
        "tags" : [ "tenants" ]
      }
    },
    "/tenants/{tenant}" : {
      "delete" : {
        "operationId" : "deleteTenant",
        "parameters" : [ {
          "in" : "path",
          "name" : "tenant",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK"
          },
          "404" : {
            "description" : "Not Found"
          }
        },
        "summary" : "Delete tenant",
        "tags" : [ "tenants" ]
      },
      "get" : {
        "operationId" : "getTenant",
        "parameters" : [ {
          "in" : "path",
          "name" : "tenant",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : { }
            },
            "description" : "OK"
          }
        },
        "summary" : "Get tenant info",
        "tags" : [ "tenants" ]
      }
    },
    "/tenants/{tenant}/projects" : {
      "get" : {
        "operationId" : "listProjects",
        "parameters" : [ {
          "in" : "path",
          "name" : "tenant",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "in" : "query",
          "name" : "pattern",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : { }
            },
            "description" : "OK"
          }
        },
        "summary" : "List all projects of a tenant",
        "tags" : [ "tenants" ]
      },
      "post" : {
        "operationId" : "addProject",
        "parameters" : [ {
          "in" : "path",
          "name" : "tenant",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "in" : "query",
          "name" : "name",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "in" : "query",
          "name" : "keepUntil",
          "required" : false,
          "schema" : {
            "type" : "string",
            "enum" : [ "shipped", "expired", "shippedOrExpired", "forever" ]
          }
        }, {
          "in" : "query",
          "name" : "expires",
          "required" : false,
          "schema" : {
            "type" : "string",
            "format" : "date-time"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK"
          },
          "409" : {
            "description" : "Conflict"
          }
        },
        "summary" : "Add new project to a tenant",
        "tags" : [ "tenants" ]
      }
    },
    "/tenants/{tenant}/projects/{project}" : {
      "delete" : {
        "operationId" : "deleteProject",
        "parameters" : [ {
          "in" : "path",
          "name" : "tenant",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "in" : "path",
          "name" : "project",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK"
          },
          "404" : {
            "description" : "Not Found"
          }
        },
        "summary" : "Delete project from tenant",
        "tags" : [ "tenants" ]
      },
      "get" : {
        "operationId" : "getProject",
        "parameters" : [ {
          "in" : "path",
          "name" : "tenant",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "in" : "path",
          "name" : "project",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : { }
            },
            "description" : "OK"
          }
        },
        "summary" : "Get project info",
        "tags" : [ "tenants" ]
      }
    },
    "/tenants/{tenant}/projects/{project}/renderpdf" : {
      "post" : {
        "operationId" : "postRenderPdfSync",
        "parameters" : [ {
          "description" : "Tenant name, e.g. 'example.com'",
          "in" : "path",
          "name" : "tenant",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "description" : "Project name, e.g. 'catalog_2022_2023'",
          "in" : "path",
          "name" : "project",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "description" : "Pattern for callback URL. The placeholder '{location}' can be used to insert the priintgrid URI or the output.",
          "in" : "query",
          "name" : "callback",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "description" : "Pattern for error callback URL. The placeholders '{errorCode}' and '{errorMessage}' can be used to insert these values.",
          "in" : "query",
          "name" : "error",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "description" : "Pattern for destination URL where priintgrid should post the output.",
          "in" : "query",
          "name" : "upload",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "description" : "Name of an optional user defined transformation to convert the data input before rendering. Only supported tye is XSLT. Transformation names must therefore end on '.xslt'",
          "in" : "query",
          "name" : "transform",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "description" : "Name of an optional user defined transformation to convert the data input before splitting for fanout. Only supported tye is XSLT. Transformation names must therefore end on '.xslt'",
          "in" : "query",
          "name" : "transformBefore",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "description" : "Name of the document template to be used for rendering. Defaults to 'default' which points to the 'master-documents/default.w2ml' file in the comet_xml project.",
          "in" : "query",
          "name" : "documentTemplate",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "description" : "An arbitrary key controlled by the calling system to tag the current rendering process for analysis.",
          "in" : "query",
          "name" : "foreignKey",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "description" : "Name of an optional configuration file(s) stored as 'restapi/config-{profileName}.ion'. {profileName} can be a comma separated list of profiles.",
          "in" : "query",
          "name" : "profile",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "description" : "Custom parameters formatted as query params with percent encoding",
          "in" : "query",
          "name" : "customParams",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "description" : "List of custom parameters in the form <key> + ':' + <value>. Keys should not contain colons.",
          "in" : "query",
          "name" : "custom",
          "required" : false,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "description" : "Server side timeout for the result generation in msec (between 6 sec and 20 min).",
          "in" : "query",
          "name" : "timeToWait",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "maximum" : 1200000,
            "minimum" : 6000
          }
        }, {
          "description" : "Parameters for pdf to image conversion (matrix style), like 'f=jpg;r=300;p=1'.",
          "in" : "query",
          "name" : "convert",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : { },
            "application/xml" : { },
            "application/zip" : { }
          },
          "description" : "The endpoint accepts any kind XML or JSON data as long as an appropriate 'transform' is defined. Without a 'transform' the grid data.xml format is expected. ",
          "required" : true
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/pdf" : {
                "example" : "%PDF-1.7... ",
                "schema" : {
                  "type" : "string"
                }
              },
              "image/*" : {
                "example" : "‰PNG... or ÿØÿàJFIF... ",
                "schema" : {
                  "type" : "string"
                }
              }
            },
            "description" : "Successful operation in synchronous mode will return the PDF binary"
          },
          "202" : {
            "content" : {
              "application/json" : {
                "example" : {
                  "tickets" : [ {
                    "id" : "0815"
                  } ]
                },
                "schema" : {
                  "$ref" : "#/components/schemas/RenderResult"
                }
              }
            },
            "description" : "Successful operation in asynchronous mode will return the ticket status"
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object"
                }
              },
              "application/pdf" : {
                "schema" : {
                  "type" : "object"
                }
              },
              "application/zip" : {
                "schema" : {
                  "type" : "object"
                }
              },
              "image/jpeg" : {
                "schema" : {
                  "type" : "object"
                }
              },
              "image/png" : {
                "schema" : {
                  "type" : "object"
                }
              }
            },
            "description" : "On timeout of synchronous call, the service will return a ticketId"
          },
          "408" : {
            "content" : {
              "application/json" : {
                "example" : {
                  "tickets" : [ {
                    "id" : "0815"
                  } ]
                },
                "schema" : {
                  "$ref" : "#/components/schemas/RenderResult"
                }
              }
            },
            "description" : "On timeout, the service will return a ticketId"
          },
          "500" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object"
                }
              },
              "application/pdf" : {
                "schema" : {
                  "type" : "object"
                }
              },
              "application/zip" : {
                "schema" : {
                  "type" : "object"
                }
              },
              "image/jpeg" : {
                "schema" : {
                  "type" : "object"
                }
              },
              "image/png" : {
                "schema" : {
                  "type" : "object"
                }
              }
            },
            "description" : "Unknown Error"
          },
          "504" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object"
                }
              },
              "application/pdf" : {
                "schema" : {
                  "type" : "object"
                }
              },
              "application/zip" : {
                "schema" : {
                  "type" : "object"
                }
              },
              "image/jpeg" : {
                "schema" : {
                  "type" : "object"
                }
              },
              "image/png" : {
                "schema" : {
                  "type" : "object"
                }
              }
            },
            "description" : "Backend service did not respond in time"
          }
        },
        "summary" : "Render a data.xml into PDF (synchronous)",
        "tags" : [ "rendering" ]
      }
    },
    "/tenants/{tenant}/projects/{project}/storage/{filename}" : {
      "get" : {
        "operationId" : "getTicketOutput",
        "parameters" : [ {
          "description" : "Tenant name, e.g. 'example.com'",
          "in" : "path",
          "name" : "tenant",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "description" : "Project name, e.g. 'catalog_2022_2023'",
          "in" : "path",
          "name" : "project",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "description" : "Filename incl. extension, e.g. '10421ed15e4bc1a761dac1b766aa5b34.pdf'",
          "in" : "path",
          "name" : "filename",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "description" : "Mark ticket as shipped and thus remove ticket related files after delivery",
          "in" : "query",
          "name" : "shipped",
          "required" : false,
          "schema" : {
            "type" : "boolean",
            "default" : true
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/octet-stream" : { },
              "application/pdf" : { }
            },
            "description" : "Successful operation will the generated artifact byte stream in chunked transfer mode. MediaType depends on the extension (currently pdf is the only supported one) - or is octet-stream in all other cases."
          }
        },
        "summary" : "Download a rendering artifact as PDF",
        "tags" : [ "rendering" ]
      }
    },
    "/tenants/{tenant}/projects/{project}/tickets" : {
      "get" : {
        "description" : "A ticket is open until the last processing step is completed.",
        "operationId" : "getOpenTickets",
        "parameters" : [ {
          "description" : "Tenant name, e.g. 'example.com'",
          "in" : "path",
          "name" : "tenant",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "description" : "Project name, e.g. 'catalog_2022_2023'",
          "in" : "path",
          "name" : "project",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  }
                }
              }
            },
            "description" : "Successful operation will return an array of tickets (i.e. their IDs) that are in the processing pipeline"
          }
        },
        "summary" : "List all open tickets",
        "tags" : [ "rendering" ]
      }
    },
    "/tenants/{tenant}/projects/{project}/tickets/{ticket}/artifact" : {
      "get" : {
        "operationId" : "getTicketArtifacts",
        "parameters" : [ {
          "description" : "Tenant name, e.g. 'example.com'",
          "in" : "path",
          "name" : "tenant",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "description" : "Project name, e.g. 'catalog_2022_2023'",
          "in" : "path",
          "name" : "project",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "description" : "Ticket id, e.g. '10421ed15e4bc1a761dac1b766aa5b34'",
          "in" : "path",
          "name" : "ticket",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "description" : "Tenant name, e.g. 'example.com'",
          "in" : "query",
          "name" : "tenant"
        }, {
          "description" : "Project name, e.g. 'catalog_2022_2023'",
          "in" : "query",
          "name" : "project"
        }, {
          "description" : "Ticket id, e.g. '10421ed15e4bc1a761dac1b766aa5b34'",
          "in" : "query",
          "name" : "ticket"
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/zip" : { }
            },
            "description" : "Successful operation will return a PDF file that was rendered for the ticket"
          }
        },
        "summary" : "Download artifact for PDF rendering",
        "tags" : [ "rendering" ]
      }
    },
    "/tenants/{tenant}/projects/{project}/tickets/{ticket}/status" : {
      "get" : {
        "operationId" : "getTicketStatus",
        "parameters" : [ {
          "description" : "Tenant name, e.g. 'example.com'",
          "in" : "path",
          "name" : "tenant",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "description" : "Project name, e.g. 'catalog_2022_2023'",
          "in" : "path",
          "name" : "project",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "description" : "Ticket id, e.g. '10421ed15e4bc1a761dac1b766aa5b34'",
          "in" : "path",
          "name" : "ticket",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "oneOf" : [ {
                    "$ref" : "#/components/schemas/TicketStatusView"
                  }, {
                    "type" : "array",
                    "items" : {
                      "$ref" : "#/components/schemas/TicketStatusView"
                    }
                  } ]
                }
              }
            },
            "description" : "Successful operation will return the status for the ticket"
          }
        },
        "summary" : "Get the processing status for a rendering",
        "tags" : [ "rendering" ]
      }
    }
  },
  "components" : {
    "schemas" : {
      "BulkOperation" : {
        "type" : "object",
        "properties" : {
          "action" : {
            "type" : "string",
            "enum" : [ "DELETE", "PUT", "PATCH", "GET" ]
          },
          "patch" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "object"
            }
          },
          "paths" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "uniqueItems" : true
          },
          "value" : {
            "type" : "string",
            "format" : "byte"
          }
        }
      },
      "RenderResult" : {
        "type" : "object",
        "properties" : {
          "message" : {
            "type" : "string"
          },
          "requestId" : {
            "type" : "string"
          },
          "tickets" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Ticket"
            }
          }
        }
      },
      "SummaryStatus" : {
        "type" : "object",
        "properties" : {
          "cacheHits" : {
            "type" : "integer",
            "format" : "int64"
          },
          "downloadBytes" : {
            "type" : "integer",
            "format" : "int64"
          },
          "downloadMsec" : {
            "type" : "integer",
            "format" : "int64"
          },
          "downloadRequests" : {
            "type" : "integer",
            "format" : "int64"
          },
          "endDate" : {
            "type" : "string",
            "format" : "date-time"
          },
          "errors" : {
            "type" : "integer",
            "format" : "int64"
          },
          "processingMsec" : {
            "type" : "integer",
            "format" : "int64"
          },
          "processingPages" : {
            "type" : "integer",
            "format" : "int64"
          },
          "project" : {
            "type" : "string"
          },
          "redeliveries" : {
            "type" : "integer",
            "format" : "int64"
          },
          "startDate" : {
            "type" : "string",
            "format" : "date-time"
          },
          "tenant" : {
            "type" : "string"
          },
          "tickets" : {
            "type" : "integer",
            "format" : "int64"
          },
          "totalMsec" : {
            "type" : "integer",
            "format" : "int64"
          },
          "unit" : {
            "type" : "string"
          },
          "uploadBytes" : {
            "type" : "integer",
            "format" : "int64"
          },
          "uploadMsec" : {
            "type" : "integer",
            "format" : "int64"
          },
          "uploadRequests" : {
            "type" : "integer",
            "format" : "int64"
          }
        }
      },
      "Ticket" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "mode" : {
            "type" : "string",
            "enum" : [ "fanout", "aggregate" ]
          }
        }
      },
      "TicketStatusView" : {
        "type" : "object",
        "properties" : {
          "complete" : {
            "type" : "boolean"
          },
          "created" : {
            "type" : "string",
            "format" : "date-time"
          },
          "errorCode" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "next" : {
            "type" : "string"
          },
          "processingMsecs" : {
            "type" : "integer",
            "format" : "int64"
          },
          "processingPages" : {
            "type" : "integer",
            "format" : "int32"
          },
          "project" : {
            "type" : "string"
          },
          "redeliveries" : {
            "type" : "integer",
            "format" : "int32"
          },
          "requestId" : {
            "type" : "string"
          },
          "status" : {
            "type" : "string"
          },
          "tenant" : {
            "type" : "string"
          },
          "ticket" : {
            "type" : "string"
          },
          "updated" : {
            "type" : "string",
            "format" : "date-time"
          }
        }
      }
    },
    "securitySchemes" : {
      "oauth2-root-token" : {
        "description" : "Create a root user token without tenant and project",
        "flows" : {
          "password" : {
            "authorizationUrl" : "https://api.priintcloud.com/auth/tokens",
            "scopes" : {
              "admin" : ""
            },
            "tokenUrl" : "https://api.priintcloud.com/auth/tokens"
          }
        },
        "type" : "oauth2"
      }
    }
  }
}