Files
biggus-dickus/web/src/api/schema.d.ts
T
2026-06-08 13:41:17 +02:00

1950 lines
55 KiB
TypeScript

/**
* This file was auto-generated by openapi-typescript.
* Do not make direct changes to the file.
*/
export interface paths {
"/api/admin/authorities": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get: operations["list_authorities"];
put?: never;
post: operations["create_authority"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/admin/authorities/{id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
post?: never;
delete: operations["delete_authority"];
options?: never;
head?: never;
patch: operations["update_authority"];
trace?: never;
};
"/api/admin/field-definitions": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** List all field definitions. Requires `ViewInternal`. */
get: operations["list_field_definitions"];
put?: never;
/**
* Create a field definition. Requires `EditCatalogue`. All type/binding consistency
* (term needs a vocabulary, authority takes no vocabulary, scalars take no binding) is
* validated by `FieldType::from_parts`, which returns `None` for any bad combination.
*/
post: operations["create_field_definition"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/admin/field-definitions/{key}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
post?: never;
/**
* Delete a field definition. Blocked (409) when catalogue objects store a value under
* this key. Requires `EditCatalogue`.
*/
delete: operations["delete_field_definition"];
options?: never;
head?: never;
/**
* Update a field definition's mutable attributes (labels, group, required).
* `key`, `data_type`, and binding are immutable. Requires `EditCatalogue`.
*/
patch: operations["update_field_definition"];
trace?: never;
};
"/api/admin/login": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/**
* Log in with email + password. On success establishes a session (Set-Cookie) and
* returns 204; on failure 401 with no detail (no user enumeration).
*/
post: operations["login"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/admin/logout": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/** Log out: clear the session. */
post: operations["logout"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/admin/me": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** The current authenticated user. */
get: operations["me"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/admin/objects": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** List objects (paginated, all visibility levels). Requires `ViewInternal`. */
get: operations["list_objects"];
put?: never;
/** Create an object (initial visibility Draft or Internal). Requires `EditCatalogue`. */
post: operations["create_object"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/admin/objects/{id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get one object (any visibility). Requires `ViewInternal`. 404 if missing. */
get: operations["get_object"];
/** Update an object's inventory-minimum fields (NOT visibility). Requires `EditCatalogue`. */
put: operations["update_object"];
post?: never;
/** Delete an object. Requires `EditCatalogue`. 404 if it did not exist. */
delete: operations["delete_object"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/admin/objects/{id}/fields": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
/**
* Replace an object's flexible-field values (validated against the registry).
* @description **Replace semantics:** the body is the *complete* desired field set. Omitting a key
* that was previously set removes it — send every key the caller wants to retain.
*
* Requires `EditCatalogue`.
*/
put: operations["set_fields"];
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/admin/objects/{id}/visibility": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/** Change an object's visibility (publish/unpublish). Requires `PublishObjects`. */
post: operations["set_visibility"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/admin/search": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get: operations["search_objects"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/admin/users": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** List all users (Admin only). */
get: operations["list_users"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/admin/vocabularies": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get: operations["list_vocabularies"];
put?: never;
post: operations["create_vocabulary"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/admin/vocabularies/{id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
post?: never;
delete: operations["delete_vocabulary"];
options?: never;
head?: never;
patch: operations["rename_vocabulary"];
trace?: never;
};
"/api/admin/vocabularies/{id}/terms": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get: operations["list_terms"];
put?: never;
post: operations["add_term"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/admin/vocabularies/{id}/terms/{term_id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
post?: never;
delete: operations["delete_term"];
options?: never;
head?: never;
patch: operations["update_term"];
trace?: never;
};
"/api/config": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get: operations["get_config"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/public/objects": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** List public objects (paginated). */
get: operations["list_objects"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/public/objects/{id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get one public object by id. Returns 404 if missing OR not public. */
get: operations["get_object"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/health/live": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Liveness probe — no dependencies checked. */
get: operations["live"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/health/ready": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Readiness probe — confirms the database answers. */
get: operations["ready"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
}
export type webhooks = Record<string, never>;
export interface components {
schemas: {
/** @description A page of admin objects. */
AdminObjectPage: {
items: components["schemas"]["AdminObjectView"][];
/** Format: int64 */
limit: number;
/** Format: int64 */
offset: number;
/** Format: int64 */
total: number;
};
/** @description Full admin view of a catalogue object (all fields, all visibility levels). */
AdminObjectView: {
brief_description?: string | null;
/** @description RFC3339 UTC timestamp. */
created_at: string;
current_location?: string | null;
current_owner?: string | null;
/** @description Flexible field values (key -> value). */
fields: {
[key: string]: unknown;
};
id: string;
/** Format: int32 */
number_of_objects: number;
object_name: string;
object_number: string;
recorder?: string | null;
/** @description `YYYY-MM-DD` or null. */
recording_date?: string | null;
/** @description RFC3339 UTC timestamp. */
updated_at: string;
/** @description "draft" | "internal" | "public". */
visibility: components["schemas"]["Visibility"];
};
/**
* @description The kind of authority record.
*
* NOTE: kept in sync by hand with the
* `CHECK (kind IN ('person', 'organisation', 'place'))` constraint in
* `crates/db/migrations/0002_vocabularies_authorities.sql` — add a variant in both places.
* @enum {string}
*/
AuthorityKind: "person" | "organisation" | "place";
AuthorityView: {
external_uri?: string | null;
id: string;
kind: components["schemas"]["AuthorityKind"];
labels: components["schemas"]["LabelView"][];
};
/** @description Public, non-sensitive instance configuration the SPA needs before login. */
ConfigView: {
/** @description User-facing product name. */
app_name: string;
/** @description Default UI/content language (i18n key, e.g. "sv"). */
default_language: string;
/** @description Default display timezone (IANA name). Storage is UTC; this is a display hint. */
default_timezone: string;
};
CreatedField: {
key: string;
};
CreatedId: {
id: string;
};
/** @description The id of a newly created object. */
CreatedObject: {
id: string;
};
/**
* @description The stored `data_type` discriminant of a field definition — mirrors the strings from
* [`FieldType::kind_str`]. Exists so the OpenAPI schema can describe `data_type` as a
* closed string enum (consumed by the typed web client). Keep in sync with `kind_str`.
* @enum {string}
*/
DataType: "text" | "localized_text" | "integer" | "date" | "boolean" | "term" | "authority";
/** @description Field-definition descriptor for the UI to render forms. */
FieldDefinitionView: {
authority_kind?: null | components["schemas"]["AuthorityKind"];
/** @description "text" | "localized_text" | "integer" | "date" | "boolean" | "term" | "authority". */
data_type: components["schemas"]["DataType"];
group?: string | null;
key: string;
labels: components["schemas"]["LabelView"][];
required: boolean;
vocabulary_id?: string | null;
};
/** @description Field-level rejection detail for `set_fields`, so the UI can highlight the field. */
FieldErrorView: {
/** @description Machine code: "unknown" | "type_mismatch" | "unresolved". */
code: string;
/** @description The flexible-field key that was rejected. */
field: string;
};
/** @description 409 body: how many catalogue objects still reference the entity. */
InUseView: {
/** Format: int64 */
count: number;
};
LabelInput: {
label: string;
lang: string;
};
/** @description A localized label `{ lang, label }` (shared across admin views). */
LabelView: {
label: string;
lang: string;
};
/** @description Liveness payload: the process is running. */
Live: {
/** @description Always `"ok"` when the process serves requests. */
status: string;
};
/** @description Credentials for password login. */
LoginRequest: {
email: string;
password: string;
};
NewAuthorityRequest: {
external_uri?: string | null;
/** @description "person" | "organisation" | "place". */
kind: string;
labels: components["schemas"]["LabelInput"][];
};
NewFieldDefinitionRequest: {
authority_kind?: string | null;
/** @description text | localized_text | integer | date | boolean | term | authority */
data_type: string;
group?: string | null;
key: string;
labels: components["schemas"]["LabelInput"][];
required: boolean;
vocabulary_id?: string | null;
};
NewTermRequest: {
external_uri?: string | null;
labels: components["schemas"]["LabelInput"][];
};
NewVocabularyRequest: {
key: string;
};
/** @description Inventory-minimum fields for create. `recording_date` is `YYYY-MM-DD`. */
ObjectCreateRequest: {
brief_description?: string | null;
current_location?: string | null;
current_owner?: string | null;
/** Format: int32 */
number_of_objects: number;
object_name: string;
object_number: string;
recorder?: string | null;
recording_date?: string | null;
/** @description "draft" | "internal" (public is rejected — publish via the visibility endpoint). */
visibility: components["schemas"]["Visibility"];
};
/**
* @description Inventory-minimum fields for update. Visibility is intentionally absent — it changes
* only through the stepwise publish endpoint.
*/
ObjectUpdateRequest: {
brief_description?: string | null;
current_location?: string | null;
current_owner?: string | null;
/** Format: int32 */
number_of_objects: number;
object_name: string;
object_number: string;
recorder?: string | null;
recording_date?: string | null;
};
/** @description A page of public objects. */
PublicObjectPage: {
items: components["schemas"]["PublicView"][];
/** Format: int64 */
limit: number;
/** Format: int64 */
offset: number;
/**
* Format: int64
* @description Total number of public objects (independent of paging).
*/
total: number;
};
/** @description A catalogue object as exposed on the public surface (public-safe fields only). */
PublicView: {
brief_description?: string | null;
/** @description Stable object id (UUID). */
id: string;
object_name: string;
object_number: string;
};
/** @description Readiness payload: dependencies were checked. */
Ready: {
/** @description Whether the database responded to a ping. */
database: boolean;
/** @description `"ok"` when ready, `"degraded"` otherwise. */
status: string;
};
RenameVocabularyRequest: {
key: string;
};
SearchHitView: {
brief_description?: string | null;
id: string;
object_name: string;
object_number: string;
recording_date?: string | null;
snippet?: string | null;
visibility: components["schemas"]["Visibility"];
};
SearchResultsView: {
/** @description Meilisearch's estimate of the total number of matches. */
estimated_total: number;
hits: components["schemas"]["SearchHitView"][];
};
TermView: {
external_uri?: string | null;
id: string;
labels: components["schemas"]["LabelView"][];
};
UpdateAuthorityRequest: {
external_uri?: string | null;
labels: components["schemas"]["LabelInput"][];
};
/**
* @description Fields that may be changed on an existing field definition. `key`, `data_type`, and
* binding are immutable and intentionally absent from this request.
*/
UpdateFieldDefinitionRequest: {
group?: string | null;
labels: components["schemas"]["LabelInput"][];
required: boolean;
};
UpdateTermRequest: {
external_uri?: string | null;
labels: components["schemas"]["LabelInput"][];
};
/** @description A user as exposed on the admin surface (no password material). */
UserView: {
email: string;
id: string;
role: string;
};
/**
* @description Publication state of a catalogue record.
* @enum {string}
*/
Visibility: "draft" | "internal" | "public";
/** @description Desired visibility for a publish/unpublish request. */
VisibilityRequest: {
visibility: components["schemas"]["Visibility"];
};
VocabularyView: {
id: string;
key: string;
};
};
responses: never;
parameters: never;
requestBodies: never;
headers: never;
pathItems: never;
}
export type $defs = Record<string, never>;
export interface operations {
list_authorities: {
parameters: {
query: {
/** @description person | organisation | place */
kind: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["AuthorityView"][];
};
};
401: {
headers: {
[name: string]: unknown;
};
content?: never;
};
403: {
headers: {
[name: string]: unknown;
};
content?: never;
};
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
create_authority: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["NewAuthorityRequest"];
};
};
responses: {
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["CreatedId"];
};
};
401: {
headers: {
[name: string]: unknown;
};
content?: never;
};
403: {
headers: {
[name: string]: unknown;
};
content?: never;
};
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
delete_authority: {
parameters: {
query?: never;
header?: never;
path: {
/** @description Authority id (UUID) */
id: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
401: {
headers: {
[name: string]: unknown;
};
content?: never;
};
403: {
headers: {
[name: string]: unknown;
};
content?: never;
};
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Referenced by catalogue objects */
409: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["InUseView"];
};
};
};
};
update_authority: {
parameters: {
query?: never;
header?: never;
path: {
/** @description Authority id (UUID) */
id: string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["UpdateAuthorityRequest"];
};
};
responses: {
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
401: {
headers: {
[name: string]: unknown;
};
content?: never;
};
403: {
headers: {
[name: string]: unknown;
};
content?: never;
};
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
list_field_definitions: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["FieldDefinitionView"][];
};
};
401: {
headers: {
[name: string]: unknown;
};
content?: never;
};
403: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
create_field_definition: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["NewFieldDefinitionRequest"];
};
};
responses: {
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["CreatedField"];
};
};
/** @description Malformed vocabulary_id or authority_kind */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
401: {
headers: {
[name: string]: unknown;
};
content?: never;
};
403: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Duplicate key */
409: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Inconsistent type/binding */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
delete_field_definition: {
parameters: {
query?: never;
header?: never;
path: {
/** @description Field definition key */
key: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
401: {
headers: {
[name: string]: unknown;
};
content?: never;
};
403: {
headers: {
[name: string]: unknown;
};
content?: never;
};
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Field is used by catalogue objects */
409: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["InUseView"];
};
};
};
};
update_field_definition: {
parameters: {
query?: never;
header?: never;
path: {
/** @description Field definition key */
key: string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["UpdateFieldDefinitionRequest"];
};
};
responses: {
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
401: {
headers: {
[name: string]: unknown;
};
content?: never;
};
403: {
headers: {
[name: string]: unknown;
};
content?: never;
};
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description CHECK constraint violated (e.g. empty label) */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
login: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["LoginRequest"];
};
};
responses: {
/** @description Logged in */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Invalid credentials */
401: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
logout: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Logged out */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
me: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["UserView"];
};
};
401: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
list_objects: {
parameters: {
query?: {
/** @description 1..=200, default 50 */
limit?: number;
/** @description default 0 */
offset?: number;
/** @description object_number | object_name | updated_at | created_at | visibility (default object_number) */
sort?: string;
/** @description asc | desc (default asc) */
order?: string;
/** @description draft | internal | public — filter; unknown values ignored */
visibility?: string;
/** @description quick filter: ILIKE match on object_number or object_name */
q?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["AdminObjectPage"];
};
};
401: {
headers: {
[name: string]: unknown;
};
content?: never;
};
403: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
create_object: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["ObjectCreateRequest"];
};
};
responses: {
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["CreatedObject"];
};
};
401: {
headers: {
[name: string]: unknown;
};
content?: never;
};
403: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Invalid input (e.g. visibility=public or bad date) */
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
get_object: {
parameters: {
query?: never;
header?: never;
path: {
/** @description Object id (UUID) */
id: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["AdminObjectView"];
};
};
401: {
headers: {
[name: string]: unknown;
};
content?: never;
};
403: {
headers: {
[name: string]: unknown;
};
content?: never;
};
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
update_object: {
parameters: {
query?: never;
header?: never;
path: {
/** @description Object id (UUID) */
id: string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["ObjectUpdateRequest"];
};
};
responses: {
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
401: {
headers: {
[name: string]: unknown;
};
content?: never;
};
403: {
headers: {
[name: string]: unknown;
};
content?: never;
};
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
422: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
delete_object: {
parameters: {
query?: never;
header?: never;
path: {
/** @description Object id (UUID) */
id: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
401: {
headers: {
[name: string]: unknown;
};
content?: never;
};
403: {
headers: {
[name: string]: unknown;
};
content?: never;
};
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
set_fields: {
parameters: {
query?: never;
header?: never;
path: {
/** @description Object id (UUID) */
id: string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": Record<string, never>;
};
};
responses: {
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
401: {
headers: {
[name: string]: unknown;
};
content?: never;
};
403: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Object not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description A field was rejected */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["FieldErrorView"];
};
};
};
};
set_visibility: {
parameters: {
query?: never;
header?: never;
path: {
/** @description Object id (UUID) */
id: string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["VisibilityRequest"];
};
};
responses: {
/** @description Visibility changed */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
401: {
headers: {
[name: string]: unknown;
};
content?: never;
};
403: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description No such object */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Illegal visibility transition */
409: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
search_objects: {
parameters: {
query: {
/** @description Search query text */
q: string;
/** @description Filter: draft|internal|public */
visibility?: string;
/** @description default 0 */
offset?: number;
/** @description 1..=50, default 20 */
limit?: number;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["SearchResultsView"];
};
};
/** @description Invalid visibility value */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
401: {
headers: {
[name: string]: unknown;
};
content?: never;
};
403: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Search is not configured */
503: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
list_users: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["UserView"][];
};
};
401: {
headers: {
[name: string]: unknown;
};
content?: never;
};
403: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
list_vocabularies: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["VocabularyView"][];
};
};
401: {
headers: {
[name: string]: unknown;
};
content?: never;
};
403: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
create_vocabulary: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["NewVocabularyRequest"];
};
};
responses: {
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["VocabularyView"];
};
};
401: {
headers: {
[name: string]: unknown;
};
content?: never;
};
403: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
delete_vocabulary: {
parameters: {
query?: never;
header?: never;
path: {
/** @description Vocabulary id (UUID) */
id: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
401: {
headers: {
[name: string]: unknown;
};
content?: never;
};
403: {
headers: {
[name: string]: unknown;
};
content?: never;
};
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Has terms or is bound by a field */
409: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["InUseView"];
};
};
};
};
rename_vocabulary: {
parameters: {
query?: never;
header?: never;
path: {
/** @description Vocabulary id (UUID) */
id: string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["RenameVocabularyRequest"];
};
};
responses: {
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
401: {
headers: {
[name: string]: unknown;
};
content?: never;
};
403: {
headers: {
[name: string]: unknown;
};
content?: never;
};
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Key already in use */
409: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
list_terms: {
parameters: {
query?: never;
header?: never;
path: {
/** @description Vocabulary id (UUID) */
id: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["TermView"][];
};
};
401: {
headers: {
[name: string]: unknown;
};
content?: never;
};
403: {
headers: {
[name: string]: unknown;
};
content?: never;
};
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
add_term: {
parameters: {
query?: never;
header?: never;
path: {
/** @description Vocabulary id (UUID) */
id: string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["NewTermRequest"];
};
};
responses: {
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["CreatedId"];
};
};
401: {
headers: {
[name: string]: unknown;
};
content?: never;
};
403: {
headers: {
[name: string]: unknown;
};
content?: never;
};
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
delete_term: {
parameters: {
query?: never;
header?: never;
path: {
/** @description Vocabulary id (UUID) */
id: string;
/** @description Term id (UUID) */
term_id: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
401: {
headers: {
[name: string]: unknown;
};
content?: never;
};
403: {
headers: {
[name: string]: unknown;
};
content?: never;
};
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Referenced by catalogue objects */
409: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["InUseView"];
};
};
};
};
update_term: {
parameters: {
query?: never;
header?: never;
path: {
/** @description Vocabulary id (UUID) */
id: string;
/** @description Term id (UUID) */
term_id: string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["UpdateTermRequest"];
};
};
responses: {
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
401: {
headers: {
[name: string]: unknown;
};
content?: never;
};
403: {
headers: {
[name: string]: unknown;
};
content?: never;
};
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
get_config: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ConfigView"];
};
};
};
};
list_objects: {
parameters: {
query?: {
/** @description Max items (1..=200, default 50) */
limit?: number;
/** @description Items to skip (default 0) */
offset?: number;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["PublicObjectPage"];
};
};
};
};
get_object: {
parameters: {
query?: never;
header?: never;
path: {
/** @description Object id (UUID) */
id: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["PublicView"];
};
};
/** @description No public object with that id */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
live: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Live"];
};
};
};
};
ready: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Ready */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Ready"];
};
};
/** @description A dependency is unavailable */
503: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Ready"];
};
};
};
};
}