{
  "openapi" : "3.0.0",
  "info" : {
    "title" : "Publishers API",
    "version" : "1.0.0"
  },
  "servers" : [ {
    "url" : "/"
  } ],
  "paths" : {
    "/publishers/search" : {
      "get" : {
        "description" : "Retrieve a list of publisher items.",
        "operationId" : "getPublisherSearch",
        "parameters" : [ {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/publisherSearchCriteria"
              }
            }
          },
          "description" : "Search criteria",
          "in" : "query",
          "name" : "search",
          "required" : false
        }, {
          "description" : "Limit the number of elements returned in the response",
          "explode" : true,
          "in" : "query",
          "name" : "limit",
          "required" : false,
          "schema" : {
            "default" : 1000,
            "maximum" : 2147483647,
            "minimum" : 1,
            "type" : "integer"
          },
          "style" : "form"
        }, {
          "description" : "Skip over a number of elements by specifying an offset value for the query",
          "explode" : true,
          "in" : "query",
          "name" : "offset",
          "required" : false,
          "schema" : {
            "default" : 0,
            "maximum" : 2147483647,
            "minimum" : 0,
            "type" : "integer"
          },
          "style" : "form"
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/publisherSearchDtoCollection"
                }
              }
            },
            "description" : "Returns a publisher collection"
          },
          "401" : {
            "content" : {
              "text/plain" : {
                "example" : "unable to perform action -- unauthorized"
              }
            },
            "description" : "Not authorized to perform requested action"
          },
          "422" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorsDto"
                }
              }
            },
            "description" : "Validation errors"
          },
          "500" : {
            "description" : "Unexpected error"
          }
        }
      }
    },
    "/publishers/lookup-by-name" : {
      "post" : {
        "description" : "Lookup a publisher by full name (inter-module endpoint).",
        "operationId" : "lookupPublisherByName",
        "parameters" : [ {
          "explode" : false,
          "in" : "header",
          "name" : "X-Api-Key",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/publisherLookupByNameRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/publisherLookupByNameResponse"
                }
              }
            },
            "description" : "Returns the ID of the matching publisher, or null if not found"
          },
          "401" : {
            "content" : {
              "text/plain" : {
                "example" : "unable to perform action -- unauthorized"
              }
            },
            "description" : "Not authorized to perform requested action"
          }
        }
      }
    },
    "/publishers" : {
      "get" : {
        "description" : "Retrieve a list of publisher items.",
        "operationId" : "getPublisherCollection",
        "parameters" : [ {
          "description" : "A query expressed as a CQL string",
          "explode" : true,
          "in" : "query",
          "name" : "query",
          "required" : false,
          "schema" : {
            "default" : "cql.allRecords=1",
            "type" : "string"
          },
          "style" : "form"
        }, {
          "description" : "Skip over a number of elements by specifying an offset value for the query",
          "explode" : true,
          "in" : "query",
          "name" : "offset",
          "required" : false,
          "schema" : {
            "default" : 0,
            "maximum" : 2147483647,
            "minimum" : 0,
            "type" : "integer"
          },
          "style" : "form"
        }, {
          "description" : "Limit the number of elements returned in the response",
          "explode" : true,
          "in" : "query",
          "name" : "limit",
          "required" : false,
          "schema" : {
            "default" : 1000,
            "maximum" : 2147483647,
            "minimum" : 1,
            "type" : "integer"
          },
          "style" : "form"
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/publisherDtoCollection"
                }
              }
            },
            "description" : "Returns a publisher collection"
          },
          "401" : {
            "content" : {
              "text/plain" : {
                "example" : "unable to perform action -- unauthorized"
              }
            },
            "description" : "Not authorized to perform requested action"
          },
          "422" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorsDto"
                }
              }
            },
            "description" : "Validation errors"
          },
          "500" : {
            "description" : "Unexpected error"
          }
        }
      },
      "post" : {
        "description" : "Create a new publisher.",
        "operationId" : "postPublisher",
        "parameters" : [ {
          "explode" : false,
          "in" : "header",
          "name" : "X-Okapi-Tenant",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "explode" : false,
          "in" : "header",
          "name" : "X-Okapi-Token",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "explode" : false,
          "in" : "header",
          "name" : "X-Okapi-URL",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        } ],
        "requestBody" : {
          "$ref" : "#/components/requestBodies/PublisherBody"
        },
        "responses" : {
          "201" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PublisherDto"
                }
              }
            },
            "description" : "Returns a publisher"
          },
          "401" : {
            "content" : {
              "text/plain" : {
                "example" : "unable to perform action -- unauthorized"
              }
            },
            "description" : "Not authorized to perform requested action"
          },
          "409" : {
            "description" : "A publisher with the given company number is already registered"
          },
          "422" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorsDto"
                }
              }
            },
            "description" : "Validation errors"
          },
          "500" : {
            "description" : "Unexpected error"
          }
        }
      }
    },
    "/publishers/{id}" : {
      "delete" : {
        "description" : "Delete publisher with given ID.",
        "operationId" : "deletePublisherById",
        "parameters" : [ {
          "description" : "The UUID of a publisher",
          "explode" : false,
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/uuid"
          },
          "style" : "simple"
        } ],
        "responses" : {
          "204" : {
            "description" : "Publisher deleted successfully"
          },
          "401" : {
            "content" : {
              "text/plain" : {
                "example" : "unable to perform action -- unauthorized"
              }
            },
            "description" : "Not authorized to perform requested action"
          },
          "404" : {
            "content" : {
              "text/plain" : {
                "example" : "publisher not found"
              }
            },
            "description" : "Item with a given ID not found"
          },
          "500" : {
            "description" : "Unexpected error"
          }
        }
      },
      "get" : {
        "description" : "Retrieve publisher with given ID",
        "operationId" : "getPublisherById",
        "parameters" : [ {
          "description" : "The UUID of a publisher",
          "explode" : false,
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/uuid"
          },
          "style" : "simple"
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PublisherDto"
                }
              }
            },
            "description" : "Returns a publisher"
          },
          "401" : {
            "content" : {
              "text/plain" : {
                "example" : "unable to perform action -- unauthorized"
              }
            },
            "description" : "Not authorized to perform requested action"
          },
          "404" : {
            "content" : {
              "text/plain" : {
                "example" : "publisher not found"
              }
            },
            "description" : "Item with a given ID not found"
          },
          "422" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorsDto"
                }
              }
            },
            "description" : "Validation errors"
          },
          "500" : {
            "description" : "Unexpected error"
          }
        }
      },
      "put" : {
        "description" : "Update publisher with given ID.",
        "operationId" : "putPublisherById",
        "parameters" : [ {
          "description" : "The UUID of a publisher",
          "explode" : false,
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/uuid"
          },
          "style" : "simple"
        }, {
          "explode" : false,
          "in" : "header",
          "name" : "X-Okapi-Tenant",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "explode" : false,
          "in" : "header",
          "name" : "X-Okapi-Token",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "explode" : false,
          "in" : "header",
          "name" : "X-Okapi-URL",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        } ],
        "requestBody" : {
          "$ref" : "#/components/requestBodies/PublisherBody"
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/putPublisherById_200_response"
                }
              }
            },
            "description" : "Publisher successfully updated"
          },
          "401" : {
            "content" : {
              "text/plain" : {
                "example" : "unable to perform action -- unauthorized"
              }
            },
            "description" : "Not authorized to perform requested action"
          },
          "404" : {
            "content" : {
              "text/plain" : {
                "example" : "publisher not found"
              }
            },
            "description" : "Item with a given ID not found"
          },
          "409" : {
            "description" : "Publisher was updated or deleted by another transaction"
          },
          "500" : {
            "description" : "Unexpected error"
          }
        }
      }
    },
    "/publishers/report-data/batch" : {
      "post" : {
        "description" : "Retrieve publisher data for multiple publishers in batch for report generation (výkazy) in other ReČeK modules. Addresses are returned regardless of publish consent and must not be exposed in public output as-is.",
        "operationId" : "getPublisherReportDataBatch",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "description" : "List of publisher UUIDs",
                "items" : {
                  "pattern" : "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
                  "type" : "string"
                },
                "type" : "array"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "additionalProperties" : {
                    "$ref" : "#/components/schemas/PublisherReportDataDto"
                  },
                  "type" : "object"
                }
              }
            },
            "description" : "Returns map of publisher ID to public data"
          },
          "401" : {
            "content" : {
              "text/plain" : {
                "example" : "unable to perform action -- unauthorized"
              }
            },
            "description" : "Not authorized to perform requested action"
          },
          "422" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorsDto"
                }
              }
            },
            "description" : "Validation errors"
          },
          "500" : {
            "description" : "Unexpected error"
          }
        }
      }
    },
    "/publisher-statistics/count-by-user" : {
      "get" : {
        "description" : "Returns resolved request counts grouped by user.",
        "operationId" : "getPublisherStatisticsCountByUser",
        "parameters" : [ {
          "description" : "Metric type (ARES_RESOLVED, UPDATE_REQUEST_APPROVED, UPDATE_REQUEST_REJECTED)",
          "explode" : true,
          "in" : "query",
          "name" : "metricType",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "style" : "form"
        }, {
          "description" : "Period start date",
          "explode" : true,
          "in" : "query",
          "name" : "periodFrom",
          "required" : false,
          "schema" : {
            "format" : "date",
            "type" : "string"
          },
          "style" : "form"
        }, {
          "description" : "Period end date",
          "explode" : true,
          "in" : "query",
          "name" : "periodTo",
          "required" : false,
          "schema" : {
            "format" : "date",
            "type" : "string"
          },
          "style" : "form"
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CountByUserResultDto"
                }
              }
            },
            "description" : "Returns counts grouped by user"
          },
          "401" : {
            "content" : {
              "text/plain" : {
                "example" : "unable to perform action -- unauthorized"
              }
            },
            "description" : "Not authorized to perform requested action"
          },
          "422" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorsDto"
                }
              }
            },
            "description" : "Validation errors"
          },
          "500" : {
            "description" : "Unexpected error"
          }
        }
      }
    },
    "/publishers/{id}/closing" : {
      "post" : {
        "description" : "Set publisher to closing status",
        "operationId" : "setPublisherStatusToClosing",
        "parameters" : [ {
          "description" : "The UUID of a publisher",
          "explode" : false,
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/uuid"
          },
          "style" : "simple"
        } ],
        "responses" : {
          "200" : {
            "description" : "Publisher status set to closing"
          },
          "401" : {
            "content" : {
              "text/plain" : {
                "example" : "unable to perform action -- unauthorized"
              }
            },
            "description" : "Not authorized to perform requested action"
          },
          "404" : {
            "content" : {
              "text/plain" : {
                "example" : "publisher not found"
              }
            },
            "description" : "Item with a given ID not found"
          },
          "422" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorsDto"
                }
              }
            },
            "description" : "Validation errors"
          },
          "500" : {
            "description" : "Unexpected error"
          }
        }
      }
    },
    "/publishers/{id}/close" : {
      "post" : {
        "description" : "Set publisher to closed status",
        "operationId" : "setPublisherStatusToClosed",
        "parameters" : [ {
          "description" : "The UUID of a publisher",
          "explode" : false,
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/uuid"
          },
          "style" : "simple"
        } ],
        "requestBody" : {
          "$ref" : "#/components/requestBodies/InternalCommentBody"
        },
        "responses" : {
          "200" : {
            "description" : "Publisher status set to closed"
          },
          "401" : {
            "content" : {
              "text/plain" : {
                "example" : "unable to perform action -- unauthorized"
              }
            },
            "description" : "Not authorized to perform requested action"
          },
          "404" : {
            "content" : {
              "text/plain" : {
                "example" : "publisher not found"
              }
            },
            "description" : "Item with a given ID not found"
          },
          "422" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorsDto"
                }
              }
            },
            "description" : "Validation errors"
          },
          "500" : {
            "description" : "Unexpected error"
          }
        }
      }
    },
    "/publishers/{id}/confirmData" : {
      "post" : {
        "description" : "Confirm publisher's data",
        "operationId" : "confirmPublisherData",
        "parameters" : [ {
          "description" : "The UUID of a publisher",
          "explode" : false,
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/uuid"
          },
          "style" : "simple"
        } ],
        "responses" : {
          "200" : {
            "description" : "Publisher data confirmed at current date and time"
          },
          "401" : {
            "content" : {
              "text/plain" : {
                "example" : "unable to perform action -- unauthorized"
              }
            },
            "description" : "Not authorized to perform requested action"
          },
          "404" : {
            "content" : {
              "text/plain" : {
                "example" : "publisher not found"
              }
            },
            "description" : "Item with a given ID not found"
          },
          "422" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorsDto"
                }
              }
            },
            "description" : "Validation errors"
          },
          "500" : {
            "description" : "Unexpected error"
          }
        }
      }
    },
    "/publishers/{id}/registrations" : {
      "post" : {
        "description" : "Register the publisher at another registration agency.",
        "operationId" : "addPublisherRegistration",
        "parameters" : [ {
          "description" : "The UUID of a publisher",
          "explode" : false,
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/uuid"
          },
          "style" : "simple"
        }, {
          "explode" : false,
          "in" : "header",
          "name" : "X-Okapi-Tenant",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "explode" : false,
          "in" : "header",
          "name" : "X-Okapi-Token",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "explode" : false,
          "in" : "header",
          "name" : "X-Okapi-URL",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        } ],
        "requestBody" : {
          "$ref" : "#/components/requestBodies/PublisherRegistrationBody"
        },
        "responses" : {
          "201" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PublisherDto"
                }
              }
            },
            "description" : "Returns a publisher"
          },
          "401" : {
            "content" : {
              "text/plain" : {
                "example" : "unable to perform action -- unauthorized"
              }
            },
            "description" : "Not authorized to perform requested action"
          },
          "404" : {
            "content" : {
              "text/plain" : {
                "example" : "publisher not found"
              }
            },
            "description" : "Item with a given ID not found"
          },
          "422" : {
            "description" : "Validation failed — e.g. the publisher already has an active registration at the given agency (errorType REGISTRATION_ALREADY_EXISTS)\n"
          },
          "500" : {
            "description" : "Unexpected error"
          }
        }
      }
    },
    "/publishers/{id}/registrations/{registrationId}/convert-to-continuous" : {
      "post" : {
        "description" : "Convert the publisher's ONE_OFF registration to CONTINUOUS. The ONE_OFF registration is terminated with termination time equal to the new CONTINUOUS registration's registration time.\n",
        "operationId" : "convertRegistrationToContinuous",
        "parameters" : [ {
          "description" : "The UUID of a publisher",
          "explode" : false,
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/uuid"
          },
          "style" : "simple"
        }, {
          "description" : "The UUID of the publisher registration",
          "explode" : false,
          "in" : "path",
          "name" : "registrationId",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/uuid"
          },
          "style" : "simple"
        }, {
          "description" : "When true the agency module must not auto-assign a new publisher prefix after the conversion (\"bez přidělení sady ISBN/ISMN\").\n",
          "explode" : true,
          "in" : "query",
          "name" : "withoutPrefixAssignment",
          "required" : false,
          "schema" : {
            "type" : "boolean"
          },
          "style" : "form"
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PublisherDto"
                }
              }
            },
            "description" : "Returns a publisher"
          },
          "401" : {
            "content" : {
              "text/plain" : {
                "example" : "unable to perform action -- unauthorized"
              }
            },
            "description" : "Not authorized to perform requested action"
          },
          "404" : {
            "content" : {
              "text/plain" : {
                "example" : "publisher not found"
              }
            },
            "description" : "Item with a given ID not found"
          },
          "422" : {
            "description" : "Validation failed — the registration is not an active ONE_OFF registration (errorType CANNOT_REVERT_REGISTRATION_INTENT)\n"
          },
          "500" : {
            "description" : "Unexpected error"
          }
        }
      }
    },
    "/publishers/{companyNumber}/lookup" : {
      "get" : {
        "description" : "Retrieve publisher with given company number",
        "operationId" : "lookupPublisherByCompanyNumber",
        "parameters" : [ {
          "description" : "The company number of a publisher",
          "explode" : false,
          "in" : "path",
          "name" : "companyNumber",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PublisherDto"
                }
              }
            },
            "description" : "Returns a publisher"
          },
          "401" : {
            "content" : {
              "text/plain" : {
                "example" : "unable to perform action -- unauthorized"
              }
            },
            "description" : "Not authorized to perform requested action"
          },
          "404" : {
            "content" : {
              "text/plain" : {
                "example" : "publisher not found"
              }
            },
            "description" : "Item with a given ID not found"
          },
          "422" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorsDto"
                }
              }
            },
            "description" : "Validation errors"
          },
          "500" : {
            "description" : "Unexpected error"
          }
        }
      }
    },
    "/publishers/{companyNumber}/checkDuplicity" : {
      "get" : {
        "description" : "Check if a publisher with given company number already exists",
        "operationId" : "publisherCompanyNumberCheckDuplicity",
        "parameters" : [ {
          "description" : "The company number of a publisher",
          "explode" : false,
          "in" : "path",
          "name" : "companyNumber",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DuplicityCheckResponseDto"
                }
              }
            },
            "description" : "Result of duplicity check for company number"
          },
          "401" : {
            "content" : {
              "text/plain" : {
                "example" : "unable to perform action -- unauthorized"
              }
            },
            "description" : "Not authorized to perform requested action"
          },
          "500" : {
            "description" : "Unexpected error"
          }
        }
      }
    },
    "/publishers/duplicities" : {
      "post" : {
        "description" : "Retrieve a list of publisher items with duplicities.",
        "operationId" : "getPublisherDuplicities",
        "parameters" : [ {
          "description" : "Skip over a number of elements by specifying an offset value for the query",
          "explode" : true,
          "in" : "query",
          "name" : "offset",
          "required" : false,
          "schema" : {
            "default" : 0,
            "maximum" : 2147483647,
            "minimum" : 0,
            "type" : "integer"
          },
          "style" : "form"
        }, {
          "description" : "Limit the number of elements returned in the response",
          "explode" : true,
          "in" : "query",
          "name" : "limit",
          "required" : false,
          "schema" : {
            "default" : 1000,
            "maximum" : 2147483647,
            "minimum" : 1,
            "type" : "integer"
          },
          "style" : "form"
        } ],
        "requestBody" : {
          "$ref" : "#/components/requestBodies/PublisherBody"
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/publisherDuplicitiesDtoCollection"
                }
              }
            },
            "description" : "Returns a publisher duplicities collection"
          },
          "401" : {
            "content" : {
              "text/plain" : {
                "example" : "unable to perform action -- unauthorized"
              }
            },
            "description" : "Not authorized to perform requested action"
          },
          "422" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorsDto"
                }
              }
            },
            "description" : "Validation errors"
          },
          "500" : {
            "description" : "Unexpected error"
          }
        }
      }
    },
    "/publisher-guarantors/{email}" : {
      "get" : {
        "description" : "Retrieve publisher guarantor with given email",
        "operationId" : "getPublisherGuarantorByEmail",
        "parameters" : [ {
          "description" : "The email of a publisher guarantor",
          "explode" : false,
          "in" : "path",
          "name" : "email",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PublisherGuarantorDto"
                }
              }
            },
            "description" : "Returns a publisher guarantor"
          },
          "401" : {
            "content" : {
              "text/plain" : {
                "example" : "unable to perform action -- unauthorized"
              }
            },
            "description" : "Not authorized to perform requested action"
          },
          "404" : {
            "content" : {
              "text/plain" : {
                "example" : "publisher not found"
              }
            },
            "description" : "Item with a given ID not found"
          },
          "422" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorsDto"
                }
              }
            },
            "description" : "Validation errors"
          },
          "500" : {
            "description" : "Unexpected error"
          }
        }
      }
    },
    "/publisher-guarantors/{email}/multi-guarantor" : {
      "get" : {
        "description" : "Check if the publisher guarantor with given email has multiple organizations or user sources",
        "operationId" : "multiGuarantorByEmail",
        "parameters" : [ {
          "description" : "The email of a publisher guarantor",
          "explode" : false,
          "in" : "path",
          "name" : "email",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MultiGuarantorResponseDto"
                }
              }
            },
            "description" : "Indicates if the user has multiple organizations or sources"
          },
          "401" : {
            "content" : {
              "text/plain" : {
                "example" : "unable to perform action -- unauthorized"
              }
            },
            "description" : "Not authorized to perform requested action"
          },
          "404" : {
            "content" : {
              "text/plain" : {
                "example" : "publisher not found"
              }
            },
            "description" : "Item with a given ID not found"
          },
          "422" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorsDto"
                }
              }
            },
            "description" : "Validation errors"
          },
          "500" : {
            "description" : "Unexpected error"
          }
        }
      }
    },
    "/publisher-address/{addressCode}" : {
      "get" : {
        "description" : "Retrieve publisher address with given address code",
        "operationId" : "getPublisherAddressByAddressCode",
        "parameters" : [ {
          "description" : "The address code of a publisher address",
          "explode" : false,
          "in" : "path",
          "name" : "addressCode",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PublisherAddressDto"
                }
              }
            },
            "description" : "Returns a publisher address"
          },
          "401" : {
            "content" : {
              "text/plain" : {
                "example" : "unable to perform action -- unauthorized"
              }
            },
            "description" : "Not authorized to perform requested action"
          },
          "404" : {
            "content" : {
              "text/plain" : {
                "example" : "publisher not found"
              }
            },
            "description" : "Item with a given ID not found"
          },
          "422" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorsDto"
                }
              }
            },
            "description" : "Validation errors"
          },
          "500" : {
            "description" : "Unexpected error"
          }
        }
      }
    },
    "/publisher-address/suggest" : {
      "get" : {
        "description" : "Returns list of addresses from search.",
        "operationId" : "getPublisherAddressSuggestion",
        "parameters" : [ {
          "description" : "Address to search for",
          "explode" : true,
          "in" : "query",
          "name" : "address",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "style" : "form"
        }, {
          "explode" : true,
          "in" : "query",
          "name" : "limit",
          "required" : false,
          "schema" : {
            "default" : 10,
            "maximum" : 2147483647,
            "minimum" : 1,
            "type" : "integer"
          },
          "style" : "form"
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/publisherAddressSuggestionDtoCollection"
                }
              }
            },
            "description" : "Returns a publisher address collection"
          },
          "401" : {
            "content" : {
              "text/plain" : {
                "example" : "unable to perform action -- unauthorized"
              }
            },
            "description" : "Not authorized to perform requested action"
          },
          "422" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorsDto"
                }
              }
            },
            "description" : "Validation errors"
          },
          "500" : {
            "description" : "Unexpected error"
          }
        }
      }
    },
    "/ares-data/{companyNumber}" : {
      "get" : {
        "description" : "Retrieve ARES data with given company number",
        "operationId" : "getAresDataByCompanyNumber",
        "parameters" : [ {
          "description" : "The company number of a publisher",
          "explode" : false,
          "in" : "path",
          "name" : "companyNumber",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AresDataDto"
                }
              }
            },
            "description" : "Returns ARES data"
          },
          "401" : {
            "content" : {
              "text/plain" : {
                "example" : "unable to perform action -- unauthorized"
              }
            },
            "description" : "Not authorized to perform requested action"
          },
          "404" : {
            "content" : {
              "text/plain" : {
                "example" : "publisher not found"
              }
            },
            "description" : "Item with a given ID not found"
          },
          "422" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorsDto"
                }
              }
            },
            "description" : "Validation errors"
          },
          "500" : {
            "description" : "Unexpected error"
          }
        }
      }
    },
    "/ares-data/{companyNumber}/synchronize" : {
      "get" : {
        "description" : "Update ARES data with given company number",
        "operationId" : "synchronizeAresDataByCompanyNumber",
        "parameters" : [ {
          "description" : "The company number of a publisher",
          "explode" : false,
          "in" : "path",
          "name" : "companyNumber",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AresDataSynchronizeDto"
                }
              }
            },
            "description" : "Returns ares update after synchronization"
          },
          "401" : {
            "content" : {
              "text/plain" : {
                "example" : "unable to perform action -- unauthorized"
              }
            },
            "description" : "Not authorized to perform requested action"
          },
          "404" : {
            "content" : {
              "text/plain" : {
                "example" : "publisher not found"
              }
            },
            "description" : "Item with a given ID not found"
          },
          "422" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorsDto"
                }
              }
            },
            "description" : "Validation errors"
          },
          "500" : {
            "description" : "Unexpected error"
          }
        }
      }
    },
    "/ares-data/batch" : {
      "post" : {
        "description" : "Retrieve ARES data for multiple company numbers in batch",
        "operationId" : "getAresDataBatch",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "description" : "List of company numbers (IČO)",
                "items" : {
                  "type" : "string"
                },
                "type" : "array"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "additionalProperties" : {
                    "$ref" : "#/components/schemas/AresDataDto"
                  },
                  "type" : "object"
                }
              }
            },
            "description" : "Returns map of company number to ARES data"
          },
          "401" : {
            "content" : {
              "text/plain" : {
                "example" : "unable to perform action -- unauthorized"
              }
            },
            "description" : "Not authorized to perform requested action"
          },
          "422" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorsDto"
                }
              }
            },
            "description" : "Validation errors"
          },
          "500" : {
            "description" : "Unexpected error"
          }
        }
      }
    },
    "/ares-data/update" : {
      "post" : {
        "description" : "Start asynchronous update of all ARES data",
        "operationId" : "startAresDataUpdate",
        "responses" : {
          "202" : {
            "description" : "ARES data update started"
          },
          "401" : {
            "content" : {
              "text/plain" : {
                "example" : "unable to perform action -- unauthorized"
              }
            },
            "description" : "Not authorized to perform requested action"
          },
          "500" : {
            "description" : "Unexpected error"
          }
        }
      }
    },
    "/regions" : {
      "get" : {
        "description" : "Retrieve a list of regions.",
        "operationId" : "getRegionCollection",
        "parameters" : [ {
          "description" : "A query expressed as a CQL string",
          "explode" : true,
          "in" : "query",
          "name" : "query",
          "required" : false,
          "schema" : {
            "default" : "cql.allRecords=1",
            "type" : "string"
          },
          "style" : "form"
        }, {
          "explode" : true,
          "in" : "query",
          "name" : "offset",
          "required" : false,
          "schema" : {
            "default" : 0,
            "maximum" : 2147483647,
            "minimum" : 0,
            "type" : "integer"
          },
          "style" : "form"
        }, {
          "explode" : true,
          "in" : "query",
          "name" : "limit",
          "required" : false,
          "schema" : {
            "default" : 1000,
            "maximum" : 2147483647,
            "minimum" : 1,
            "type" : "integer"
          },
          "style" : "form"
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/regionDtoCollection"
                }
              }
            },
            "description" : "Returns a region collection"
          },
          "401" : {
            "content" : {
              "text/plain" : {
                "example" : "unable to perform action -- unauthorized"
              }
            },
            "description" : "Not authorized to perform requested action"
          },
          "422" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorsDto"
                }
              }
            },
            "description" : "Validation errors"
          },
          "500" : {
            "description" : "Unexpected error"
          }
        }
      }
    },
    "/ares-update-requests" : {
      "get" : {
        "description" : "Retrieve a collection of ARES update requests",
        "operationId" : "getAresUpdateRequestCollection",
        "parameters" : [ {
          "description" : "A query expressed as a CQL string",
          "explode" : true,
          "in" : "query",
          "name" : "query",
          "required" : false,
          "schema" : {
            "default" : "cql.allRecords=1",
            "type" : "string"
          },
          "style" : "form"
        }, {
          "explode" : true,
          "in" : "query",
          "name" : "offset",
          "required" : false,
          "schema" : {
            "default" : 0,
            "maximum" : 2147483647,
            "minimum" : 0,
            "type" : "integer"
          },
          "style" : "form"
        }, {
          "explode" : true,
          "in" : "query",
          "name" : "limit",
          "required" : false,
          "schema" : {
            "default" : 1000,
            "maximum" : 2147483647,
            "minimum" : 1,
            "type" : "integer"
          },
          "style" : "form"
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/aresUpdateRequestDtoCollection"
                }
              }
            },
            "description" : "Returns a collection of ARES update requests"
          },
          "401" : {
            "content" : {
              "text/plain" : {
                "example" : "unable to perform action -- unauthorized"
              }
            },
            "description" : "Not authorized to perform requested action"
          },
          "422" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorsDto"
                }
              }
            },
            "description" : "Validation errors"
          },
          "500" : {
            "description" : "Unexpected error"
          }
        }
      }
    },
    "/ares-update-requests/{id}" : {
      "get" : {
        "description" : "Retrieve ARES update request with given ID",
        "operationId" : "getAresUpdateRequestById",
        "parameters" : [ {
          "description" : "The UUID of an ARES update request",
          "explode" : false,
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/uuid"
          },
          "style" : "simple"
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AresUpdateRequestDto"
                }
              }
            },
            "description" : "Returns ARES update request"
          },
          "401" : {
            "content" : {
              "text/plain" : {
                "example" : "unable to perform action -- unauthorized"
              }
            },
            "description" : "Not authorized to perform requested action"
          },
          "404" : {
            "content" : {
              "text/plain" : {
                "example" : "publisher not found"
              }
            },
            "description" : "Item with a given ID not found"
          },
          "422" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorsDto"
                }
              }
            },
            "description" : "Validation errors"
          },
          "500" : {
            "description" : "Unexpected error"
          }
        }
      }
    },
    "/ares-update-requests/{id}/resolve" : {
      "post" : {
        "description" : "Set ares update request to resolved status",
        "operationId" : "setAresUpdateRequestStatusToResolved",
        "parameters" : [ {
          "description" : "The UUID of a ares update request",
          "explode" : false,
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/uuid"
          },
          "style" : "simple"
        } ],
        "responses" : {
          "200" : {
            "description" : "Ares update request status set to resolved"
          },
          "401" : {
            "content" : {
              "text/plain" : {
                "example" : "unable to perform action -- unauthorized"
              }
            },
            "description" : "Not authorized to perform requested action"
          },
          "404" : {
            "content" : {
              "text/plain" : {
                "example" : "publisher not found"
              }
            },
            "description" : "Item with a given ID not found"
          },
          "422" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorsDto"
                }
              }
            },
            "description" : "Validation errors"
          },
          "500" : {
            "description" : "Unexpected error"
          }
        }
      }
    },
    "/publisher-update-requests" : {
      "get" : {
        "description" : "Retrieve a collection of publisher update requests",
        "operationId" : "getPublisherUpdateRequestCollection",
        "parameters" : [ {
          "description" : "A query expressed as a CQL string",
          "explode" : true,
          "in" : "query",
          "name" : "query",
          "required" : false,
          "schema" : {
            "default" : "cql.allRecords=1",
            "type" : "string"
          },
          "style" : "form"
        }, {
          "explode" : true,
          "in" : "query",
          "name" : "offset",
          "required" : false,
          "schema" : {
            "default" : 0,
            "maximum" : 2147483647,
            "minimum" : 0,
            "type" : "integer"
          },
          "style" : "form"
        }, {
          "explode" : true,
          "in" : "query",
          "name" : "limit",
          "required" : false,
          "schema" : {
            "default" : 1000,
            "maximum" : 2147483647,
            "minimum" : 1,
            "type" : "integer"
          },
          "style" : "form"
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/publisherUpdateRequestDtoCollection"
                }
              }
            },
            "description" : "Returns a collection of publisher update requests"
          },
          "401" : {
            "content" : {
              "text/plain" : {
                "example" : "unable to perform action -- unauthorized"
              }
            },
            "description" : "Not authorized to perform requested action"
          },
          "422" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorsDto"
                }
              }
            },
            "description" : "Validation errors"
          },
          "500" : {
            "description" : "Unexpected error"
          }
        }
      }
    },
    "/publisher-update-requests/{id}" : {
      "get" : {
        "description" : "Retrieve publisher update request with given ID",
        "operationId" : "getPublisherUpdateRequestById",
        "parameters" : [ {
          "description" : "The UUID of an publisher update request",
          "explode" : false,
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/uuid"
          },
          "style" : "simple"
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PublisherUpdateRequestDto"
                }
              }
            },
            "description" : "Returns publisher update request"
          },
          "401" : {
            "content" : {
              "text/plain" : {
                "example" : "unable to perform action -- unauthorized"
              }
            },
            "description" : "Not authorized to perform requested action"
          },
          "404" : {
            "content" : {
              "text/plain" : {
                "example" : "publisher not found"
              }
            },
            "description" : "Item with a given ID not found"
          },
          "422" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorsDto"
                }
              }
            },
            "description" : "Validation errors"
          },
          "500" : {
            "description" : "Unexpected error"
          }
        }
      }
    },
    "/publisher-update-requests/{publisher-id}/submitted" : {
      "get" : {
        "description" : "Retrieve unresolved submitted publisher update request for given publisher uuid",
        "operationId" : "getOpenSubmittedPublisherUpdateRequest",
        "parameters" : [ {
          "description" : "The UUID of an publisher",
          "explode" : false,
          "in" : "path",
          "name" : "publisher-id",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/uuid"
          },
          "style" : "simple"
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PublisherUpdateRequestDto"
                }
              }
            },
            "description" : "Returns publisher update request"
          },
          "401" : {
            "content" : {
              "text/plain" : {
                "example" : "unable to perform action -- unauthorized"
              }
            },
            "description" : "Not authorized to perform requested action"
          },
          "404" : {
            "content" : {
              "text/plain" : {
                "example" : "publisher not found"
              }
            },
            "description" : "Item with a given ID not found"
          },
          "422" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorsDto"
                }
              }
            },
            "description" : "Validation errors"
          },
          "500" : {
            "description" : "Unexpected error"
          }
        }
      }
    },
    "/publisher-update-requests/{id}/resolve" : {
      "post" : {
        "description" : "Resolve publisher update request with given ID",
        "operationId" : "resolvePublisherUpdateRequest",
        "parameters" : [ {
          "description" : "The UUID of an publisher update request",
          "explode" : false,
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/uuid"
          },
          "style" : "simple"
        } ],
        "requestBody" : {
          "$ref" : "#/components/requestBodies/ResolvePublisherUpdateRequestBody"
        },
        "responses" : {
          "200" : {
            "description" : "Publisher update request resolved"
          },
          "401" : {
            "content" : {
              "text/plain" : {
                "example" : "unable to perform action -- unauthorized"
              }
            },
            "description" : "Not authorized to perform requested action"
          },
          "404" : {
            "content" : {
              "text/plain" : {
                "example" : "publisher not found"
              }
            },
            "description" : "Item with a given ID not found"
          },
          "422" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorsDto"
                }
              }
            },
            "description" : "Validation errors"
          },
          "500" : {
            "description" : "Unexpected error"
          }
        }
      }
    },
    "/data-import/upload" : {
      "post" : {
        "description" : "Uploads a file and stores it.",
        "operationId" : "handleFileUpload",
        "requestBody" : {
          "content" : {
            "multipart/form-data" : {
              "schema" : {
                "$ref" : "#/components/schemas/handleFileUpload_request"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "File uploaded successfully"
          },
          "401" : {
            "content" : {
              "text/plain" : {
                "example" : "unable to perform action -- unauthorized"
              }
            },
            "description" : "Not authorized to perform requested action"
          },
          "422" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorsDto"
                }
              }
            },
            "description" : "Validation errors"
          },
          "500" : {
            "description" : "Unexpected error"
          }
        },
        "summary" : "Handle file upload"
      }
    },
    "/data-import/import-from-file" : {
      "get" : {
        "description" : "Imports data from file specified.",
        "operationId" : "importData",
        "parameters" : [ {
          "description" : "Name of the file with data to import",
          "explode" : true,
          "in" : "query",
          "name" : "fileName",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "style" : "form"
        } ],
        "responses" : {
          "200" : {
            "description" : "Data import successful"
          },
          "401" : {
            "content" : {
              "text/plain" : {
                "example" : "unable to perform action -- unauthorized"
              }
            },
            "description" : "Not authorized to perform requested action"
          },
          "422" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorsDto"
                }
              }
            },
            "description" : "Validation errors"
          },
          "500" : {
            "description" : "Unexpected error"
          }
        },
        "summary" : "Import data from a file"
      }
    },
    "/data-import/delete-file" : {
      "get" : {
        "description" : "Deletes file specified.",
        "operationId" : "deleteFile",
        "parameters" : [ {
          "description" : "Name of the file to delete",
          "explode" : true,
          "in" : "query",
          "name" : "fileName",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "style" : "form"
        } ],
        "responses" : {
          "200" : {
            "description" : "File deleted successfully"
          },
          "404" : {
            "content" : {
              "text/plain" : {
                "example" : "publisher not found"
              }
            },
            "description" : "Item with a given ID not found"
          },
          "401" : {
            "content" : {
              "text/plain" : {
                "example" : "unable to perform action -- unauthorized"
              }
            },
            "description" : "Not authorized to perform requested action"
          },
          "422" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorsDto"
                }
              }
            },
            "description" : "Validation errors"
          },
          "500" : {
            "description" : "Unexpected error"
          }
        },
        "summary" : "Delete file"
      }
    },
    "/data-import/owncloud/files" : {
      "get" : {
        "description" : "Lists available files from the configured OwnCloud WebDAV folder.",
        "operationId" : "listOwnCloudFiles",
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ownCloudFileDtoCollection"
                }
              }
            },
            "description" : "Returns a collection of files from OwnCloud"
          },
          "401" : {
            "content" : {
              "text/plain" : {
                "example" : "unable to perform action -- unauthorized"
              }
            },
            "description" : "Not authorized to perform requested action"
          },
          "503" : {
            "description" : "OwnCloud service not configured or unavailable"
          },
          "500" : {
            "description" : "Unexpected error"
          }
        },
        "summary" : "List files from OwnCloud",
        "tags" : [ "data-import" ]
      }
    },
    "/data-import/owncloud/import" : {
      "post" : {
        "description" : "Downloads a file from OwnCloud, decompresses if .gz, and starts the import process.",
        "operationId" : "importFromOwnCloud",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/OwnCloudImportRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "202" : {
            "description" : "Import started successfully"
          },
          "401" : {
            "content" : {
              "text/plain" : {
                "example" : "unable to perform action -- unauthorized"
              }
            },
            "description" : "Not authorized to perform requested action"
          },
          "404" : {
            "description" : "File not found in OwnCloud"
          },
          "409" : {
            "description" : "Import of this file is already running"
          },
          "503" : {
            "description" : "OwnCloud service not configured or unavailable"
          },
          "500" : {
            "description" : "Unexpected error"
          }
        },
        "summary" : "Import file from OwnCloud",
        "tags" : [ "data-import" ]
      }
    },
    "/admin/environment-variables-publishers" : {
      "get" : {
        "description" : "Get environment variables",
        "operationId" : "getEnvironmentVariables",
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/environmentVariableDtoCollection"
                }
              }
            },
            "description" : "Returns a collection of environment variables"
          },
          "401" : {
            "content" : {
              "text/plain" : {
                "example" : "unable to perform action -- unauthorized"
              }
            },
            "description" : "Not authorized to perform requested action"
          },
          "500" : {
            "description" : "Unexpected error"
          }
        },
        "summary" : "Get environment variables"
      }
    },
    "/admin/sync-regions-to-legal-deposits" : {
      "post" : {
        "description" : "Writes all existing regions to outbox for initial sync",
        "operationId" : "syncRegionsToLegalDeposits",
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RegionsSyncResultDto"
                }
              }
            },
            "description" : "Sync completed successfully"
          },
          "500" : {
            "description" : "Unexpected error"
          }
        },
        "summary" : "Sync all regions to legal deposits module",
        "tags" : [ "admin" ]
      }
    },
    "/admin/sync-publishers-to-legal-deposits" : {
      "post" : {
        "description" : "Writes all existing publishers to outbox for initial synchronization with mod-br-legaldeposits",
        "operationId" : "syncPublishersToLegalDeposits",
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PublishersSyncResultDto"
                }
              }
            },
            "description" : "Sync completed successfully"
          },
          "500" : {
            "description" : "Unexpected error"
          }
        },
        "summary" : "Sync all publishers to legal deposits module",
        "tags" : [ "admin" ]
      }
    },
    "/admin/sync-publishers-to-agency" : {
      "post" : {
        "description" : "Writes all existing publishers to outbox for re-synchronization with mod-br-agency (uses publisher.update so existing records are refreshed).",
        "operationId" : "syncPublishersToAgency",
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PublishersSyncResultDto"
                }
              }
            },
            "description" : "Sync completed successfully"
          },
          "500" : {
            "description" : "Unexpected error"
          }
        },
        "summary" : "Sync all publishers to agency module",
        "tags" : [ "admin" ]
      }
    },
    "/publishers/inbox" : {
      "post" : {
        "description" : "Accepts a POST request to process an event in the inbox.",
        "parameters" : [ {
          "explode" : false,
          "in" : "header",
          "name" : "X-Api-Key",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/InboxEventDto"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "content" : {
              "text/plain" : {
                "schema" : {
                  "example" : "Event received and processed.",
                  "type" : "string"
                }
              }
            },
            "description" : "Event received and processed."
          },
          "400" : {
            "description" : "Bad Request - Invalid input."
          },
          "500" : {
            "description" : "Internal Server Error - Failed to process event."
          }
        },
        "summary" : "Process an event in the inbox"
      }
    },
    "/create-legal-deposits-publisher" : {
      "post" : {
        "description" : "Creates a new publisher with owner=LEGAL_DEPOSITS. This endpoint is used by\nmod-br-legaldeposits to create publishers that don't exist in the registry.\nThe created publisher can later be edited by PV module via update endpoint.\n",
        "operationId" : "createLegalDepositsPublisher",
        "parameters" : [ {
          "explode" : false,
          "in" : "header",
          "name" : "X-Okapi-Tenant",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "explode" : false,
          "in" : "header",
          "name" : "X-Okapi-Token",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "explode" : false,
          "in" : "header",
          "name" : "X-Okapi-URL",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/LegalDepositsPublisherRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PublisherDto"
                }
              }
            },
            "description" : "Publisher created successfully"
          },
          "400" : {
            "description" : "Bad Request - Invalid input"
          },
          "401" : {
            "content" : {
              "text/plain" : {
                "example" : "unable to perform action -- unauthorized"
              }
            },
            "description" : "Not authorized to perform requested action"
          },
          "422" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorsDto"
                }
              }
            },
            "description" : "Validation errors"
          },
          "500" : {
            "description" : "Unexpected error"
          }
        },
        "summary" : "Create a publisher from Legal Deposits module",
        "tags" : [ "legal-deposits" ]
      }
    },
    "/update-legal-deposits-publisher/{id}" : {
      "put" : {
        "description" : "Updates an existing publisher with owner=LEGAL_DEPOSITS. This endpoint validates\nthat the publisher has owner=LEGAL_DEPOSITS before allowing the update.\nReturns 403 Forbidden if the publisher has owner=PUBLISHERS.\n",
        "operationId" : "updateLegalDepositsPublisher",
        "parameters" : [ {
          "description" : "The UUID of the publisher to update",
          "explode" : false,
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/uuid"
          },
          "style" : "simple"
        }, {
          "explode" : false,
          "in" : "header",
          "name" : "X-Okapi-Tenant",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "explode" : false,
          "in" : "header",
          "name" : "X-Okapi-Token",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "explode" : false,
          "in" : "header",
          "name" : "X-Okapi-URL",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/LegalDepositsPublisherRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PublisherDto"
                }
              }
            },
            "description" : "Publisher updated successfully"
          },
          "400" : {
            "description" : "Bad Request - Invalid input"
          },
          "401" : {
            "content" : {
              "text/plain" : {
                "example" : "unable to perform action -- unauthorized"
              }
            },
            "description" : "Not authorized to perform requested action"
          },
          "403" : {
            "description" : "Forbidden - Publisher has owner=PUBLISHERS and cannot be edited via this endpoint"
          },
          "404" : {
            "content" : {
              "text/plain" : {
                "example" : "publisher not found"
              }
            },
            "description" : "Item with a given ID not found"
          },
          "409" : {
            "description" : "Conflict - Publisher was updated or deleted by another transaction"
          },
          "422" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorsDto"
                }
              }
            },
            "description" : "Validation errors"
          },
          "500" : {
            "description" : "Unexpected error"
          }
        },
        "summary" : "Update a publisher from Legal Deposits module",
        "tags" : [ "legal-deposits" ]
      }
    },
    "/lookup-ares-data-for-legal-deposits/{companyNumber}" : {
      "get" : {
        "description" : "Pure pass-through to the external ARES API for the company number lookup.\nUsed by mod-br-legaldeposits when a librarian is creating a new publisher\nand wants to pre-fill the form from ARES — at this point no Publisher\nentity exists yet in either module's DB.\n",
        "operationId" : "lookupAresDataForLegalDeposits",
        "parameters" : [ {
          "description" : "The company number (IČO) to look up in ARES",
          "explode" : false,
          "in" : "path",
          "name" : "companyNumber",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AresDataDto"
                }
              }
            },
            "description" : "Returns ARES data"
          },
          "401" : {
            "content" : {
              "text/plain" : {
                "example" : "unable to perform action -- unauthorized"
              }
            },
            "description" : "Not authorized to perform requested action"
          },
          "404" : {
            "content" : {
              "text/plain" : {
                "example" : "publisher not found"
              }
            },
            "description" : "Item with a given ID not found"
          },
          "500" : {
            "description" : "Unexpected error"
          }
        },
        "summary" : "Look up ARES data by company number for Legal Deposits module",
        "tags" : [ "legal-deposits" ]
      }
    },
    "/publishers/{id}/take-over" : {
      "post" : {
        "description" : "Changes the publisher's owner from LEGAL_DEPOSITS to PUBLISHERS,\ngiving the Publishers module full control. This is irreversible.\nReturns 403 if the publisher does not have owner=LEGAL_DEPOSITS.\n",
        "operationId" : "takeOverPublisher",
        "parameters" : [ {
          "description" : "The UUID of the publisher to take over",
          "explode" : false,
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/uuid"
          },
          "style" : "simple"
        }, {
          "explode" : false,
          "in" : "header",
          "name" : "X-Okapi-Tenant",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "explode" : false,
          "in" : "header",
          "name" : "X-Okapi-Token",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        }, {
          "explode" : false,
          "in" : "header",
          "name" : "X-Okapi-URL",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "style" : "simple"
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PublisherDto"
                }
              }
            },
            "description" : "Publisher taken over successfully"
          },
          "401" : {
            "content" : {
              "text/plain" : {
                "example" : "unable to perform action -- unauthorized"
              }
            },
            "description" : "Not authorized to perform requested action"
          },
          "403" : {
            "description" : "Forbidden - Publisher does not have owner=LEGAL_DEPOSITS"
          },
          "404" : {
            "content" : {
              "text/plain" : {
                "example" : "publisher not found"
              }
            },
            "description" : "Item with a given ID not found"
          },
          "500" : {
            "description" : "Unexpected error"
          }
        },
        "summary" : "Take over a publisher from Legal Deposits module",
        "tags" : [ "legal-deposits" ]
      }
    }
  },
  "components" : {
    "requestBodies" : {
      "PublisherBody" : {
        "content" : {
          "application/json" : {
            "example" : {
              "name" : "Good Media",
              "nameSuffix" : "Star"
            },
            "schema" : {
              "$ref" : "#/components/schemas/PublisherDto"
            }
          }
        },
        "description" : "Publisher object",
        "required" : true
      },
      "PublisherRegistrationBody" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/PublisherRegistrationDto"
            }
          }
        },
        "description" : "Publisher registration object",
        "required" : true
      },
      "InternalCommentBody" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/InternalComment"
            }
          }
        },
        "description" : "Internal comment object",
        "required" : false
      },
      "ResolvePublisherUpdateRequestBody" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/PublisherRequestResult"
            }
          }
        },
        "description" : "Publisher update request result",
        "required" : true
      }
    },
    "responses" : {
      "Publisher" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/PublisherDto"
            }
          }
        },
        "description" : "Returns a publisher"
      },
      "PublisherSearch" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/PublisherSearchDto"
            }
          }
        },
        "description" : "Returns a publisher"
      },
      "PublisherCollection" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/publisherDtoCollection"
            }
          }
        },
        "description" : "Returns a publisher collection"
      },
      "PublisherSearchCollection" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/publisherSearchDtoCollection"
            }
          }
        },
        "description" : "Returns a publisher collection"
      },
      "PublisherDuplicitiesCollection" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/publisherDuplicitiesDtoCollection"
            }
          }
        },
        "description" : "Returns a publisher duplicities collection"
      },
      "PublisherAddress" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/PublisherAddressDto"
            }
          }
        },
        "description" : "Returns a publisher address"
      },
      "PublisherGuarantor" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/PublisherGuarantorDto"
            }
          }
        },
        "description" : "Returns a publisher guarantor"
      },
      "PublisherAddressSuggestionCollection" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/publisherAddressSuggestionDtoCollection"
            }
          }
        },
        "description" : "Returns a publisher address collection"
      },
      "RegionCollection" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/regionDtoCollection"
            }
          }
        },
        "description" : "Returns a region collection"
      },
      "AresData" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/AresDataDto"
            }
          }
        },
        "description" : "Returns ARES data"
      },
      "AresDataSynchronize" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/AresDataSynchronizeDto"
            }
          }
        },
        "description" : "Returns ares update after synchronization"
      },
      "AresUpdateRequest" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/AresUpdateRequestDto"
            }
          }
        },
        "description" : "Returns ARES update request"
      },
      "AresUpdateRequestCollection" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/aresUpdateRequestDtoCollection"
            }
          }
        },
        "description" : "Returns a collection of ARES update requests"
      },
      "PublisherUpdateRequest" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/PublisherUpdateRequestDto"
            }
          }
        },
        "description" : "Returns publisher update request"
      },
      "PublisherUpdateRequestCollection" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/publisherUpdateRequestDtoCollection"
            }
          }
        },
        "description" : "Returns a collection of publisher update requests"
      },
      "EnvironmentVariableCollection" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/environmentVariableDtoCollection"
            }
          }
        },
        "description" : "Returns a collection of environment variables"
      },
      "MultiGuarantorResponse" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/MultiGuarantorResponseDto"
            }
          }
        },
        "description" : "Indicates if the user has multiple organizations or sources"
      },
      "DuplicityCheckResponse" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/DuplicityCheckResponseDto"
            }
          }
        },
        "description" : "Result of duplicity check for company number"
      },
      "OwnCloudFileCollection" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/ownCloudFileDtoCollection"
            }
          }
        },
        "description" : "Returns a collection of files from OwnCloud"
      },
      "Unauthorized" : {
        "content" : {
          "text/plain" : {
            "example" : "unable to perform action -- unauthorized"
          }
        },
        "description" : "Not authorized to perform requested action"
      },
      "NotFound" : {
        "content" : {
          "text/plain" : {
            "example" : "publisher not found"
          }
        },
        "description" : "Item with a given ID not found"
      },
      "UnprocessableEntity" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/ErrorsDto"
            }
          }
        },
        "description" : "Validation errors"
      }
    },
    "schemas" : {
      "publisherLookupByNameRequest" : {
        "properties" : {
          "fullName" : {
            "description" : "Full publisher name to parse and look up",
            "type" : "string"
          }
        },
        "title" : "Publisher lookup by name request",
        "type" : "object"
      },
      "publisherLookupByNameResponse" : {
        "properties" : {
          "id" : {
            "description" : "UUID of the found publisher, or null if not found",
            "format" : "uuid",
            "type" : "string"
          }
        },
        "title" : "Publisher lookup by name response",
        "type" : "object"
      },
      "publisherSearchCriteria" : {
        "properties" : {
          "search" : {
            "description" : "General search term (may search across multiple fields)",
            "type" : "string"
          },
          "name" : {
            "description" : "Filter by publisher and alternativeNames name, suffix, qualifier (partial match)",
            "type" : "string"
          },
          "companyNumber" : {
            "description" : "Filter by company number or tax number",
            "type" : "string"
          },
          "birthDateFrom" : {
            "description" : "Filter by birth date from (inclusive, YYYY-MM-DD)",
            "type" : "string"
          },
          "birthDateTo" : {
            "description" : "Filter by birth date to (inclusive, YYYY-MM-DD)",
            "type" : "string"
          },
          "status" : {
            "description" : "Filter by statuses",
            "items" : {
              "type" : "string"
            },
            "type" : "array"
          },
          "registrationIntent" : {
            "description" : "Filter by registration intent of an active registration",
            "type" : "string"
          },
          "registrationAgency" : {
            "description" : "Filter by registration agency of an active registration",
            "type" : "string"
          }
        },
        "type" : "object"
      },
      "publisherDtoCollection" : {
        "description" : "Publisher that can be attached to various objects",
        "example" : {
          "publishers" : [ {
            "id" : "118dbd8c-5ba0-47a9-a850-34bbb1dbf3b7",
            "name" : "Good Media",
            "nameSuffix" : "Star"
          }, {
            "id" : "46669e09-8b45-4ede-afbd-ca73bb89cdb3",
            "name" : "Knowledge Group",
            "nameSuffix" : "International"
          } ],
          "totalRecords" : 2
        },
        "properties" : {
          "publishers" : {
            "items" : {
              "$ref" : "#/components/schemas/PublisherDto"
            },
            "type" : "array"
          },
          "totalRecords" : {
            "description" : "Total amount of publishers",
            "readOnly" : true,
            "type" : "integer"
          }
        },
        "required" : [ "publishers" ],
        "title" : "Collection of publishers",
        "type" : "object"
      },
      "publisherSearchDtoCollection" : {
        "description" : "Publishers returned by search with only needed properties",
        "properties" : {
          "publishers" : {
            "items" : {
              "$ref" : "#/components/schemas/PublisherSearchDto"
            },
            "type" : "array"
          },
          "totalRecords" : {
            "description" : "Total amount of publishers",
            "readOnly" : true,
            "type" : "integer"
          }
        },
        "title" : "Collection of publishers search",
        "type" : "object"
      },
      "publisherDuplicitiesDtoCollection" : {
        "description" : "Publishers returned by duplicity find with only needed properties",
        "properties" : {
          "publishers" : {
            "items" : {
              "$ref" : "#/components/schemas/PublisherDuplicitiesDto"
            },
            "type" : "array"
          },
          "totalRecords" : {
            "description" : "Total amount of publishers",
            "readOnly" : true,
            "type" : "integer"
          }
        },
        "title" : "Collection of publishers duplicities",
        "type" : "object"
      },
      "publisherAddressSuggestionDtoCollection" : {
        "properties" : {
          "publisherAddresses" : {
            "items" : {
              "$ref" : "#/components/schemas/PublisherAddressSuggestionDto"
            },
            "type" : "array"
          }
        },
        "title" : "Collection of publisher addresses suggestions",
        "type" : "object"
      },
      "regionDtoCollection" : {
        "properties" : {
          "regions" : {
            "items" : {
              "$ref" : "#/components/schemas/RegionDto"
            },
            "type" : "array"
          },
          "totalRecords" : {
            "description" : "Total amount of regions",
            "readOnly" : true,
            "type" : "integer"
          }
        },
        "required" : [ "regions" ],
        "title" : "Collection of regions",
        "type" : "object"
      },
      "aresUpdateRequestDtoCollection" : {
        "properties" : {
          "aresUpdateRequests" : {
            "items" : {
              "$ref" : "#/components/schemas/AresUpdateRequestDto"
            },
            "type" : "array"
          },
          "totalRecords" : {
            "description" : "Total amount of ARES update requests",
            "readOnly" : true,
            "type" : "integer"
          }
        },
        "required" : [ "aresUpdateRequests" ],
        "title" : "Collection of ARES update requests",
        "type" : "object"
      },
      "publisherUpdateRequestDtoCollection" : {
        "properties" : {
          "publisherUpdateRequests" : {
            "items" : {
              "$ref" : "#/components/schemas/PublisherUpdateRequestDto"
            },
            "type" : "array"
          },
          "totalRecords" : {
            "description" : "Total amount of publishers update requests",
            "readOnly" : true,
            "type" : "integer"
          }
        },
        "required" : [ "publisherUpdateRequests" ],
        "title" : "Collection of publishers update requests",
        "type" : "object"
      },
      "environmentVariableDtoCollection" : {
        "properties" : {
          "environmentVariables" : {
            "items" : {
              "$ref" : "#/components/schemas/EnvironmentVariableDto"
            },
            "type" : "array"
          }
        },
        "required" : [ "publisherUpdateRequests" ],
        "title" : "Collection of environment variables",
        "type" : "object"
      },
      "ownCloudFileDtoCollection" : {
        "description" : "List of files available in the configured OwnCloud folder",
        "properties" : {
          "files" : {
            "items" : {
              "$ref" : "#/components/schemas/OwnCloudFileDto"
            },
            "type" : "array"
          },
          "totalRecords" : {
            "description" : "Total number of files",
            "readOnly" : true,
            "type" : "integer"
          }
        },
        "required" : [ "files" ],
        "title" : "Collection of OwnCloud files",
        "type" : "object"
      },
      "ErrorsDto" : {
        "example" : {
          "Error" : {
            "value" : {
              "errors" : [ {
                "message" : "may not be null",
                "type" : 1,
                "code" : -1,
                "parameters" : [ {
                  "key" : "moduleTo",
                  "value" : null
                } ]
              } ]
            }
          }
        },
        "type" : "object"
      },
      "PublisherDto" : {
        "example" : {
          "id" : "118dbd8c-5ba0-47a9-a850-34bbb1dbf3b7",
          "name" : "Good Media",
          "nameSuffix" : "Star"
        },
        "properties" : {
          "id" : {
            "$ref" : "#/components/schemas/uuid"
          },
          "name" : {
            "description" : "The name of this publisher",
            "type" : "string"
          },
          "nameSuffix" : {
            "description" : "The name suffix of this publisher",
            "type" : "string"
          },
          "qualifier" : {
            "description" : "The qualifier to distinguish among multiple publishers with the same name",
            "type" : "string"
          },
          "alternativeNames" : {
            "items" : {
              "$ref" : "#/components/schemas/PublisherAlternativeNameDto"
            },
            "type" : "array"
          },
          "legalForm" : {
            "$ref" : "#/components/schemas/LegalForm"
          },
          "companyNumber" : {
            "type" : "string"
          },
          "taxNumber" : {
            "type" : "string"
          },
          "birthDate" : {
            "format" : "date",
            "type" : "string"
          },
          "mainAddress" : {
            "$ref" : "#/components/schemas/PublisherAddressDto"
          },
          "mailingAddress" : {
            "$ref" : "#/components/schemas/PublisherAddressDto"
          },
          "contacts" : {
            "items" : {
              "$ref" : "#/components/schemas/PublisherContactDto"
            },
            "type" : "array"
          },
          "guarantors" : {
            "items" : {
              "$ref" : "#/components/schemas/PublisherGuarantorDto"
            },
            "type" : "array"
          },
          "comment" : {
            "type" : "string"
          },
          "internalComment" : {
            "type" : "string"
          },
          "rejectionReason" : {
            "description" : "Reason the registration request was rejected. Sent by the agency worker together with the REQUEST -> REJECTED status change; included in the rejection notification email. Optional — null for publishers that were never rejected.\n",
            "type" : "string"
          },
          "origin" : {
            "enum" : [ "AGENCY", "PUBLISHER" ],
            "type" : "string"
          },
          "status" : {
            "enum" : [ "REQUEST", "REJECTED", "ACTIVE", "CLOSING", "CLOSED" ],
            "type" : "string"
          },
          "createTime" : {
            "format" : "date-time",
            "type" : "string"
          },
          "registrant" : {
            "type" : "string"
          },
          "registrations" : {
            "description" : "Per-agency registrations of this publisher",
            "items" : {
              "$ref" : "#/components/schemas/PublisherRegistrationDto"
            },
            "type" : "array"
          },
          "activationTime" : {
            "format" : "date-time",
            "type" : "string"
          },
          "dataConfirmationTime" : {
            "format" : "date-time",
            "type" : "string"
          },
          "closeTime" : {
            "format" : "date-time",
            "type" : "string"
          },
          "originalId" : {
            "format" : "int64",
            "type" : "integer"
          },
          "workSpecification" : {
            "$ref" : "#/components/schemas/WorkSpecificationDto"
          },
          "idz" : {
            "description" : "Publisher authority identifier from the Czech National Library (e.g., nak0011936)",
            "type" : "string"
          },
          "mainAddressPublishConsent" : {
            "description" : "The publisher has given consent to publish the main address",
            "type" : "boolean"
          },
          "mailingAddressPublishConsent" : {
            "description" : "The publisher has given consent to publish the mailing address",
            "type" : "boolean"
          },
          "publisherType" : {
            "enum" : [ "COMMON", "SPECIAL" ],
            "type" : "string"
          },
          "owner" : {
            "description" : "Module that owns and can edit this publisher",
            "enum" : [ "PUBLISHERS", "LEGAL_DEPOSITS" ],
            "type" : "string"
          },
          "adminResolved" : {
            "description" : "Whether admin assignment has been reviewed after import",
            "type" : "boolean"
          },
          "version" : {
            "$ref" : "#/components/schemas/Version"
          },
          "metadata" : {
            "$ref" : "#/components/schemas/Metadata"
          },
          "withoutPrefixAssignment" : {
            "description" : "Transient flag set by the agency worker when approving a registration (\"schválit bez přidělení sady ISBN/ISMN\"). When true the agency module must not auto-assign a brand-new ISBN/ISMN publisher prefix — the publisher will receive a transferred prefix instead. Never persisted; only propagated in publisher change events.\n",
            "type" : "boolean"
          },
          "restoreAsContinuous" : {
            "description" : "Transient flag set by the agency worker when restoring a terminated publisher (\"obnovit jako soustavné vydávání\"). Effective only on a CLOSED/CLOSING -> ACTIVE restore where a ONE_OFF registration was terminated by the close: that ONE_OFF registration stays terminated, a new CONTINUOUS registration at the same agency is created (registration time = restore time) and the stored work specification is cleared. Ignored on any other update. Never persisted.\n",
            "type" : "boolean"
          }
        },
        "required" : [ "name" ],
        "title" : "Publisher",
        "type" : "object"
      },
      "uuid" : {
        "example" : "46669e09-8b45-4ede-afbd-ca73bb89cdb3",
        "pattern" : "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
        "type" : "string"
      },
      "PublisherUpdateRequestDto" : {
        "properties" : {
          "id" : {
            "format" : "uuid",
            "type" : "string"
          },
          "submitTime" : {
            "format" : "date-time",
            "type" : "string"
          },
          "userId" : {
            "$ref" : "#/components/schemas/uuid"
          },
          "status" : {
            "$ref" : "#/components/schemas/PublisherRequestStatus"
          },
          "result" : {
            "$ref" : "#/components/schemas/PublisherRequestResult"
          },
          "data" : {
            "type" : "object"
          },
          "publisher" : {
            "$ref" : "#/components/schemas/PublisherDto"
          }
        },
        "type" : "object"
      },
      "PublisherReportDataDto" : {
        "description" : "Publisher data for report generation in other ReČeK modules (výkazy). Addresses are included regardless of publish consent — not suitable for direct public exposure.",
        "properties" : {
          "companyNumber" : {
            "description" : "Company registration number (IČO)",
            "type" : "string"
          },
          "mainAddress" : {
            "$ref" : "#/components/schemas/PublisherAddressDto"
          },
          "mailingAddress" : {
            "$ref" : "#/components/schemas/PublisherAddressDto"
          },
          "contacts" : {
            "description" : "Contact information (phone, email, web, data box).\nTODO: Currently returns all contacts. Should be filtered by contact-level consent when implemented.\n",
            "items" : {
              "$ref" : "#/components/schemas/PublisherContactDto"
            },
            "type" : "array"
          }
        },
        "title" : "PublisherReportData",
        "type" : "object"
      },
      "CountByUserResultDto" : {
        "properties" : {
          "totalCount" : {
            "description" : "Total count of resolved requests",
            "type" : "integer"
          },
          "countsByUser" : {
            "description" : "Counts grouped by user",
            "items" : {
              "$ref" : "#/components/schemas/UserCountDto"
            },
            "type" : "array"
          }
        },
        "type" : "object"
      },
      "DuplicityCheckResponseDto" : {
        "properties" : {
          "isDuplicate" : {
            "description" : "Indicates if a publisher with the given company number already exists.",
            "type" : "boolean"
          }
        },
        "type" : "object"
      },
      "PublisherGuarantorDto" : {
        "properties" : {
          "id" : {
            "format" : "uuid",
            "readOnly" : true,
            "type" : "string"
          },
          "publisher" : {
            "$ref" : "#/components/schemas/PublisherDto"
          },
          "email" : {
            "format" : "email",
            "type" : "string"
          },
          "titlesBefore" : {
            "type" : "string"
          },
          "firstName" : {
            "type" : "string"
          },
          "lastName" : {
            "type" : "string"
          },
          "titlesAfter" : {
            "type" : "string"
          },
          "userId" : {
            "format" : "uuid",
            "readOnly" : true,
            "type" : "string"
          },
          "source" : {
            "enum" : [ "USERS" ],
            "type" : "string"
          },
          "sourceId" : {
            "type" : "string"
          },
          "contacts" : {
            "items" : {
              "$ref" : "#/components/schemas/PublisherContactDto"
            },
            "type" : "array"
          },
          "roles" : {
            "items" : {
              "type" : "string"
            },
            "type" : "array"
          },
          "agencies" : {
            "items" : {
              "$ref" : "#/components/schemas/RegistrationAgency"
            },
            "type" : "array"
          }
        },
        "type" : "object"
      },
      "MultiGuarantorResponseDto" : {
        "properties" : {
          "isMultiGuarantor" : {
            "description" : "Indicates if the user has multiple organizations or sources.",
            "type" : "boolean"
          }
        },
        "type" : "object"
      },
      "PublisherAddressDto" : {
        "properties" : {
          "id" : {
            "format" : "uuid",
            "readOnly" : true,
            "type" : "string"
          },
          "addressCode" : {
            "type" : "string"
          },
          "street" : {
            "type" : "string"
          },
          "postalCode" : {
            "type" : "string"
          },
          "municipality" : {
            "type" : "string"
          },
          "region" : {
            "$ref" : "#/components/schemas/RegionDto"
          }
        },
        "type" : "object"
      },
      "AresDataDto" : {
        "properties" : {
          "id" : {
            "format" : "uuid",
            "type" : "string"
          },
          "companyNumber" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "legalForm" : {
            "$ref" : "#/components/schemas/LegalForm"
          },
          "aresLegalFormCode" : {
            "description" : "Original 3-digit ARES legal form code (e.g. 601 = university)",
            "type" : "string"
          },
          "czNace" : {
            "description" : "Primary CZ-NACE economic activity code",
            "type" : "string"
          },
          "dataBoxes" : {
            "description" : "Data boxes (ISDS + organization name) returned for this company.",
            "items" : {
              "$ref" : "#/components/schemas/DataBoxInfoDto"
            },
            "type" : "array"
          },
          "taxNumber" : {
            "type" : "string"
          },
          "addressCode" : {
            "type" : "string"
          },
          "updateTime" : {
            "format" : "date-time",
            "type" : "string"
          }
        },
        "type" : "object"
      },
      "AresDataSynchronizeDto" : {
        "properties" : {
          "aresUpdateId" : {
            "$ref" : "#/components/schemas/uuid"
          }
        },
        "type" : "object"
      },
      "AresUpdateRequestDto" : {
        "properties" : {
          "id" : {
            "format" : "uuid",
            "type" : "string"
          },
          "publisher" : {
            "$ref" : "#/components/schemas/PublisherDto"
          },
          "createTime" : {
            "format" : "date-time",
            "type" : "string"
          },
          "status" : {
            "$ref" : "#/components/schemas/AresRequestStatus"
          },
          "data" : {
            "$ref" : "#/components/schemas/AresDataDto"
          }
        },
        "type" : "object"
      },
      "OwnCloudImportRequest" : {
        "properties" : {
          "fileName" : {
            "description" : "Name of the file to import from OwnCloud",
            "type" : "string"
          }
        },
        "type" : "object"
      },
      "RegionsSyncResultDto" : {
        "properties" : {
          "regionsCount" : {
            "description" : "Number of regions synced",
            "type" : "integer"
          }
        },
        "type" : "object"
      },
      "PublishersSyncResultDto" : {
        "description" : "Result of publishers synchronization to legal deposits",
        "properties" : {
          "publishersCount" : {
            "description" : "Number of publishers synchronized",
            "example" : 150,
            "format" : "int32",
            "type" : "integer"
          }
        },
        "type" : "object"
      },
      "InboxEventDto" : {
        "properties" : {
          "id" : {
            "$ref" : "#/components/schemas/uuid"
          },
          "type" : {
            "type" : "string"
          },
          "source" : {
            "type" : "string"
          },
          "payload" : {
            "type" : "string"
          },
          "userId" : {
            "$ref" : "#/components/schemas/uuid"
          }
        },
        "title" : "InboxEvent",
        "type" : "object"
      },
      "LegalDepositsPublisherRequest" : {
        "description" : "Request for creating or updating a publisher from Legal Deposits module",
        "properties" : {
          "name" : {
            "description" : "The name of the publisher",
            "type" : "string"
          },
          "nameSuffix" : {
            "description" : "The name suffix of the publisher (e.g., s.r.o., a.s.)",
            "type" : "string"
          },
          "legalForm" : {
            "$ref" : "#/components/schemas/LegalForm"
          },
          "companyNumber" : {
            "description" : "Company registration number (IČO)",
            "type" : "string"
          },
          "taxNumber" : {
            "description" : "Tax identification number (DIČ)",
            "type" : "string"
          },
          "birthDate" : {
            "description" : "Birth date for natural persons",
            "format" : "date",
            "type" : "string"
          },
          "mainAddress" : {
            "$ref" : "#/components/schemas/LegalDepositsPublisherAddressRequest"
          },
          "mailingAddress" : {
            "$ref" : "#/components/schemas/LegalDepositsPublisherAddressRequest"
          },
          "contacts" : {
            "items" : {
              "$ref" : "#/components/schemas/LegalDepositsPublisherContactRequest"
            },
            "type" : "array"
          },
          "comment" : {
            "description" : "Public comment",
            "type" : "string"
          },
          "internalComment" : {
            "description" : "Internal comment (not visible to publisher)",
            "type" : "string"
          }
        },
        "required" : [ "name" ],
        "title" : "LegalDepositsPublisherRequest",
        "type" : "object"
      },
      "PublisherSearchDto" : {
        "description" : "Publisher object with properties for search",
        "properties" : {
          "id" : {
            "$ref" : "#/components/schemas/uuid"
          },
          "name" : {
            "description" : "The name of this publisher",
            "type" : "string"
          },
          "nameSuffix" : {
            "description" : "The name suffix of this publisher",
            "type" : "string"
          },
          "qualifier" : {
            "description" : "The qualifier to distinguish among multiple publishers with the same name",
            "type" : "string"
          },
          "companyNumber" : {
            "type" : "string"
          },
          "birthDate" : {
            "format" : "date",
            "type" : "string"
          },
          "status" : {
            "enum" : [ "REQUEST", "REJECTED", "ACTIVE", "CLOSING", "CLOSED" ],
            "type" : "string"
          },
          "registrations" : {
            "description" : "Per-agency registrations of this publisher",
            "items" : {
              "$ref" : "#/components/schemas/PublisherRegistrationDto"
            },
            "type" : "array"
          },
          "createTime" : {
            "format" : "date-time",
            "type" : "string"
          }
        },
        "title" : "PublisherSearch",
        "type" : "object"
      },
      "PublisherRegistrationDto" : {
        "description" : "A publisher's registration at a single registration agency",
        "properties" : {
          "id" : {
            "$ref" : "#/components/schemas/uuid"
          },
          "registrationAgency" : {
            "$ref" : "#/components/schemas/RegistrationAgency"
          },
          "registrationIntent" : {
            "enum" : [ "ONE_OFF", "CONTINUOUS" ],
            "type" : "string"
          },
          "registrationTime" : {
            "description" : "When the registration became effective (null while only requested)",
            "format" : "date-time",
            "type" : "string"
          },
          "terminationTime" : {
            "description" : "When the registration was terminated (null while active)",
            "format" : "date-time",
            "type" : "string"
          },
          "withoutPrefixAssignment" : {
            "description" : "Transient flag (\"bez přidělení sady ISBN/ISMN\") — when true the agency module must not auto-assign a new publisher prefix for this registration. Never persisted; only propagated in publisher change events.\n",
            "type" : "boolean"
          }
        },
        "required" : [ "registrationAgency", "registrationIntent" ],
        "title" : "PublisherRegistration",
        "type" : "object"
      },
      "InternalComment" : {
        "properties" : {
          "internalComment" : {
            "type" : "string"
          }
        },
        "type" : "object"
      },
      "PublisherRequestResult" : {
        "enum" : [ "APPROVED", "REJECTED" ],
        "type" : "string"
      },
      "PublisherDuplicitiesDto" : {
        "properties" : {
          "id" : {
            "$ref" : "#/components/schemas/uuid"
          },
          "companyNumberOrTaxNumberOrBirthDate" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "nameSuffix" : {
            "type" : "string"
          },
          "qualifier" : {
            "type" : "string"
          },
          "phone" : {
            "type" : "string"
          },
          "email" : {
            "type" : "string"
          },
          "municipality" : {
            "type" : "string"
          },
          "street" : {
            "type" : "string"
          },
          "duplicateVariables" : {
            "items" : {
              "type" : "string"
            },
            "type" : "array"
          }
        },
        "title" : "PublisherDuplicities",
        "type" : "object"
      },
      "PublisherAddressSuggestionDto" : {
        "properties" : {
          "addressCode" : {
            "description" : "The address code of the suggestion",
            "type" : "string"
          },
          "address" : {
            "description" : "The address suggestion",
            "type" : "string"
          }
        },
        "type" : "object"
      },
      "RegionDto" : {
        "properties" : {
          "id" : {
            "format" : "uuid",
            "readOnly" : true,
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "code" : {
            "type" : "integer"
          }
        },
        "type" : "object"
      },
      "EnvironmentVariableDto" : {
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "value" : {
            "type" : "string"
          }
        },
        "type" : "object"
      },
      "OwnCloudFileDto" : {
        "description" : "Represents a file from OwnCloud WebDAV storage",
        "properties" : {
          "name" : {
            "description" : "Name of the file",
            "type" : "string"
          },
          "path" : {
            "description" : "Full path to the file in OwnCloud",
            "type" : "string"
          },
          "size" : {
            "description" : "Size of the file in bytes",
            "format" : "int64",
            "type" : "integer"
          },
          "lastModified" : {
            "description" : "Last modification timestamp",
            "format" : "date-time",
            "type" : "string"
          },
          "contentType" : {
            "description" : "MIME type of the file",
            "type" : "string"
          }
        },
        "required" : [ "name", "path" ],
        "title" : "OwnCloud File",
        "type" : "object"
      },
      "PublisherAlternativeNameDto" : {
        "properties" : {
          "id" : {
            "$ref" : "#/components/schemas/uuid"
          },
          "name" : {
            "description" : "The name of publisher",
            "type" : "string"
          },
          "nameSuffix" : {
            "description" : "The name suffix of publisher",
            "type" : "string"
          },
          "qualifier" : {
            "description" : "The qualifier to distinguish among multiple publishers with the same name",
            "type" : "string"
          },
          "type" : {
            "enum" : [ "PREVIOUS", "IMPRINT", "ABBREVIATION", "ORGANIZATION_UNIT", "FOREIGN_LANGUAGE" ],
            "type" : "string"
          },
          "nonPublic" : {
            "type" : "boolean"
          },
          "metadata" : {
            "$ref" : "#/components/schemas/Metadata"
          }
        },
        "title" : "PublisherAlternativeName",
        "type" : "object"
      },
      "LegalForm" : {
        "enum" : [ "LEGAL", "NATURAL", "UNKNOWN" ],
        "type" : "string"
      },
      "PublisherContactDto" : {
        "properties" : {
          "id" : {
            "format" : "uuid",
            "readOnly" : true,
            "type" : "string"
          },
          "type" : {
            "description" : "The type of contact information.",
            "enum" : [ "PHONE", "EMAIL", "WEB", "DATA_BOX" ],
            "type" : "string"
          },
          "value" : {
            "description" : "The contact information value.",
            "type" : "string"
          },
          "info" : {
            "description" : "Additional information about the contact information.",
            "type" : "string"
          }
        },
        "type" : "object"
      },
      "WorkSpecificationDto" : {
        "description" : "Work specification data for publisher publications",
        "properties" : {
          "publisherId" : {
            "description" : "Publisher ID",
            "format" : "uuid",
            "type" : "string"
          },
          "title" : {
            "description" : "Title",
            "type" : "string"
          },
          "subtitle" : {
            "description" : "Subtitle",
            "type" : "string"
          },
          "volumeNumber" : {
            "description" : "Volume/part number",
            "type" : "string"
          },
          "partTitle" : {
            "description" : "Part title",
            "type" : "string"
          },
          "authors" : {
            "description" : "Authors",
            "items" : {
              "$ref" : "#/components/schemas/WorkSpecificationAuthorDto"
            },
            "type" : "array"
          },
          "publicationDate" : {
            "description" : "Publication date in partial date format (YYYY, MM.YYYY, or DD.MM.YYYY)",
            "type" : "string"
          },
          "editionNumber" : {
            "description" : "Edition number",
            "type" : "string"
          },
          "publicationPlace" : {
            "description" : "Publication place (city)",
            "type" : "string"
          },
          "coEditionWith" : {
            "description" : "Published in co-edition with",
            "type" : "string"
          },
          "publicationForm" : {
            "description" : "Publication form (PRINT, EBOOK, DATA_CARRIER or AUDIOBOOK) - one form with one refining format",
            "enum" : [ "PRINT", "EBOOK", "DATA_CARRIER", "AUDIOBOOK" ],
            "type" : "string"
          },
          "publicationType" : {
            "$ref" : "#/components/schemas/WorkSpecificationPublicationTypeDto"
          },
          "eBookFormats" : {
            "description" : "E-book formats",
            "items" : {
              "$ref" : "#/components/schemas/WorkSpecificationEBookFormatDto"
            },
            "type" : "array"
          },
          "otherFormats" : {
            "description" : "Other formats",
            "items" : {
              "$ref" : "#/components/schemas/WorkSpecificationOtherFormatDto"
            },
            "type" : "array"
          },
          "dataCarrierVersions" : {
            "description" : "Data carrier versions",
            "items" : {
              "$ref" : "#/components/schemas/WorkSpecificationDataCarrierVersionDto"
            },
            "type" : "array"
          },
          "audioBookFormats" : {
            "description" : "Audio book formats",
            "items" : {
              "$ref" : "#/components/schemas/WorkSpecificationAudioBookDto"
            },
            "type" : "array"
          }
        },
        "title" : "WorkSpecification",
        "type" : "object"
      },
      "Version" : {
        "description" : "Optimistic locking version for the entity",
        "example" : 1,
        "format" : "int32",
        "readOnly" : true,
        "type" : "integer"
      },
      "Metadata" : {
        "description" : "Metadata about creation and changes to records",
        "properties" : {
          "createdDate" : {
            "description" : "Date and time when the record was created",
            "format" : "date-time",
            "type" : "string"
          },
          "createdByUserId" : {
            "$ref" : "#/components/schemas/uuid"
          },
          "updatedDate" : {
            "description" : "Date and time when the record was last updated",
            "format" : "date-time",
            "type" : "string"
          },
          "updatedByUserId" : {
            "$ref" : "#/components/schemas/uuid"
          }
        },
        "required" : [ "createdDate" ],
        "title" : "Metadata",
        "type" : "object"
      },
      "PublisherRequestStatus" : {
        "enum" : [ "SUBMITTED", "RESOLVED" ],
        "type" : "string"
      },
      "UserCountDto" : {
        "properties" : {
          "userId" : {
            "description" : "UUID of the user who resolved the requests",
            "type" : "string"
          },
          "count" : {
            "description" : "Number of resolved requests",
            "type" : "integer"
          }
        },
        "type" : "object"
      },
      "RegistrationAgency" : {
        "enum" : [ "ISBN", "ISMN" ],
        "type" : "string"
      },
      "DataBoxInfoDto" : {
        "properties" : {
          "isds" : {
            "description" : "ISDS identifier of the data box.",
            "type" : "string"
          },
          "name" : {
            "description" : "Organization or branch name (NazevOsoby) attached to the ISDS.",
            "type" : "string"
          }
        },
        "required" : [ "isds" ],
        "type" : "object"
      },
      "AresRequestStatus" : {
        "enum" : [ "CREATED", "RESOLVED" ],
        "type" : "string"
      },
      "LegalDepositsPublisherAddressRequest" : {
        "description" : "Address request for Legal Deposits publisher",
        "properties" : {
          "addressCode" : {
            "description" : "RUIAN address code",
            "type" : "string"
          },
          "street" : {
            "description" : "Street name and number",
            "type" : "string"
          },
          "postalCode" : {
            "description" : "Postal code",
            "type" : "string"
          },
          "municipality" : {
            "description" : "City or municipality name",
            "type" : "string"
          },
          "regionId" : {
            "description" : "UUID of the region",
            "format" : "uuid",
            "type" : "string"
          }
        },
        "title" : "LegalDepositsPublisherAddressRequest",
        "type" : "object"
      },
      "LegalDepositsPublisherContactRequest" : {
        "description" : "Contact request for Legal Deposits publisher (without isPrimary - that exists only in mod-br-legaldeposits)",
        "properties" : {
          "type" : {
            "description" : "The type of contact information",
            "enum" : [ "PHONE", "EMAIL", "WEB", "DATA_BOX" ],
            "type" : "string"
          },
          "value" : {
            "description" : "The contact information value (phone number, email, URL, data box ID)",
            "type" : "string"
          },
          "info" : {
            "description" : "Additional information about the contact",
            "type" : "string"
          }
        },
        "required" : [ "type", "value" ],
        "title" : "LegalDepositsPublisherContactRequest",
        "type" : "object"
      },
      "WorkSpecificationAuthorDto" : {
        "description" : "Author information",
        "properties" : {
          "firstName" : {
            "description" : "First name",
            "type" : "string"
          },
          "lastName" : {
            "description" : "Last name",
            "type" : "string"
          }
        },
        "title" : "WorkSpecificationAuthor",
        "type" : "object"
      },
      "WorkSpecificationPublicationTypeDto" : {
        "description" : "Publication type settings",
        "properties" : {
          "printedPublications" : {
            "description" : "Printed publication formats",
            "items" : {
              "$ref" : "#/components/schemas/WorkSpecificationPrintedPublicationDto"
            },
            "type" : "array"
          }
        },
        "title" : "WorkSpecificationPublicationType",
        "type" : "object"
      },
      "WorkSpecificationEBookFormatDto" : {
        "description" : "E-book/e-hudebnina format",
        "enum" : [ "PDF", "EPUB", "MOBI" ],
        "title" : "WorkSpecificationEBookFormat",
        "type" : "string"
      },
      "WorkSpecificationOtherFormatDto" : {
        "description" : "Other publication format",
        "properties" : {
          "format" : {
            "description" : "Format name",
            "type" : "string"
          }
        },
        "title" : "WorkSpecificationOtherFormat",
        "type" : "object"
      },
      "WorkSpecificationDataCarrierVersionDto" : {
        "description" : "Data carrier version",
        "enum" : [ "CD_ROM", "DVD_ROM" ],
        "title" : "WorkSpecificationDataCarrierVersion",
        "type" : "string"
      },
      "WorkSpecificationAudioBookDto" : {
        "description" : "Audio book format",
        "enum" : [ "ON_CARRIER", "WITHOUT_CARRIER" ],
        "title" : "WorkSpecificationAudioBook",
        "type" : "string"
      },
      "WorkSpecificationPrintedPublicationDto" : {
        "description" : "Printed publication format",
        "enum" : [ "SOFTCOVER", "HARDCOVER" ],
        "title" : "WorkSpecificationPrintedPublication",
        "type" : "string"
      },
      "putPublisherById_200_response" : {
        "properties" : {
          "request" : {
            "$ref" : "#/components/schemas/PublisherUpdateRequestDto"
          }
        },
        "type" : "object"
      },
      "handleFileUpload_request" : {
        "properties" : {
          "file" : {
            "description" : "The file to upload",
            "format" : "binary",
            "type" : "string"
          }
        },
        "type" : "object"
      }
    }
  }
}