components: responses: UnauthorizedError: description: Access token is missing or invalid schemas: annotations: properties: metadata: properties: annotations: example: '1': category: place h: 0.18 text: First example of annotation w: 0.2 x: 0.7 y: 0.6 '2': category: place h: 0.1 text: Second example of annotation w: 0.15 x: 0.1 y: 0.8 '3': category: people h: 0.1 text: Third example of annotation w: 0.1 x: 0.7 y: 0.4 type: object type: object type: object collection: properties: root: properties: _updated: items: type: number type: array _version_: type: number bib_ir: items: type: string type: array bib_roles_pers_aut: items: type: string type: array children: items: type: string type: array cmodel: type: string created: type: string datastreams: items: type: string type: array dc_creator: items: type: string type: array dc_description: items: type: string type: array dc_description_eng: items: type: string type: array dc_identifier: items: type: string type: array dc_language: items: type: string type: array dc_title: items: type: string type: array dc_title_eng: items: type: string type: array dc_type: items: type: string type: array dc_type_eng: items: type: string type: array ispartof: items: type: string type: array owner: type: string pid: type: string resourcetype: type: string size: type: number sort_dc_title: type: string sort_eng_dc_title: type: string tcreated: items: type: string type: array tsize: items: type: string type: array uwm_roles_json: items: type: string type: array type: object type: object container_empty: example: metadata: json-ld: dce:title: - '@type': bf:Title bf:mainTitle: - '@language': eng '@value': test container dcterms:type: - '@type': skos:Concept skos:exactMatch: - https://pid.phaidra.org/vocabulary/8MY0-BQDQ skos:prefLabel: - '@language': eng '@value': container edm:hasType: - '@type': skos:Concept skos:exactMatch: - https://pid.phaidra.org/vocabulary/8KGA-CH97 skos:prefLabel: - '@language': eng '@value': interview type: object container_with_members: example: metadata: json-ld: container: dce:title: - '@type': bf:Title bf:mainTitle: - '@language': eng '@value': Example container title dcterms:type: - '@type': skos:Concept skos:exactMatch: - https://pid.phaidra.org/vocabulary/8MY0-BQDQ skos:prefLabel: - '@language': eng '@value': container edm:hasType: - '@type': skos:Concept skos:exactMatch: - https://pid.phaidra.org/vocabulary/8KGA-CH97 skos:prefLabel: - '@language': eng '@value': interview member_bar: dce:title: - '@type': bf:Title bf:mainTitle: - '@language': eng '@value': Member 'bar' title dcterms:type: - '@type': skos:Concept skos:exactMatch: - https://pid.phaidra.org/vocabulary/8YB5-1M0J skos:prefLabel: - '@language': eng '@value': sound ebucore:filename: - test.wav ebucore:hasMimeType: - audio/wav edm:rights: - http://rightsstatements.org/vocab/InC/1.0/ schema:duration: - PTOH1M30S member_foo: dce:title: - '@type': bf:Title bf:mainTitle: - '@language': deu '@value': member 'foo' title dcterms:type: - '@type': skos:Concept skos:exactMatch: - https://pid.phaidra.org/vocabulary/8YB5-1M0J skos:prefLabel: - '@language': eng '@value': sound ebucore:filename: - test2.wav ebucore:hasMimeType: - audio/wav edm:rights: - http://rightsstatements.org/vocab/InC/1.0/ schema:duration: - PTOH1M30S type: object datacite: properties: data: properties: contributors: items: type: string type: array creators: items: properties: firstname: type: string institution: type: string lastname: type: string value: type: string type: object type: array descriptions: items: properties: lang: type: string ns: type: string value: type: string type: object type: array embargodates: items: type: string type: array filesizes: items: properties: value: type: string type: object type: array formats: items: type: string type: array identifiers: items: properties: type: type: string value: type: string type: object type: array langs: items: properties: value: type: string type: object type: array licenses: items: properties: value: type: string type: object type: array publicationYear: items: type: string type: array publishers: items: type: string type: array pubyears: items: type: string type: array titles: items: properties: lang: type: string title: type: string value: type: string type: object type: array upload_date: items: type: string type: array uploaddates: items: properties: ns: type: string value: type: string type: object type: array type: object datacite_elements: items: properties: children: items: properties: value: type: string xmlname: type: string type: object type: array xmlname: type: string type: object type: array errors: items: type: string type: array status: type: string type: object dc: properties: attributes: items: {} type: array ui_value: type: string xmlname: type: string type: object default: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array status: type: number type: object geo: properties: metadata: properties: geo: example: kml: document: placemark: - description: Json example of a point geo datastream name: Name of geo datastream point: coordinates: latitude: '41.6902784095934' longitude: '44.8112504748688' type: object type: object type: object group: properties: _id: properties: $oid: type: string type: object created: type: number groupid: type: string members: items: properties: name: type: string username: type: string type: object type: array name: type: string owner: type: string updated: type: number type: object groups: items: properties: created: type: number groupid: type: string name: type: string updated: type: number type: object type: array iiifmanifest: example: '@context': http://iiif.io/api/presentation/3/context.json behavior: - facing-pages id: https://sandbox.phaidra.org/api/object/o:***/iiifmanifest items: - height: 2500 id: https://sandbox.phaidra.org/api/iiif/o:***/canvas/1 items: - id: https://sandbox.phaidra.org/api/iiif/o:***/page/p1/1 items: - body: format: image/jpeg height: 2000 id: https://sandbox.phaidra.org/api/imageserver?IIIF=o:1069684.tif/full/full/0/default.jpg service: - id: https://sandbox.phaidra.org/api/imageserver?IIIF=o:1069684.tif profile: level2 type: ImageService3 type: Image width: 2500 id: https://sandbox.phaidra.org/api/iiif/o:***/annotation/p1-image motivation: painting target: https://sandbox.phaidra.org/api/iiif/o:***/canvas/1 type: Annotation type: AnnotationPage label: none: - 0r type: Canvas width: 2100 - height: 2500 id: https://sandbox.phaidra.org/api/iiif/o:***/canvas/2 items: - id: https://sandbox.phaidra.org/api/iiif/o:***/page/p2/1 items: - body: format: image/jpeg height: 2000 id: https://sandbox.phaidra.org/api/imageserver?IIIF=o:1069685.tif/full/full/0/default.jpg service: - id: https://sandbox.phaidra.org/api/imageserver?IIIF=o:1069685.tif profile: level2 type: ImageService3 type: Image width: 2500 id: https://sandbox.phaidra.org/api/iiif/o:***/annotation/p2-image motivation: painting target: https://sandbox.phaidra.org/api/iiif/o:***/canvas/2 type: Annotation type: AnnotationPage label: none: - fol. 1r-v (r) type: Canvas width: 2100 label: en: - Book requiredStatement: label: en: - Rights value: none: - http://creativecommons.org/licenses/by-nc-sa/4.0/ start: id: https://sandbox.phaidra.org/api/iiif/o:***/canvas/1 type: Canvas type: Manifest viewingDirection: left-to-right properties: '@context': type: string behavior: items: type: string type: array id: type: string items: items: properties: height: type: number id: type: string items: items: properties: id: type: string items: items: properties: body: properties: format: type: string height: type: number id: type: string service: items: properties: id: type: string profile: type: string type: type: string type: object type: array type: type: string width: type: number type: object id: type: string motivation: type: string target: type: string type: type: string type: object type: array type: type: string type: object type: array label: properties: none: items: type: string type: array type: object type: type: string width: type: number type: object type: array label: properties: en: items: type: string type: array type: object requiredStatement: properties: label: properties: en: items: type: string type: array type: object value: properties: none: items: type: string type: array type: object type: object start: properties: id: type: string type: type: string type: object type: type: string viewingDirection: type: string type: object imageserver_job_status: properties: _id: properties: $oid: type: string type: object agent: type: string cast_lines: type: array conversion: type: string created: type: number curl_lines: type: array idhash: type: string image: type: string pid: type: string status: type: string tr_lines: type: array ts_iso: type: string vips_lines: type: array type: object index: properties: _updated: type: number bbox: items: type: string type: array bib_published: items: type: string type: array bib_publisher: items: type: string type: array bib_publisherlocation: items: type: string type: array bib_roles_pers_aut: items: type: string type: array cmodel: type: string created: type: string datastreams: items: type: string type: array dc_creator: items: type: string type: array dc_date: items: type: string type: array dc_description: items: type: string type: array dc_description_: items: type: string type: array dc_description_deu: items: type: string type: array dc_description_eng: items: type: string type: array dc_identifier: items: type: string type: array dc_language: items: type: string type: array dc_publisher: items: type: string type: array dc_relation: items: type: string type: array dc_rights: items: type: string type: array dc_subject: items: type: string type: array dc_title: items: type: string type: array ispartof: items: type: string type: array latlon: items: type: string type: array modified: type: string owner: type: string pid: type: string resourcetype: type: string size: type: number type: object index_relationship: properties: hasalternativeformat: items: type: string type: array hasalternativeversion: items: type: string type: array hasbackside: items: type: string type: array hassuccessor: items: type: string type: array hasthumbnail: items: type: string type: array isalternativeformatof: items: type: string type: array isalternativeversionof: items: type: string type: array isbacksideof: items: type: string type: array ismemberof: items: type: string type: array ispartof: items: type: object type: array isreferencedby: items: type: string type: array issuccessorof: items: type: string type: array isthumbnailfor: items: type: string type: array references: items: type: string type: array type: object json-ld: example: dce:title: - '@type': bf:Title bf:mainTitle: - '@language': deu '@value': Title edm:rights: - https://rightsstatements.org/page/InC/1.0/ role:aut: - '@type': schema:Person schema:familyName: - '@value': Last Name schema:givenName: - '@value': First name properties: bf:note: items: properties: '@type': type: string skos:prefLabel: items: properties: '@language': type: string '@value': type: string type: object type: array type: object type: array dce:subject: items: properties: '@type': type: string skos:prefLabel: items: properties: '@language': type: string '@value': type: string type: object type: array type: object type: array dce:title: items: properties: '@type': type: string bf:mainTitle: items: properties: '@language': type: string '@value': type: string type: object type: array type: object type: array dcterms:language: items: type: string type: array dcterms:type: items: properties: '@type': type: string skos:exactMatch: items: type: string type: array skos:prefLabel: items: properties: '@language': type: string '@value': type: string type: object type: array type: object type: array ebucore:filename: items: type: string type: array ebucore:hasMimeType: items: type: string type: array edm:hasType: items: properties: '@type': type: string skos:exactMatch: items: type: string type: array skos:prefLabel: items: properties: '@language': type: string '@value': type: string type: object type: array type: object type: array edm:rights: items: type: string type: array role:aut: items: properties: '@type': type: string schema:familyName: items: properties: '@value': type: string type: object type: array schema:givenName: items: properties: '@value': type: string type: object type: array type: object type: array vra:hasInscription: items: properties: '@type': type: string skos:prefLabel: items: properties: '@language': type: string '@value': type: string type: object type: array type: object type: array type: object jsonld: type: object languages: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array languages: type: object type: object languagesExample: properties: alerts: items: {} type: array languages: ne: de: Nepalisch en: Nepali it: Nepalese sr: nepalski type: object type: object licences: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array licences: items: properties: descriptions: properties: de: type: string en: type: string type: object labels: properties: de: type: string en: type: string type: object lid: type: integer link_info: type: string link_text: type: string link_uri: type: string type: object type: array type: object lists: example: - pid: o:1 title: Title 1 - pid: o:2 title: Title 2 items: properties: pid: type: string title: type: string type: object type: array lists_details: items: properties: _id: properties: $oid: type: string type: object created: type: number listid: type: string name: type: string updated: type: number type: object type: array members: example: - pid: o:1 pos: 1 - pid: o:2 pos: 2 items: properties: pid: type: string pos: type: string type: object type: array mods: properties: metadata: properties: mods: example: - attributes: - input_type: select label: Type ui_value: ac-number xmlname: type - input_type: input_text label: Language xmlname: lang - input_type: input_text label: Script xmlname: script - input_type: input_text label: Transliteration xmlname: transliteration - input_type: input_text label: Type URI xmlname: typeURI - input_type: input_text label: Display label xmlname: displayLabel - input_type: select label: Invalid xmlname: invalid - input_type: input_text label: Alternative representation group xmlname: altRepGroup input_type: input_text label: Identifier ui_value: AC04090285 xmlname: identifier - attributes: - input_type: input_text label: Object part xmlname: objectPart - input_type: input_text label: Language xmlname: lang - input_type: input_text label: Script xmlname: script - input_type: input_text label: Transliteration xmlname: transliteration - input_type: input_text label: Display label xmlname: displayLabel - input_type: select label: Usage xmlname: usage - input_type: input_text label: Alternative representation group xmlname: altRepGroup children: - attributes: - input_type: select label: Type ui_value: code xmlname: type - input_type: select label: Authority ui_value: iso639-2b xmlname: authority - input_type: input_text label: Authority URI xmlname: authorityURI - input_type: input_text label: Value URI xmlname: valueURI - input_type: input_text label: Language xmlname: lang - input_type: input_text label: Script xmlname: script - input_type: input_text label: Transliteration xmlname: transliteration input_type: input_text label: Language term ui_value: ger xmlname: languageTerm input_type: node label: Language xmlname: language items: properties: attributes: items: properties: input_type: type: string label: type: string ui_value: type: string xmlname: type: string type: object type: array children: items: type: object type: array extensible: type: number input_type: type: string label: type: string ui_value: type: string xmlname: type: string type: object type: array type: object type: object mods_tree: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array languages: type: object status: type: number tree: $ref: '#/components/schemas/mods' vocabularies: $ref: '#/components/schemas/vocabularies' vocabularies_mapping: $ref: '#/components/schemas/vocabularies_mapping' type: object object_info: properties: _updated: items: type: string type: array _version_: type: number alternativeformats: items: type: string type: array alternativeversions: items: type: string type: array bbox: items: type: string type: array bib_published: items: type: string type: array bib_publisher: items: type: string type: array bib_publisherlocation: items: type: string type: array bib_roles_pers_aut: items: type: string type: array cmodel: type: string created: type: string datastreams: items: type: string type: array dc_creator: items: type: string type: array dc_date: items: type: string type: array dc_description: items: type: string type: array dc_description_: items: type: string type: array dc_identifier: items: type: string type: array dc_language: items: type: string type: array dc_license: items: type: string type: array dc_publisher: items: type: string type: array dc_relation: items: type: string type: array dc_rights: items: type: string type: array dc_subject: items: type: string type: array dc_subject_: items: type: string type: array dc_title: items: type: string type: array dshash: type: object ispartof: items: type: string type: array latlon: type: string metadata: properties: geo: $ref: '#/components/schemas/geo' mods: $ref: '#/components/schemas/mods' type: object metatags: properties: DC.identifier: type: string DC.rights: items: type: string type: array type: object type: object rights: properties: username: items: example: expires: '2016-08-25T14:31:34Z' value: user123 properties: expires: type: string value: type: string type: object type: array type: object stats: items: properties: _id: properties: $oid: type: string type: object detail: type: string ds_count: type: number model: type: string obj_count: type: number size: type: number time_scale: type: string ts_refreshed: type: number upload_date: type: string type: object type: array study: properties: labels: properties: de: type: string type: object uri: type: string type: object study_plans: properties: name: type: string value: type: string type: object template: properties: _id: properties: $oid: type: string type: object created: type: number form: properties: sections: items: properties: fields: items: properties: component: type: string definition: type: string disabled: type: boolean fieldname: type: string id: type: string label: type: string multiplicable: type: boolean predicate: type: string required: type: boolean skos:prefLabel: items: properties: '@language': type: string '@value': type: string type: object type: array value: type: string vocabulary: type: string type: object type: array type: object type: array type: object name: type: string owner: type: string tag: type: string tid: type: string updated: type: number type: object templates: items: properties: created: type: number name: type: string tid: type: string updated: type: number type: object type: array units: properties: '@id': type: string '@type': type: string skos:notation: type: string skos:prefLabel: properties: deu: type: string eng: type: string type: object type: object user_data: properties: email: type: string firstname: type: string lastname: type: string org_units_l1: items: type: string type: array org_units_l2: items: type: string type: array username: type: string type: object user_objects: properties: PID: type: string curl_lines: items: type: string type: array dc.creator: items: type: string type: array fgs.contentModel: type: string fgs.createdDate: type: string fgs.lastModifiedDate: type: string uw.digitalbook.booklet: type: string uw.digitalbook.from_page: type: string uw.digitalbook.name_magazine: type: string uw.digitalbook.releaseyear: type: string uw.digitalbook.to_page: type: string uw.digitalbook.volume: type: string uw.general.description: type: string uw.general.description.en: type: string uw.general.title: type: string uw.general.title.en: type: string uw.lifecycle.contribute.entity.firstname: type: string uw.lifecycle.contribute.entity.institution: type: string vips_lines: items: type: string type: array type: object uwmetadata: items: properties: cardinality: type: integer children: items: type: object type: array data_order: type: string datatype: type: string disabled: type: integer field_order: type: integer help_id: type: string hidden: type: integer input_regex: type: string input_type: type: string labels: type: object loaded: type: integer mandatory: type: integer ordered: type: integer ui_value: type: string value: type: string value_lang: type: string xmlname: type: string xmlns: type: string type: object type: array uwmetadata_article_basic: example: metadata: uwmetadata: - children: - datatype: CharacterString input_type: input_text ui_value: o:454073 xmlname: identifier xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0 - attributes: - input_type: select ui_value: en xmlname: lang datatype: LangString input_type: input_text ui_value: Tolerance and reward equity predict cooperation in ravens (Corvus corax) xmlname: title xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0 - datatype: Language input_type: select ui_value: en xmlname: language xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0 - attributes: - input_type: select ui_value: en xmlname: lang datatype: LangString input_type: input_text ui_value: Cooperative decision rules have so far been shown experimentally mainly in mammal species that have variable and complex social networks. However, these traits should not necessarily be restricted to mammals. Therefore, we tested cooperative problem solving in ravens. We showed that, without training, nine ravens spontaneously cooperated in a loose-string task. Corroborating findings in several species, ravensâ�� cooperative success increased with increasing inter-individual tolerance levels. Importantly, we found this in both a forced dyadic setting, and in a group setting where individuals had an open choice to cooperate with whomever. The ravens, moreover, also paid attention to the resulting reward distribution and ceased cooperation when being cheated upon. Nevertheless, the ravens did not seem to pay attention to the behavior of their partners while cooperating, and future research should reveal whether this is task specific or a general pattern. Given their natural propensity to cooperate and the results we present here, we consider ravens as an interesting model species to study the evolution of, and the mechanisms underlying cooperation. xmlname: description xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0 - attributes: - input_type: select ui_value: en xmlname: lang datatype: LangString input_type: input_text ui_value: Animal behaviour xmlname: keyword xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0 - attributes: - input_type: select ui_value: en xmlname: lang datatype: LangString input_type: input_text ui_value: Behavioural ecology xmlname: keyword xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0 - attributes: - input_type: select ui_value: en xmlname: lang datatype: LangString input_type: input_text ui_value: Social evolution xmlname: keyword xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0 - datatype: Boolean input_type: select ui_value: 'yes' xmlname: irdata xmlns: http://phaidra.univie.ac.at/XML/metadata/extended/V1.0 - children: - datatype: Vocabulary input_type: select ui_value: http://phaidra.univie.ac.at/XML/metadata/extended/V1.0/voc_31/1552099 xmlname: resource xmlns: http://phaidra.univie.ac.at/XML/metadata/extended/V1.0 - datatype: CharacterString input_type: input_text ui_value: 10.1038/srep15021 xmlname: identifier xmlns: http://phaidra.univie.ac.at/XML/metadata/extended/V1.0 datatype: Node input_type: node xmlname: identifiers xmlns: http://phaidra.univie.ac.at/XML/metadata/extended/V1.0 - children: - datatype: Vocabulary input_type: select ui_value: http://phaidra.univie.ac.at/XML/metadata/extended/V1.0/voc_31/1552101 xmlname: resource xmlns: http://phaidra.univie.ac.at/XML/metadata/extended/V1.0 - datatype: CharacterString input_type: input_text ui_value: 2045-2322 xmlname: identifier xmlns: http://phaidra.univie.ac.at/XML/metadata/extended/V1.0 datatype: Node input_type: node xmlname: identifiers xmlns: http://phaidra.univie.ac.at/XML/metadata/extended/V1.0 datatype: Node input_type: node xmlname: general xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0 - children: - datatype: DateTime input_type: input_text ui_value: '2016-08-23T11:53:04.000Z' xmlname: upload_date xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0 - datatype: Vocabulary input_type: select ui_value: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/voc_2/44 xmlname: status xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0 - datatype: Boolean input_type: select ui_value: 'yes' xmlname: peer_reviewed xmlns: http://phaidra.univie.ac.at/XML/metadata/extended/V1.0 - attributes: - input_type: input_text ui_value: '0' xmlname: data_order children: - datatype: Vocabulary input_type: select ui_value: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/voc_3/46 xmlname: role xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0 - attributes: - input_type: input_text ui_value: '0' xmlname: data_order children: - datatype: CharacterString input_type: input_text ui_value: Jorg J. M. xmlname: firstname xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/entity - datatype: CharacterString input_type: input_text ui_value: Massen xmlname: lastname xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/entity datatype: Node input_type: node xmlname: entity xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0 - attributes: - input_type: input_text ui_value: '1' xmlname: data_order children: - datatype: CharacterString input_type: input_text ui_value: '761' xmlname: institution xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/entity - datatype: CharacterString input_type: input_text ui_value: institution xmlname: type xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/entity datatype: Node input_type: node xmlname: entity xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0 datatype: Node input_type: node xmlname: contribute xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0 - attributes: - input_type: input_text ui_value: '1' xmlname: data_order children: - datatype: Vocabulary input_type: select ui_value: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/voc_3/46 xmlname: role xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0 - attributes: - input_type: input_text ui_value: '0' xmlname: data_order children: - datatype: CharacterString input_type: input_text ui_value: Caroline xmlname: firstname xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/entity - datatype: CharacterString input_type: input_text ui_value: Ritter xmlname: lastname xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/entity datatype: Node input_type: node xmlname: entity xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0 - attributes: - input_type: input_text ui_value: '1' xmlname: data_order children: - datatype: CharacterString input_type: input_text ui_value: '761' xmlname: institution xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/entity - datatype: CharacterString input_type: input_text ui_value: institution xmlname: type xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/entity datatype: Node input_type: node xmlname: entity xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0 datatype: Node input_type: node xmlname: contribute xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0 - attributes: - input_type: input_text ui_value: '2' xmlname: data_order children: - datatype: Vocabulary input_type: select ui_value: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/voc_3/46 xmlname: role xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0 - attributes: - input_type: input_text ui_value: '0' xmlname: data_order children: - datatype: CharacterString input_type: input_text ui_value: Thomas xmlname: firstname xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/entity - datatype: CharacterString input_type: input_text ui_value: Bugnyar xmlname: lastname xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/entity datatype: Node input_type: node xmlname: entity xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0 - attributes: - input_type: input_text ui_value: '1' xmlname: data_order children: - datatype: CharacterString input_type: input_text ui_value: '761' xmlname: institution xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/entity - datatype: CharacterString input_type: input_text ui_value: institution xmlname: type xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/entity datatype: Node input_type: node xmlname: entity xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0 datatype: Node input_type: node xmlname: contribute xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0 - attributes: - input_type: input_text ui_value: '3' xmlname: data_order children: - datatype: Vocabulary input_type: select ui_value: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/voc_3/1557146 xmlname: role xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0 - attributes: - input_type: input_text ui_value: '0' xmlname: data_order children: - datatype: CharacterString input_type: input_text ui_value: Institutional xmlname: firstname xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/entity - datatype: CharacterString input_type: input_text ui_value: Repository xmlname: lastname xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/entity datatype: Node input_type: node xmlname: entity xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0 datatype: Node input_type: node xmlname: contribute xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0 - attributes: - input_type: input_text ui_value: '4' xmlname: data_order children: - datatype: Vocabulary input_type: select ui_value: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/voc_3/47 xmlname: role xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0 - attributes: - input_type: input_text ui_value: '0' xmlname: data_order children: - datatype: CharacterString input_type: input_text ui_value: Nature Publishing Group xmlname: institution xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/entity - datatype: CharacterString input_type: input_text ui_value: institution xmlname: type xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/entity datatype: Node input_type: node xmlname: entity xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0 datatype: Node input_type: node xmlname: contribute xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0 - datatype: Vocabulary input_type: select ui_value: http://phaidra.univie.ac.at/XML/metadata/extended/V1.0/voc_38/1556250 xmlname: infoeurepoversion xmlns: http://phaidra.univie.ac.at/XML/metadata/extended/V1.0 - datatype: Vocabulary input_type: select ui_value: http://phaidra.univie.ac.at/XML/metadata/extended/V1.0/voc_40/1557088 xmlname: metadataqualitycheck xmlns: http://phaidra.univie.ac.at/XML/metadata/extended/V1.0 datatype: Node input_type: node xmlname: lifecycle xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0 - children: - datatype: CharacterString input_type: input_text ui_value: application/pdf xmlname: format xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0 - datatype: FileSize input_type: input_text ui_value: '650007' xmlname: size xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0 datatype: Node input_type: node xmlname: technical xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0 - children: - datatype: Boolean input_type: select ui_value: 'no' xmlname: cost xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0 - datatype: Boolean input_type: select ui_value: 'yes' xmlname: copyright xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0 - datatype: License input_type: select ui_value: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/voc_21/16 xmlname: license xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0 - datatype: Vocabulary input_type: select ui_value: http://phaidra.univie.ac.at/XML/metadata/extended/V1.0/voc_36/1556227 xmlname: infoeurepoaccess xmlns: http://phaidra.univie.ac.at/XML/metadata/extended/V1.0 datatype: Node input_type: node xmlname: rights xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0 - datatype: Node input_type: node xmlname: classification xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0 - children: - datatype: Vocabulary input_type: select ui_value: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/organization/voc_17/1552253 xmlname: hoschtyp xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/organization - children: - datatype: Faculty input_type: select ui_value: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/organization/voc_faculty/A50 xmlname: faculty xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/organization - datatype: Department input_type: select ui_value: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/organization/voc_department/A761 xmlname: department xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/organization datatype: Node input_type: node xmlname: orgassignment xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/organization - children: - datatype: Faculty input_type: select ui_value: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/organization/voc_faculty/A50 xmlname: faculty xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/organization - datatype: Department input_type: select ui_value: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/organization/voc_department/A761 xmlname: department xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/organization datatype: Node input_type: node xmlname: orgassignment xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/organization - children: - datatype: Faculty input_type: select ui_value: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/organization/voc_faculty/A50 xmlname: faculty xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/organization - datatype: Department input_type: select ui_value: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/organization/voc_department/A761 xmlname: department xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/organization datatype: Node input_type: node xmlname: orgassignment xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/organization datatype: Node input_type: node xmlname: organization xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0 - children: - children: - datatype: Vocabulary input_type: select ui_value: http://phaidra.univie.ac.at/XML/metadata/histkult/V1.0/voc_25/1557094 xmlname: reference xmlns: http://phaidra.univie.ac.at/XML/metadata/histkult/V1.0 - datatype: CharacterString input_type: input_text ui_value: M1351-B17 xmlname: number xmlns: http://phaidra.univie.ac.at/XML/metadata/histkult/V1.0 datatype: Node input_type: node xmlname: reference_number xmlns: http://phaidra.univie.ac.at/XML/metadata/histkult/V1.0 datatype: Node input_type: node xmlname: histkult xmlns: http://phaidra.univie.ac.at/XML/metadata/histkult/V1.0 - children: - attributes: - input_type: select ui_value: en xmlname: lang datatype: LangString input_type: input_text ui_value: Scientific Reports xmlname: name_magazine xmlns: http://phaidra.univie.ac.at/XML/metadata/digitalbook/V1.0 - datatype: CharacterString input_type: input_text ui_value: '5' xmlname: volume xmlns: http://phaidra.univie.ac.at/XML/metadata/digitalbook/V1.0 - datatype: CharacterString input_type: input_text ui_value: '15021' xmlname: from_page xmlns: http://phaidra.univie.ac.at/XML/metadata/digitalbook/V1.0 - datatype: DateTime input_type: input_text ui_value: '2015' xmlname: releaseyear xmlns: http://phaidra.univie.ac.at/XML/metadata/digitalbook/V1.0 datatype: Node input_type: node xmlname: digitalbook xmlns: http://phaidra.univie.ac.at/XML/metadata/digitalbook/V1.0 type: object uwmetadata_min: example: - children: - ui_value: Title value_lang: de xmlname: title xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0 - datatype: Language ui_value: de xmlname: language xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0 xmlname: general xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0 - children: - children: - datatype: Vocabulary ui_value: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/voc_3/46 xmlname: role xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0 - children: - datatype: CharacterString ui_value: Brenda xmlname: firstname xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/entity - datatype: CharacterString ui_value: Walsh xmlname: lastname xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/entity data_order: '0' ordered: 1 xmlname: entity xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0 data_order: '0' ordered: 1 xmlname: contribute xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0 xmlname: lifecycle xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0 - children: - datatype: License ui_value: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/voc_21/1 xmlname: license xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0 xmlname: rights xmlns: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0 items: properties: children: items: properties: datatype: type: string input_type: type: string ui_value: type: string value_lang: type: string xmlname: type: string xmlns: type: string type: object type: array datatype: type: string input_type: type: string xmlname: type: string xmlns: type: string type: object type: array vocabularies: properties: abstract_type: items: type: string type: array accessCondition_type: items: type: string type: array authority_genre_form: items: type: string type: array authority_name_title: items: type: string type: array authority_relator_role: items: type: string type: array classification_authority: items: type: string type: array date_encoding: items: type: string type: array date_point: items: type: string type: array date_qualifier: items: type: string type: array descriptionStandard: items: type: string type: array description_authority: items: type: string type: array description_form_type: items: type: string type: array digital_origin: items: type: string type: array event_type: items: type: string type: array frequency: items: type: string type: array identifier_type: items: type: string type: array issuance: items: type: string type: array item_type: items: type: string type: array language_authority: items: type: string type: array location_type: items: type: string type: array location_url_type: items: type: string type: array location_url_usage: items: type: string type: array 'no': items: type: string type: array note_type: items: type: string type: array org_authority: items: type: string type: array part_detail_title_type: items: type: string type: array part_extent_unit: items: type: string type: array part_text_type: items: type: string type: array part_type: items: type: string type: array physdesc_note_type: items: type: string type: array primary: items: type: string type: array reformatting_quality: items: type: string type: array subject_authority: items: type: string type: array target_authority: items: type: string type: array thority: items: type: string type: array toc_type: items: type: string type: array type_1: items: type: string type: array type_2: items: type: string type: array type_3: items: type: string type: array type_4: items: type: string type: array type_5: items: type: string type: array type_of_resource: items: type: string type: array unitType_type: items: type: string type: array 'yes': items: type: string type: array type: object vocabularies_mapping: properties: abstract_shareable: type: string abstract_type: type: string accessCondition_type: type: string classification_authority: type: string classification_usage: type: string genre_authority: type: string genre_type: type: string genre_usage: type: string identifier_invalid: type: string identifier_type: type: string language_languageTerm_authority: type: string language_languageTerm_type: type: string language_scriptTerm_type: type: string language_usage_primary: type: string location_holdingSimple_copyInformation_enumerationAndChronology_unitType: type: string location_physicalLocation_authority: type: string location_physicalLocation_type: type: string location_url_access: type: string location_url_usage: type: string name_authority: type: string name_namePart_type: type: string name_role_roleTerm_authority: type: string name_role_roleTerm_type: type: string name_type: type: string name_usage: type: string note_type: type: string originInfo_copyrightDate_encoding: type: string originInfo_copyrightDate_keyDate: type: string originInfo_copyrightDate_point: type: string originInfo_copyrightDate_qualifier: type: string originInfo_dateCaptured_encoding: type: string originInfo_dateCaptured_keyDate: type: string originInfo_dateCaptured_point: type: string originInfo_dateCaptured_qualifier: type: string originInfo_dateCreated_encoding: type: string originInfo_dateCreated_keyDate: type: string originInfo_dateCreated_point: type: string originInfo_dateCreated_qualifier: type: string originInfo_dateIssued_encoding: type: string originInfo_dateIssued_keyDate: type: string originInfo_dateIssued_point: type: string originInfo_dateIssued_qualifier: type: string originInfo_dateModified_encoding: type: string originInfo_dateModified_keyDate: type: string originInfo_dateModified_point: type: string originInfo_dateModified_qualifier: type: string originInfo_dateOther_encoding: type: string originInfo_dateOther_keyDate: type: string originInfo_dateOther_point: type: string originInfo_dateOther_qualifier: type: string originInfo_dateValid_encoding: type: string originInfo_dateValid_keyDate: type: string originInfo_dateValid_point: type: string originInfo_dateValid_qualifier: type: string originInfo_edition_supplied: type: string originInfo_eventType: type: string originInfo_frequency_authority: type: string originInfo_issuance: type: string originInfo_place_placeTerm_authority: type: string originInfo_place_placeTerm_type: type: string originInfo_place_supplied: type: string originInfo_publisher_supplied: type: string part_date_encoding: type: string part_date_keyDate: type: string part_date_point: type: string part_date_qualifier: type: string part_detail_type: type: string part_extent_unit: type: string part_text_type: type: string part_type: type: string physicalDescription_digitalOrigin: type: string physicalDescription_extent_supplied: type: string physicalDescription_form_authority: type: string physicalDescription_form_type: type: string physicalDescription_note_type: type: string physicalDescription_reformattingQuality: type: string recordInfo_descriptionStandard: type: string recordInfo_descriptionStandard_authority: type: string recordInfo_languageOfCataloging_languageTerm_authority: type: string recordInfo_languageOfCataloging_languageTerm_type: type: string recordInfo_languageOfCataloging_scriptTerm_type: type: string recordInfo_languageOfCataloging_usage: type: string recordInfo_recordChangeDate_encoding: type: string recordInfo_recordChangeDate_keyDate: type: string recordInfo_recordChangeDate_point: type: string recordInfo_recordChangeDate_qualifier: type: string recordInfo_recordContentSource_authority: type: string recordInfo_recordCreationDate_encoding: type: string recordInfo_recordCreationDate_keyDate: type: string recordInfo_recordCreationDate_point: type: string recordInfo_recordCreationDate_qualifier: type: string recordInfo_recordIdentifier_source: type: string relatedItem_type: type: string subject_authority: type: string subject_geographicCode_authority: type: string subject_name_authority: type: string subject_name_namePart_type: type: string subject_name_role_roleTerm_authority: type: string subject_name_role_roleTerm_type: type: string subject_name_type: type: string subject_temporal_encoding: type: string subject_temporal_keyDate: type: string subject_temporal_point: type: string subject_temporal_qualifier: type: string subject_titleInfo_authority: type: string subject_titleInfo_type: type: string subject_usage: type: string tableOfContents_shareable: type: string tableOfContents_type: type: string targetAudience_authority: type: string titleInfo_authority: type: string titleInfo_supplied: type: string titleInfo_type: type: string titleInfo_usage: type: string typeOfResource: type: string typeOfResource_collection: type: string typeOfResource_manuscript: type: string typeOfResource_usage: type: string type: object securitySchemes: basicAuth: scheme: basic type: http tokenAuth: in: header name: X-XSRF-TOKEN type: apiKey info: description: Documentation of the PHAIDRA API. license: name: Apache 2.0 url: http://www.apache.org/licenses/LICENSE-2.0.html title: PHAIDRA API version: '3.0' openapi: 3.0.2 paths: /annotations/json2xml: post: description: Transforms the annotations JSON structure to XML (see an [example of annotation JSON structure](https://github.com/phaidra/phaidra-api/wiki/Annotations)). requestBody: content: multipart/form-data: schema: properties: metadata: description: example of annotation JSON properties: metadata: $ref: '#/components/schemas/annotations' type: object type: object description: Annotations JSON responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array annotations: type: object type: object description: Annotations in XML. summary: Transforms annotations JSON to XML. tags: - datastream /annotations/json2xml_validate: post: description: 'Transforms the annotations structure from JSON to XML and validates it. ' requestBody: content: multipart/form-data: schema: properties: metadata: $ref: '#/components/schemas/annotations' type: object responses: '200': content: application/json: schema: $ref: '#/components/schemas/default' description: annotations JSON validated. '400': content: application/json: schema: $ref: '#/components/schemas/default' description: Bad request summary: Validates the annotations JSON. tags: - datastream /annotations/validate: post: description: Validates the annotations structure in XML. requestBody: content: application/json: schema: properties: metadata: properties: annotations: example: 0.70.60.20.18pigmentsprussian blue0.70.40.10.1peopleMary0.10.80.150.1pigmentsazurite type: string type: object type: object responses: '200': content: application/json: schema: $ref: '#/components/schemas/default' description: Annotations XML validated. summary: Validates the annotations XML. tags: - datastream /annotations/xml2json: post: description: Transforms the XML annotations structure to JSON. requestBody: content: application/json: schema: properties: metadata: properties: annotations: example: 0.70.60.20.18pigmentsprussian blue0.70.40.10.1peopleMary0.10.80.150.1pigmentsazurite type: string type: object type: object responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array metadata: $ref: '#/components/schemas/annotations' type: object description: annotations in JSON summary: Transforms annotations XML to JSON. tags: - datastream /audio/create: post: description: Creates a simple data object with internal content model cmodel:Audio. See [wiki](https://github.com/phaidra/phaidra-api/wiki/Creating-a-simple-object) for an example. requestBody: content: multipart/form-data: schema: properties: file: format: binary required: true type: string metadata: description: a structure containing metadata; refer to the [wiki](https://github.com/phaidra/phaidra-api/wiki/Creating-a-simple-object) for further details properties: metadata: properties: json-ld: $ref: '#/components/schemas/json-ld' type: object type: object mimetype: description: 'mimetype is optional: if not provided, heuristics is used on server side' example: application/json required: false type: string type: object responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array pid: type: string status: type: number type: object description: Audio object created '404': content: application/json: schema: type: object description: error creating object security: - basicAuth: [] summary: Creates an audio object tags: - object-basics /authz/check/{pid}/{op}: get: description: Checks if the authenticated user has appropriate rights for an operation on the object (readable/writable). Can also be checked for unauthenticated user. parameters: - description: pid - object id in: path name: pid schema: required: false type: string - description: rights for operation in: path name: op schema: enum: - ro - rw required: true type: string responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array status: type: string type: object description: readable/writable, depending on parameter 'op'. This method can be used to check if an object is readable/writable. The authentication is optional, as you might want to know if an object is readable for an unauthenticated user. An object is never writable for an unauthenticated user, so checking 'rw' only makes sense with authentication. Typically, an object is only writable for its owner. '403': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array status: type: string type: object description: not op security: - basicAuth: [] summary: Checks rights tags: - object-advanced /collection/create: post: description: Use to create collection object. The process is the same as for other simple objects (e.g. picture/create), just don't provide any file parameter. requestBody: content: multipart/form-data: schema: properties: metadata: description: a structure containing metadata; refer to the wiki (see above) for further details. You can send members - as in the example, or not, and add members later using either the collection/{pid}/members/add request, or the relationships requests with the hasMember relationship. properties: metadata: properties: json-ld: $ref: '#/components/schemas/json-ld' members: $ref: '#/components/schemas/members' type: object type: object type: object responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array pid: type: string status: type: string type: object description: collection created security: - basicAuth: [] summary: Creates a collection tags: - object-basics /collection/{pid}/descendants: get: description: Get descendants. parameters: - description: collection pid in: path name: pid schema: required: false type: string responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array descendants: $ref: '#/components/schemas/collection' type: object description: descendants summary: Returns descendants of collection. tags: - relationships /collection/{pid}/members: get: description: 'Returns the pids of the members of a collection. ' parameters: - description: pid in: path name: pid schema: required: false type: string responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array metadata: properties: members: properties: pid: type: string pos: type: string type: object type: object type: object description: members (ordered if the COLLECTIONORDER datastream is available). summary: Get pids of collection members. tags: - relationships /collection/{pid}/members/add: post: parameters: - description: collection pid in: path name: pid schema: required: true type: string requestBody: content: multipart/form-data: schema: properties: metadata: description: Should contain 'members' with an array of members to add (see [collection members example](https://github.com/phaidra/phaidra-api/wiki/Collection-members-json-structure)). properties: members: $ref: '#/components/schemas/members' type: object type: object responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array metadata: properties: members: properties: pid: type: string pos: type: string type: object type: object type: object description: collection members added. security: - basicAuth: [] summary: Add collection members. tags: - relationships /collection/{pid}/members/order: post: parameters: - description: collection pid in: path name: pid schema: required: true type: string requestBody: content: multipart/form-data: schema: properties: metadata: description: Should contain 'members' with an array of members to order, with positions defined (see [collection members example](https://github.com/phaidra/phaidra-api/wiki/Collection-members-json-structure)). properties: members: $ref: '#/components/schemas/members' type: object type: object responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array metadata: properties: members: properties: pid: type: string pos: type: string type: object type: object type: object description: collection members ordered. security: - basicAuth: [] summary: Orders collection members tags: - relationships /collection/{pid}/members/remove: post: parameters: - description: pid in: path name: pid schema: required: false type: string requestBody: content: multipart/form-data: schema: properties: metadata: description: Should contain 'members' with an array of members to remove (see [collection members example](https://github.com/phaidra/phaidra-api/wiki/Collection-members-json-structure)). properties: members: $ref: '#/components/schemas/members' type: object type: object responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array metadata: properties: members: properties: pid: type: string pos: type: string type: object type: object type: object description: collection members removed. security: - basicAuth: [] summary: Remove collection members. tags: - relationships /collection/{pid}/members/{itempid}/order/{position}: post: description: Changes order of a single collection member. parameters: - description: collection pid in: path name: pid schema: required: true type: string - description: member pid in: path name: itempid schema: required: true type: string - description: position in: path name: position schema: required: true type: string responses: '200': content: application/json: schema: properties: alerts: type: array status: type: string type: object description: order changed security: - basicAuth: [] summary: Changes order of single member. tags: - relationships /container/create: post: description: See [wiki](https://github.com/phaidra/phaidra-api/wiki/Creating-a-container) for an example. requestBody: content: multipart/form-data: schema: description: JSON metadata example (see [creating a container example](https://github.com/phaidra/phaidra-api/wiki/Creating-a-container)) properties: member_bar: format: binary type: string member_foo: format: binary type: string metadata: $ref: '#/components/schemas/container_with_members' type: object responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array pid: type: string status: type: number type: object description: Container created '404': content: application/json: schema: type: object description: error creating container security: - basicAuth: [] summary: Creates a container object tags: - object-basics /container/{pid}/members/order: post: parameters: - description: container pid in: path name: pid schema: required: true type: string requestBody: content: multipart/form-data: schema: properties: metadata: description: Should contain 'members' with an array of members to order (similar to collections, see [collection members example](https://github.com/phaidra/phaidra-api/wiki/Collection-members-json-structure) with positions defined properties: members: $ref: '#/components/schemas/members' type: object type: object responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array metadata: properties: members: properties: pid: type: string pos: type: string type: object type: object type: object description: container members ordered security: - basicAuth: [] summary: Orders members of a container. tags: - relationships /container/{pid}/members/{itempid}/order/{position}: post: description: Changes order of a single container member. parameters: - description: container pid in: path name: pid schema: required: true type: string - description: member pid in: path name: itempid schema: required: true type: string - description: position in: path name: position schema: required: true type: string responses: '200': content: application/json: schema: properties: alerts: type: array status: type: string type: object description: order changed security: - basicAuth: [] summary: Changes order of single member. tags: - relationships /directory/org_get_parentpath: get: description: Retrieves the parent path of an organisation unit parameters: - description: Parent id in: query name: id schema: required: false type: string responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array parentpath: type: array status: type: number type: object description: parent path summary: Get the parent path. tags: - directory /directory/org_get_subunits: get: description: Retrieves the subunits of an organization. parameters: - description: unit id in: query name: id schema: required: false type: string responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array status: type: number subunits: items: $ref: '#/components/schemas/units' type: array type: object description: subunits summary: Get subunits. tags: - directory /directory/org_get_superunits: get: description: Retrieves the superunits of an organization. parameters: - description: unit id in: query name: id schema: required: false type: string responses: '200': content: application/json: schema: properties: parent_id: type: string status: type: number type: object description: Units which are parent of the org unit. summary: Get superunits. tags: - directory /directory/org_get_units: get: description: Get the list of the organisation units. They can then be used for example to find objects explicitly associated to, or to restrict rights for, a particular organisation unit. parameters: - description: Id of the parent unit. If not set, returns the top-level units. in: query name: parent_id schema: required: false type: string - description: If provided, the values returned (in the 'uri' field) will be prefixed with the value of this parameter. in: query name: values_namespace schema: required: false type: string responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array status: type: number terms: type: array type: object description: units summary: Get organisation units tags: - directory /directory/user/data: get: responses: '200': content: application/json: schema: properties: status: type: number user_data: $ref: '#/components/schemas/user_data' type: object description: returns account details of user (from credentials) security: - basicAuth: [] summary: Returns current user's data. tags: - directory /directory/user/search: get: parameters: - description: query (it will be automatically suffixed with *) in: query name: q schema: required: true type: string responses: '200': content: application/json: schema: properties: accounts: items: properties: type: type: string uid: type: string value: type: string type: object type: array hits: type: number status: type: number type: object description: returns accounts details. Only the first 50 results are returned security: - basicAuth: [] summary: Searches the user database. tags: - directory /directory/user/{username}/data: get: description: Returns basic data about the specified user (such as name, affiliation and organization unit). parameters: - description: the user username in: path name: username schema: required: true type: string responses: '200': content: application/json: schema: properties: status: type: number user_data: $ref: '#/components/schemas/user_data' type: object description: user's details (name, affiliation, etc.) summary: Get user's basic data. tags: - directory /directory/user/{username}/email: get: description: Returns the user's email parameters: - description: the user username in: path name: username schema: required: true type: string responses: '200': content: application/json: schema: properties: email: type: string status: type: number type: object description: user's email summary: Get user's email tags: - directory /directory/user/{username}/name: get: description: Returns the name of a user. parameters: - description: the user's username in: path name: username schema: required: true type: string responses: '200': content: application/json: schema: properties: name: type: object status: type: number type: object description: user's name summary: Get user's full name. tags: - directory /document/create: post: description: Creates a simple data object with internal content model cmodel:PDFDocument. See [wiki](https://github.com/phaidra/phaidra-api/wiki/Creating-a-simple-object) for an example. requestBody: content: multipart/form-data: schema: properties: file: format: binary required: true type: string metadata: description: a structure containing metadata; refer to the [wiki](https://github.com/phaidra/phaidra-api/wiki/Creating-a-simple-object) for further details properties: metadata: properties: json-ld: $ref: '#/components/schemas/json-ld' type: object type: object mimetype: description: 'mimetype is optional: if not provided, heuristics is used on server side' example: application/json required: false type: string type: object responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array pid: type: string status: type: number type: object description: Document object created '404': content: application/json: schema: type: object description: error creating object security: - basicAuth: [] summary: Creates a document object tags: - object-basics /geo/json2xml: post: description: Transforms the geo structure from JSON to XML (see [examples of geo datastream of a map object](https://github.com/phaidra/phaidra-api/wiki/GEO-datastream-of-a-map-object)). requestBody: content: multipart/form-data: schema: properties: metadata: description: example of geo JSON properties: metadata: $ref: '#/components/schemas/geo' type: object type: object description: Geo JSON responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array metadata: properties: geo: type: string type: object type: object description: geolocation in XML. summary: Transforms the geo JSON to XML. tags: - datastream /geo/json2xml_validate: post: description: Transforms the geo structure from JSON to XML and validates it. See [examples of geo datastream of a map object](https://github.com/phaidra/phaidra-api/wiki/GEO-datastream-of-a-map-object). requestBody: content: multipart/form-data: schema: properties: metadata: $ref: '#/components/schemas/geo' type: object responses: '200': content: application/json: schema: $ref: '#/components/schemas/default' description: geo JSON validated. '400': content: application/json: schema: $ref: '#/components/schemas/default' description: Bad request summary: Validates the geo JSON. tags: - datastream /geo/validate: post: description: Validates the geo structure in XML. requestBody: content: application/json: schema: properties: metadata: properties: geo: example: Tiflis, Metechi-KircheTiflis, Georgien Tbilisi, Georgia44.8112504748688,41.6902784095934,0 type: string type: object type: object responses: '200': content: application/json: schema: $ref: '#/components/schemas/default' description: geo XML validated. summary: Validates the geo XML. tags: - datastream /geo/xml2json: post: description: Transforms the geo structure from XML to JSON (see [examples of geo datastream of a map object](https://github.com/phaidra/phaidra-api/wiki/GEO-datastream-of-a-map-object)). requestBody: content: application/json: schema: properties: metadata: properties: geo: example: Tiflis, Metechi-KircheTiflis, Georgien Tbilisi, Georgia44.8112504748688,41.6902784095934,0 type: string type: object type: object responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array geo: $ref: '#/components/schemas/geo' type: object description: geo in JSON summary: Transforms geo XML to JSON. tags: - datastream /group/add: post: parameters: - description: name of the group in: query name: name schema: required: true type: string responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array groups: $ref: '#/components/schemas/group' type: object description: group detail security: - basicAuth: [] summary: Create new group tags: - directory /group/{gid}: get: parameters: - description: gid - group id in: path name: gid schema: type: string responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array groups: $ref: '#/components/schemas/group' type: object description: group detail security: - basicAuth: [] summary: Get group detail tags: - directory /group/{gid}/members/add: post: parameters: - description: gid - group id in: path name: gid schema: required: false type: string requestBody: content: multipart/form-data: schema: description: members JSON properties: members: properties: members: items: example: username1 type: string type: array type: object type: object description: JSON containing usernames to add, {"members":["username"]} responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array groups: $ref: '#/components/schemas/group' type: object description: group detail security: - basicAuth: [] summary: Add group members tags: - directory /group/{gid}/members/remove: post: parameters: - description: gid - group id in: path name: gid schema: required: false type: string requestBody: content: multipart/form-data: schema: properties: members: properties: members: items: example: username1 type: string type: array type: object type: object description: JSON containing usernames to remove, {"members":["username"]} responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array groups: $ref: '#/components/schemas/group' type: object description: group detail security: - basicAuth: [] summary: Remove group members tags: - directory /group/{gid}/remove: post: parameters: - description: gid - group id in: path name: gid schema: required: false type: string responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array groups: $ref: '#/components/schemas/group' type: object description: group removed security: - basicAuth: [] summary: Delete specified group tags: - directory /groups: get: description: Retrieves all user's groups. responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array groups: $ref: '#/components/schemas/groups' type: object description: returns the user's groups (user credentials needed) security: - basicAuth: [] summary: Get user's groups. tags: - directory /imageserver: get: description: Proxy for the [imageserver API](http://www.hexaplant.com/pixeldragon/3-access-images.html). This is necessary for the frontend. The images at the image server are hashed so that it's possible to restrict access to them. This method checks if the user (if credentials are provided) is authorized to access the image and if it is, it uses the configured secret to create the hash under which image server knows the image. It then accesses the image server proxying all the parameters and proxies back the response. parameters: - description: IIIF request example: o:440180.tif/full/256,256/0/default.jpg in: query name: IIIF schema: required: false type: string responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array status: type: number streaming: type: object type: object description: Returns the data needed by the IIP-compatible viewers '404': content: application/json: schema: type: object description: object has not been found summary: Proxy for the imageserver. tags: - imageserver /imageserver/process: post: description: If an image server is configured, creates a job in the image server's database to process all the pids from the provided list. Needs admin credentials. parameters: - description: Value 1 to skip creating a job for this pid if a job for a pid already exists. in: query name: skipexisting schema: enum: - 1 required: false type: number requestBody: content: multipart/form-data: schema: properties: pids: properties: pids: items: example: pids type: string type: array type: object type: object responses: '200': content: application/json: schema: items: properties: idhash: type: string pid: type: string type: object type: array description: processed '404': content: application/json: schema: type: object description: Failed security: - basicAuth: [] summary: Let imageserver process multiple objects. tags: - imageserver /imageserver/{pid}/process: post: description: Post an object to be processed to the imageserver. Needs admin credentials parameters: - description: object pid in: path name: pid schema: required: true type: string - description: Value 1 to skip creating a job for this pid if a job for a pid already exists. in: query name: skipexisting schema: enum: - 1 required: false type: number - description: By default, OCTETS is processed. This is a possibility to define another datastream. in: query name: ds schema: enum: - USERTHUMB required: false type: string responses: '200': content: application/json: schema: items: properties: idhash: type: string pid: type: string type: object type: array description: processed '404': content: application/json: schema: type: object description: Failed security: - basicAuth: [] summary: Post to (re-)process one pid on imageserver. tags: - imageserver /imageserver/{pid}/status: get: description: If imageserver is configured, returns the record from the imageserver job database for the pid specified. Read rights are needed. parameters: - description: object pid in: path name: pid schema: required: true type: string responses: '200': content: application/json: schema: properties: conversion: example: ok type: string status: example: finished type: string type: object description: record from the imageserver job database '404': content: application/json: schema: type: object description: object has not been found security: - basicAuth: [] summary: Get imageserver job status tags: - imageserver '/index ': post: description: Post a list of objects which should be re-indexed - needs admin credentials responses: '200': content: application/json: schema: {} description: object info security: - basicAuth: [] summary: Re-index multiple objects at once tags: - object-advanced /jsonld/template/add: post: description: Adds JSON-LD templates requestBody: content: multipart/form-data: schema: properties: form: $ref: '#/components/schemas/json-ld' name: description: New template name type: string tag: type: string type: object responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array status: type: string tid: type: string type: object description: Template created security: - basicAuth: [] summary: Adds JSON-LD templates tags: - templates /jsonld/template/{tid}: get: parameters: - description: template id in: path name: tid schema: required: false type: string responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array template: $ref: '#/components/schemas/template' type: object description: template detail security: - basicAuth: [] summary: Get template detail tags: - templates /jsonld/template/{tid}/remove: post: parameters: - description: template id in: path name: tid schema: required: false type: string responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array status: type: number type: object description: template removed security: - basicAuth: [] summary: Remove template tags: - templates /jsonld/templates: get: description: Retrieves the user's saved JSON-LD templates responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array status: type: string templates: $ref: '#/components/schemas/templates' type: object description: lists JSON-LD templates security: - basicAuth: [] summary: Get user's JSON-LD templates tags: - templates /keepalive: get: description: Extends the expiration time of the session token (the session is identified by the token). responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array expires: type: number sid: type: string status: type: number type: object description: a JSON object with an XSRF-Token and a new expiration time '403': description: credentials invalid security: - tokenAuth: [] summary: Extends session expiration time tags: - session /list/add: post: description: Add a list to the user (from credentials). requestBody: content: multipart/form-data: schema: properties: name: description: List name. type: string type: object responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array lid: type: string type: object description: list added, returns list id ('lid') security: - basicAuth: [] summary: Add list tags: - lists /list/token/{token}: get: parameters: - description: the requested token no in: path name: token schema: {} responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array list: $ref: '#/components/schemas/group' type: object description: list detail summary: Get object list exposed under specified token. tags: - lists /list/{lid}: get: parameters: - description: lid - list id in: path name: lid schema: required: false type: string responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array list: $ref: '#/components/schemas/group' type: object description: list detail security: - basicAuth: [] summary: Get list detail tags: - lists /list/{lid}/members/add: post: parameters: - description: lid - list id in: path name: lid schema: required: false type: string requestBody: content: multipart/form-data: schema: properties: members: properties: members: $ref: '#/components/schemas/lists' type: object type: object description: 'JSON object containing the pids and titles to add, {"members":[{"pid": "o:1","title": "Title"}]}' responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array status: type: number type: object description: Objects added to list security: - basicAuth: [] summary: Add objects to list tags: - lists /list/{lid}/members/remove: post: parameters: - description: lid - list id in: path name: lid schema: required: false type: string requestBody: content: multipart/form-data: schema: properties: members: properties: members: items: example: o:1 type: string type: array type: object type: object description: JSON object containing an array of objects' pids to remove, {"members":[ "o:1","o:2"]} responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array status: type: number type: object description: Objects removed from list. security: - basicAuth: [] summary: Remove objects from list tags: - lists /list/{lid}/remove: post: description: Remove list (input list id). parameters: - description: lid - list id in: path name: lid schema: required: false type: string responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array type: object description: list detail security: - basicAuth: [] summary: Remove list tags: - lists /list/{lid}/token/create: post: description: The token can be used in the /list/token/{token} request to create a URL under which the list can be publicly displayed. parameters: - description: lid - list id in: path name: lid schema: required: false type: string responses: '200': content: application/json: schema: properties: alert: type: number alerts: items: properties: msg: type: string type: type: string type: object type: array token: type: string type: object description: Returns the list token. security: - basicAuth: [] summary: Create a list token tags: - lists /list/{lid}/token/delete: post: parameters: - description: lid - list id in: path name: lid schema: required: false type: string responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array status: type: number type: object description: list detail security: - basicAuth: [] summary: Delete list token tags: - lists /lists: get: responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array lists: $ref: '#/components/schemas/members' type: object description: lists security: - basicAuth: [] summary: Get user's object lists tags: - lists /members/order/json2xml: post: description: Transforms the members JSON structure to XML. See [example of members JSON structure](https://github.com/phaidra/phaidra-api/wiki/Collection-members-json-structure). requestBody: content: multipart/form-data: schema: properties: metadata: properties: metadata: $ref: '#/components/schemas/members' type: object type: object responses: '200': content: application/json: schema: properties: alerts: type: array metadata: type: string type: object description: Members JSON in XML format. summary: Transforms members JSON to XML. tags: - datastream /members/order/xml2json: post: requestBody: content: application/json: schema: properties: metadata: properties: geo: example: o:98079o:97973o:98109o:98074o:16066o:16083o:98076o:26111o:18o:62026 type: string type: object type: object responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array metadata: $ref: '#/components/schemas/members' type: object description: Collection members in JSON summary: Transforms the members XML structure to JSON. tags: - datastream /mods/json2xml: post: description: Transforms the MODS from JSON to XML. requestBody: content: multipart/form-data: schema: properties: metadata: $ref: '#/components/schemas/mods' description: example of mods JSON type: object responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array metadata: properties: mods: type: string type: object type: object description: MODS XML. summary: Transforms MODS JSON to XML. tags: - datastream /mods/json2xml_validate: post: description: Transforms the MODS structure from JSON to XML and validates it. requestBody: content: multipart/form-data: schema: properties: metadata: $ref: '#/components/schemas/mods' type: object responses: '200': content: application/json: schema: $ref: '#/components/schemas/default' description: MODS JSON validated. '400': content: application/json: schema: $ref: '#/components/schemas/default' description: Bad request summary: Validates MODS JSON tags: - datastream /mods/tree: get: description: Returns the MODS structure with all nodes, dictionaries, etc. responses: '200': content: application/json: schema: $ref: '#/components/schemas/mods_tree' description: Mods tree. summary: Get MODS tree. tags: - datastream /mods/validate: post: description: Validates the MODS structure in XML. requestBody: content: application/json: schema: properties: metadata: properties: annotations: example: AC04090285gerGustavFreytagedtKarte der Dachstein-Gruppefür TouristenTouristenkartenDeutschland, Österreich, Schweiz <Geographie>DachsteinKarte1931WienG. Freytag & Berndt1 Kt.mehrfarb.58 x 55 cmUniversitätsbibliothek WienMaschinell erzeugtgerrakwbBestand der Kartensammlung der Fachbereichsbibliothek Geographie und Regionalforschung, Universität Wienhttp://creativecommons.org/publicdomain/mark/1.0/ type: string type: object type: object responses: '200': content: application/json: schema: $ref: '#/components/schemas/default' description: XML validated. summary: Validates the MODS XML. tags: - datastream /mods/xml2json: post: description: Transforms the MODS from XML to JSON. parameters: - description: mode full or basic in: query name: mode schema: default: basic enum: - full - basic required: false type: string requestBody: content: application/json: schema: properties: metadata: properties: annotations: example: AC04090285gerGustavFreytagedtKarte der Dachstein-Gruppefür TouristenTouristenkartenDeutschland, Österreich, Schweiz <Geographie>DachsteinKarte1931WienG. Freytag & Berndt1 Kt.mehrfarb.58 x 55 cmUniversitätsbibliothek WienMaschinell erzeugtgerrakwbBestand der Kartensammlung der Fachbereichsbibliothek Geographie und Regionalforschung, Universität Wienhttp://creativecommons.org/publicdomain/mark/1.0/ type: string type: object type: object responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array mods: $ref: '#/components/schemas/mods' type: object description: MODS as JSON structure. summary: Transforms MODS XML to JSON. tags: - datastream /oai: get: parameters: - description: See [the OAI-PMH protocol](https://www.openarchives.org/pmh/) examples: GetRecord: summary: GetRecord value: GetRecord Identify: summary: Identify value: Identify ListIdentifiers: summary: ListIdentifiers value: ListIdentifiers ListRecords: summary: ListRecords value: ListRecords in: query name: verb schema: type: number responses: '200': content: text/xml: schema: type: string description: '' summary: OAI-PMH endpoint. tags: - oai-pmh post: responses: '200': content: application/json: schema: type: object description: See [the OAI-PMH protocol](https://www.openarchives.org/pmh/) summary: Same as GET. tags: - oai-pmh /oai/blacklist: post: description: Ingest TSV with columns `AC-Nummer` and `Identifier Phaidra`, and create records in `oai_records_blacklist` if ac_number/pid not already present. The blacklist is a list of PIDs which should not be included in a particular set in OAI-PMH, e.g. because the harvester gets those objects by other means (avoids duplicity). parameters: - description: Optional sets (comma-separated), if not supplied in JSON body. in: query name: sets schema: type: string requestBody: content: application/json: example: sets: - phaidra4primo tsv: "AC-Nummer\tIdentifier Phaidra\nAC00001880\to:2045295" schema: properties: sets: items: type: string type: array tsv: type: string type: object text/plain: example: "AC-Nummer\tIdentifier Phaidra\nAC00001880\to:2045295\nAC00003863\to:2040220" schema: type: string required: true responses: '200': content: application/json: schema: properties: existing: type: integer existing_items: items: type: object type: array inserted: type: integer inserted_items: items: type: object type: array invalid: type: integer invalid_items: items: type: object type: array sets: items: type: string type: array total_rows: type: integer type: object description: Summary of inserted/existing/invalid rows '400': content: application/json: schema: properties: error: type: string type: object description: Bad request details summary: Add blacklist entries from TSV or JSON payload tags: - oai-pmh /object/create: post: requestBody: content: multipart/form-data: schema: properties: file: format: binary required: true type: string metadata: description: a structure containing metadata; refer to the wiki (see above) for further details example: json-ld: dce:title: - '@type': bf:Title bf:mainTitle: - '@language': deu '@value': Title edm:rights: - https://rightsstatements.org/page/InC/1.0/ role:aut: - '@type': schema:Person schema:familyName: - '@value': Last Name schema:givenName: - '@value': First name required: true type: object mimetype: description: 'mimetype is optional: if not provided, heuristics is used on server side' example: application/json required: false type: string type: object responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array pid: type: string status: type: number type: object description: empty object created '404': content: application/json: schema: type: object description: error creating object security: - basicAuth: [] summary: Create empty object, without a specified cmodel tags: - object-advanced /object/create/{cmodel}: post: parameters: - description: object cmodel in: path name: cmodel schema: enum: - cmodel:Picture - cmodel:PDFDocument - cmodel:Video - cmodel:Audio - cmodel:Collection - cmodel:Asset - cmodel:Container - cmodel:Paper - cmodel:Collection - cmodel:LaTeXDocument - cmodel:Resource - cmodel:Book - cmodel:Page required: true type: string responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array pid: type: string status: type: number type: object description: empty object created '404': content: application/json: schema: type: object description: error creating object security: - basicAuth: [] summary: Create empty object, with cmodel tags: - object-advanced /object/{pid}/annotations: get: description: Retrieve annotations datastream. parameters: - description: the requested object id in: path name: pid schema: required: true type: string responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array annotations: $ref: '#/components/schemas/annotations' status: type: string type: object description: JSON with annotations (saved as XML but currently only returned as JSON) '404': content: application/json: schema: type: object description: Failed to fetch data summary: Get annotations. tags: - object-advanced post: description: This method can save annotations to an object. The format chosen is taken from IIPMooViewer. parameters: - description: object pid in: path name: pid schema: required: true type: string requestBody: content: multipart/form-data: schema: properties: metadata: $ref: '#/components/schemas/annotations' type: object description: Adds annotation JSON. See datastream examples for the [annotations.json](https://github.com/phaidra/phaidra-api/wiki/Annotations). responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array status: type: string type: object description: Annotation saved security: - basicAuth: [] summary: Saves annotations. tags: - object-advanced /object/{pid}/cmodel: get: description: Returns the object cmodel parameters: - description: object id in: path name: pid schema: required: true type: string responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array cmodel: type: string status: type: number type: object description: cmodel (e.g. collection) summary: Get cmodel tags: - object-advanced /object/{pid}/data: post: parameters: - description: object pid in: path name: pid schema: required: true type: string - description: object mimetype in: query name: mimetype schema: required: false type: string requestBody: content: multipart/form-data: schema: properties: file: format: binary type: string type: object responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array pid: type: string status: type: number type: object description: data added to object '404': content: application/json: schema: type: object description: error security: - basicAuth: [] summary: Replace data (add a new version of OCTETS datastream) tags: - object-advanced /object/{pid}/datacite: get: parameters: - description: object id in: path name: pid schema: required: true type: string responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array datacite: $ref: '#/components/schemas/datacite' status: type: string type: object description: DataCite metadata '404': content: application/json: schema: type: object description: Failed to fetch data summary: Transforms metadata to DataCite. tags: - object-advanced /object/{pid}/datastream/{dsid}: post: parameters: - description: the requested object id in: path name: pid schema: required: true type: string - description: datastream id example: IIIF-MANIFEST in: path name: dsid schema: required: true type: string requestBody: content: multipart/form-data: schema: properties: controlgroup: description: One of X, M, R, or E (Inline XML, Managed Content, Redirect, or External Referenced) enum: - X - M - R - E required: true type: string dscontent: format: binary type: string dslabel: description: For OCTETS datastream it should be the original filename (e.g. my_test.pdf). For other datastreams any string, it's not used by PHAIDRA. required: false type: string location: description: location of managed or external datastream content required: false type: string mimetype: example: application/json required: false type: string type: object responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array status: type: string type: object description: Datastream added or modified '404': content: application/json: schema: type: object description: Failed to fetch data security: - basicAuth: [] summary: Add or modify datastream tags: - object-advanced /object/{pid}/delete: post: description: This method permanently deletes the object from the repository. In case Fedora 6+ is the backend repository, a tombstone will be created in object's place. parameters: - description: object pid in: path name: pid schema: required: true type: string responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array status: type: integer type: object description: status of delete request security: - basicAuth: [] summary: Delete object. tags: - object-basics /object/{pid}/download: get: description: 'Receive data as Content-Disposition: attachment. Use this link if you want the browser to download a file.' parameters: - description: object pid in: path name: pid schema: required: true type: string responses: '200': description: Object's data '404': content: application/json: schema: type: object description: object has not been found security: - basicAuth: [] summary: Download object's data tags: - object-basics /object/{pid}/fulltext: get: parameters: - description: requested pid - object id in: path name: pid schema: required: true type: string - description: specifies the desired format for the return in: query name: format schema: default: txt required: false type: string responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array status: type: number streaming: type: object type: object description: requested objects fulltext data '404': content: application/json: schema: type: object description: object has not been found security: - basicAuth: [] summary: 'Retrieves the FULLTEXT datastream of a specified object. It returns this datastream as it was saved: this is not a method which extracts fulltext from object''s data.' tags: - object-advanced /object/{pid}/geo: get: description: Retrieves geo datastream of object. parameters: - description: the requested object id in: path name: pid schema: required: true type: string responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array geo: $ref: '#/components/schemas/geo' status: type: string type: object description: JSON of geo metadata. The datastream is saved as OGC-KML XML but currently only returned as JSON. '404': content: application/json: schema: type: object description: Failed to fetch data summary: Get geo. tags: - object-advanced post: description: This method saves information about the object's geolocation. parameters: - description: object pid in: path name: pid schema: required: true type: string requestBody: content: multipart/form-data: schema: properties: metadata: $ref: '#/components/schemas/geo' type: object responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array status: type: string type: object description: geolocation data saved security: - basicAuth: [] summary: Saves geo. tags: - object-advanced /object/{pid}/get: get: description: Receive data as a stream. Use this link if you want to embed the data, e.g. in a player/viewer. parameters: - description: object pid in: path name: pid schema: required: true type: string responses: '200': description: Object's data '404': content: application/json: schema: type: object description: object has not been found security: - basicAuth: [] summary: Get object's data tags: - object-basics /object/{pid}/id: get: description: Get a list of identifiers that are saved in Dublin Core as [http://purl.org/dc/terms/identifier](http://purl.org/dc/terms/identifier). parameters: - description: object id in: path name: pid schema: required: true type: string responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array ids: items: type: string type: array status: type: string type: object description: ids summary: Get Dublin Core identifiers. tags: - object-advanced /object/{pid}/id/add: post: description: Add an identifier to the triples (as a relationship with the predicate 'http://purl.org/dc/terms/identifier'). It is then available in the Dublin Core and index automatically, but will not be added to metadata. IDs added this way are usually added by PHAIDRA (for Handles), while the IDs in metadata are added and controlled by the user. parameters: - description: the requested object id in: path name: pid schema: required: true type: string requestBody: content: multipart/form-data: schema: properties: doi: description: the DOI identifier example: 10.5194/bg-11-1491-2014 required: false type: string hdl: description: 'the handle identifier ' example: 11353/10.448537 required: false type: string urn: description: the URN identifier example: urn:nbn:at:at-ubw-30020.78240.320264-3 required: false type: string type: object responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array status: type: string type: object description: Identifyer added '404': content: application/json: schema: type: object description: Failed to fetch data security: - basicAuth: [] summary: Add an identifier triple tags: - object-advanced /object/{pid}/id/remove: post: parameters: - description: the requested object id in: path name: pid schema: required: true type: string requestBody: content: multipart/form-data: schema: properties: doi: description: the DOI identifier example: 10.5194/bg-11-1491-2014 required: false type: string hdl: description: 'the handle identifier ' example: 11353/10.448537 required: false type: string urn: description: the URN identifier example: urn:nbn:at:at-ubw-30020.78240.320264-3 required: false type: string type: object responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array status: type: string type: object description: Identifyer removed '404': content: application/json: schema: type: object description: Failed to fetch data security: - basicAuth: [] summary: Remove identifier from triples tags: - object-advanced /object/{pid}/iiifmanifest: get: description: Retrieves the iiifmanifest datastream. parameters: - description: requested pid in: path name: pid schema: required: true type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/iiifmanifest' description: iiifmanifest data summary: Get iiifmanifest. tags: - object-advanced post: parameters: - description: object pid in: path name: pid schema: required: true type: string requestBody: content: multipart/form-data: schema: properties: metadata: properties: metadata: properties: IIIF-MANIFEST: $ref: '#/components/schemas/iiifmanifest' type: object type: object type: object responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array status: type: string type: object description: '' security: - basicAuth: [] summary: Saves the iiifmanifest. tags: - object-advanced /object/{pid}/index: post: description: Triggers the update of the object's index (Solr). Need admin authentication parameters: - description: object id in: path name: pid schema: required: true type: string - description: ignore object status, i.e. include inactive objects in: path name: ignorestatus schema: required: false type: boolean - description: skip re-indexing of the parent object in: path name: norecursion schema: required: false type: boolean responses: '200': content: application/json: schema: type: object description: object indexed '404': content: application/json: schema: type: object description: Failed to fetch data security: - basicAuth: [] summary: Re-indexes object. tags: - object-basics /object/{pid}/index/dc: get: description: Get metadata exported (and significantly reduced) in Dublin Core standard parameters: - description: object id in: path name: pid schema: required: true type: string responses: '200': content: text/xml: example: schema: type: string description: dc - in XML '404': content: application/json: schema: type: object description: Failed to fetch data summary: Get DC tags: - object-advanced /object/{pid}/index/members: get: description: Get object's members using indexed data. parameters: - description: object id in: path name: pid schema: required: true type: string responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array members: type: array status: type: string type: object description: members '404': content: application/json: schema: type: object description: Failed to fetch data summary: Get object's members. tags: - object-advanced /object/{pid}/index/relationships: get: description: Retrieves the object's relationships using indexed data. parameters: - description: object id in: path name: pid schema: required: true type: string responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array alternativeformats: items: type: string type: array alternativeversions: items: type: string type: array relationships: $ref: '#/components/schemas/index_relationship' status: type: string versions: items: type: string type: array type: object description: relationships, from index '404': content: application/json: schema: type: object description: Failed to fetch data summary: Get relationships, from index. tags: - object-advanced /object/{pid}/info: get: description: This method returns metadata (UWMETADATA, MODS, JSON-LD, etc., depending on the metadata datastream), as well as indexed data about the object and its related objects. It's the primary method of getting as much information about an object as possible. parameters: - description: object pid in: path name: pid schema: required: true type: string responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array info: $ref: '#/components/schemas/object_info' status: type: number type: object description: object info '404': content: application/json: schema: type: object description: object has not been found security: - basicAuth: [] summary: Get object info tags: - object-basics /object/{pid}/json-ld: get: description: Retrieve full object JSON-LD, with `@context` header, etc. parameters: - description: the requested object id in: path name: pid schema: required: true type: string responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array jsonld: $ref: '#/components/schemas/json-ld' status: type: string type: object description: JSON-LD metadata '404': content: application/json: schema: type: object description: failed to fetch data summary: Get full JSON-LD. tags: - object-advanced /object/{pid}/jsonld: get: description: Retrieve object JSON-LD metadata. parameters: - description: the requested object id in: path name: pid schema: required: true type: string responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array jsonld: $ref: '#/components/schemas/jsonld' status: type: string type: object description: JSON-LD metadata '404': content: application/json: schema: type: object description: failed to fetch data summary: Get JSON-LD. tags: - object-advanced post: description: This method saves the metadata if you are using JSON-LD as a metadata structure. parameters: - description: object pid in: path name: pid schema: required: true type: string requestBody: content: multipart/form-data: schema: properties: metadata: properties: metadata: properties: json-ld: $ref: '#/components/schemas/json-ld' type: object type: object type: object responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array status: type: string type: object description: JSON-LD metadata saved security: - basicAuth: [] summary: Saves JSON-LD. tags: - object-advanced /object/{pid}/jsonldprivate: get: parameters: - description: object pid in: path name: pid schema: required: true type: string responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array status: type: number type: object description: JSON-LD-PRIVATE datastream '404': content: application/json: schema: type: object description: object has not been found security: - basicAuth: [] summary: Get the non-public JSON-LD-PRIVATE datastream. tags: - object-advanced post: description: This method saves the object's metadata if you are using jsonld as a metadata structure. Unlike JSON-LD which is always visible, JSON-LD-PRIVATE is only available to the owner/admin. requestBody: content: multipart/form-data: schema: properties: metadata: format: binary type: string type: object responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array status: type: string type: object description: jsonld metadata saved security: - basicAuth: [] summary: Save JSON-LD-PRIVATE datastream tags: - object-advanced /object/{pid}/members/order: get: parameters: - description: the requested object id in: path name: pid schema: required: true type: string responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array status: type: string type: object description: '...' '404': content: application/json: schema: type: object description: Failed to fetch data summary: Retrieve members tags: - object-advanced /object/{pid}/metadata: get: description: Retrieve the object metadata (UWMETADATA, MODS, JSON-LD, etc., depending on the metadata datastream). parameters: - description: object pid in: path name: pid schema: required: true type: string responses: '200': content: application/json: schema: properties: metadata: type: object type: object description: object metadata '404': content: application/json: schema: type: object description: object has not been found summary: Get object's metadata tags: - object-advanced post: description: 'Supported elements (in JSON format) are: json-ld, json-ld-private, mods, uwmetadata, rights, geo, members, membersorder and relationships.' parameters: - description: object pid in: path name: pid schema: required: true type: string requestBody: content: multipart/form-data: schema: properties: metadata: oneOf: $ref: '#/components/schemas/json-ld' type: object description: Object metadata responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array pid: type: string status: type: number type: object description: metadata added '404': content: application/json: schema: type: object description: error security: - basicAuth: [] summary: Edit object's metadata tags: - object-basics /object/{pid}/modify: post: description: Modify the basic properties of an object (the parameters are all optional). Admin credentials are needed. parameters: - description: object pid in: path name: pid schema: required: true type: string requestBody: content: multipart/form-data: schema: properties: label: description: some string (currently not used in PHAIDRA) required: false type: string lastmodifieddate: description: a date in ISO format required: false type: string logmessage: description: log message, string required: false type: string ownerid: description: owner's username required: false type: string state: default: A description: The state of the object can be changed toA (= Active), I (= Inactive), D (= Deleted) enum: - A - I - D required: false type: string type: object responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array pid: type: string status: type: number type: object description: object modified '404': content: application/json: schema: type: object description: object has not been found security: - basicAuth: [] summary: Modify object properties tags: - object-advanced /object/{pid}/mods: get: description: Retrieves object mods datastream. parameters: - description: the requested object id in: path name: pid schema: required: true type: string - description: Specifies the format to be returned. If the format param is set to 'xml', the datastream would be returned as it is saved in Fedora. in: query name: format schema: enum: - xml required: false type: string - description: If the mode is 'full', the whole tree with filled-in values will be returned. If the mode is 'basic' (default), only the filled-in nodes are returned. If the mode is 'resolved', the same JSON as in 'basic' mode will be returned, but all IDs will be resolved to labels. If format param and mode param are both used, only format param will be considered. in: query name: mode schema: enum: - full - basic required: false type: string responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array mods: $ref: '#/components/schemas/mods' status: type: string type: object description: mods JSON '404': content: application/json: schema: type: object description: failed to fetch data summary: Get mods. tags: - object-advanced post: description: 'This method saves the object''s metadata if you are using the mods as a metadata structure. ' parameters: - description: object pid in: path name: pid schema: required: true type: string requestBody: content: multipart/form-data: schema: properties: metadata: $ref: '#/components/schemas/mods' description: example of mods JSON type: object responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array status: type: string type: object description: mods metadata saved security: - basicAuth: [] summary: Saves mods. tags: - object-advanced /object/{pid}/preview: get: description: Retrieves the preview page, for example for embedding in an iframe. Image viewer for supported image formats, PDF viewer for PDFs, audio/video player for media, etc. parameters: - description: object pid in: path name: pid schema: required: true type: string responses: '200': content: text/html: schema: type: string description: html page preview '404': content: application/json: schema: type: object description: object has not been found security: - basicAuth: [] summary: Get preview page tags: - object-basics /object/{pid}/related: get: description: This method returns all objects which are in some relation to the object specified in URL. parameters: - description: the requested object id in: path name: pid schema: required: true type: string - description: Specifies the relation which should be returned, see [relations](https://github.com/phaidra/phaidra-api/wiki/Relations) in: query name: relation schema: enum: - http://pcdm.org/models#hasMember - http://purl.org/dc/terms/references - http://phaidra.org/ontology/isInAdminSet - http://phaidra.org/XML/V1.0/relations#isBackSideOf - http://phaidra.univie.ac.at/XML/V1.0/relations#hasSuccessor - http://phaidra.org/XML/V1.0/relations#isAlternativeFormatOf - http://phaidra.org/XML/V1.0/relations#isAlternativeVersionOf - http://phaidra.org/XML/V1.0/relations#isThumbnailFor required: false type: string - description: nr of entries to skip (paging) in: query name: from schema: required: false type: number - description: nr of entries to return (paging) in: query name: limit schema: required: false type: number - description: 'searches for the relation in opposite direction (e.g. for `hasCollectionMember`: 0 will return a list of objects which are members of this object/collection, 1 will return a list of objects/collections where the object is a member)' in: query name: right schema: enum: - 0 - 1 required: false type: number - description: fields from the index which should be returned. Only works for `fields=dc.description`. The title field is returned by default. Preferred title and description fields are the English ones. in: query name: fields schema: required: false type: string responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array hits: type: number objects: items: properties: cmodel: type: string pid: type: string title: type: string titles: items: properties: lang: type: string text: type: string type: object type: array type: object type: array status: type: string type: object description: The requested objects Dublin Core datastream. '404': content: application/json: schema: type: object description: object has not been found summary: Get related objects. tags: - relationships /object/{pid}/relationship/add: post: description: Add a triple. Adding some system relationships (like hasModel) might be restricted. See the [list of supported relationships](https://github.com/phaidra/phaidra-api/wiki/Relations). parameters: - description: object id in: path name: pid schema: required: true type: string - description: the relationship [list of supported relationships](https://github.com/phaidra/phaidra-api/wiki/Relations) examples: hasCollectionMember: summary: hasCollectionMember value: info:fedora/fedora-system:def/relations-external#hasCollectionMember hasModel: summary: hasModel relationship value: info:fedora/fedora-system:def/model#hasModel isThumbnailFor: summary: isThumbnailFor value: http://phaidra.org/XML/V1.0/relations#isThumbnailFor in: query name: predicate schema: required: true type: string - description: the model of the related object in the repository. A list of possible content models is found [here](https://github.com/phaidra/phaidra-api/wiki/Creating-a-simple-object) examples: Page: summary: Page model value: info:fedora/cmodel:Page Picture: summary: Picture Model value: info:fedora/cmodel:Picture in: query name: object schema: required: false type: string responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array status: type: string type: object description: relationship added '404': content: application/json: schema: type: object description: Failed to fetch data security: - basicAuth: [] summary: Add a relationship. tags: - relationships /object/{pid}/relationship/remove: post: description: Remove a relationship from the RELS-EXT datastream. Removing some [system relationships](https://github.com/phaidra/phaidra-api/wiki/Relations) (like hasModel) might be restricted. parameters: - description: the requested object id in: path name: pid schema: required: true type: string - description: the relationship [list of supported relationships](https://github.com/phaidra/phaidra-api/wiki/Relations) examples: hasCollectionMember: summary: hasCollectionMember value: info:fedora/fedora-system:def/relations-external#hasCollectionMember hasModel: summary: hasModel relationship value: info:fedora/fedora-system:def/model#hasModel isThumbnailFor: summary: isThumbnailFor value: http://phaidra.org/XML/V1.0/relations#isThumbnailFor in: query name: predicate schema: required: true type: string - description: the model of the related object in the repository. A list of possible content models is found [here](https://github.com/phaidra/phaidra-api/wiki/Creating-a-simple-object) examples: Page: summary: Page model value: info:fedora/cmodel:Page Picture: summary: Picture Model value: info:fedora/cmodel:Picture in: query name: object schema: required: false type: string responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array status: type: string type: object description: removed relationship '404': content: application/json: schema: type: object description: Failed to fetch data security: - basicAuth: [] summary: Remove a relationship from RELS-EXT. tags: - relationships /object/{pid}/relationships: get: description: Returns the object relationships (triplestore). parameters: - description: object id in: path name: pid schema: required: true type: string responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array relationships: properties: haspart: items: type: string type: array type: object status: type: string type: object description: Relationships summary: Get relationships. tags: - object-advanced /object/{pid}/rights: get: parameters: - description: object pid in: path name: pid schema: required: true type: string responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array rights: properties: metadata: properties: username: items: properties: expires: type: string value: type: string type: object type: array type: object type: object status: type: number type: object description: Access rights '404': content: application/json: schema: type: object description: object has not been found security: - basicAuth: [] summary: Retrieves the object access restrictions. This method expects authentication. tags: - object-basics post: description: Leave the rights empty (rights:{}) to remove restrictions from object. requestBody: content: multipart/form-data: schema: properties: metadata: description: Example of user rights. properties: rights: $ref: '#/components/schemas/rights' type: object type: object responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array status: type: string type: object description: '' security: - basicAuth: [] summary: Saves the object's access restrictions tags: - object-basics /object/{pid}/state: get: description: Returns the state of the object. parameters: - description: object id in: path name: pid schema: required: true type: string responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array state: type: string status: type: number type: object description: state of object, Active/Inactive/Deleted summary: Get state tags: - object-advanced /object/{pid}/thumbnail: get: parameters: - description: object pid in: path name: pid schema: required: true type: string responses: '200': description: Thumbnail image in jpeg or png format '404': content: application/json: schema: type: object description: object has not been found security: - basicAuth: [] summary: Get the thumbnail image tags: - object-basics /object/{pid}/uwmetadata: get: description: Retrieves the object uwmetadata datastream. parameters: - description: the requested object id in: path name: pid schema: required: true type: string - description: Specifies the format to be returned. If the format param is set to 'xml', the datastream would be returned as it is saved in Fedora. in: query name: format schema: enum: - xml required: false type: string - description: If the mode is 'full', the whole tree with filled-in values will be returned. If the mode is 'basic' (default), only the filled-in nodes are returned. If the mode is 'resolved', the same JSON as in 'basic' mode will be returned, but all IDs will be resolved to labels. If format param and mode param are both used, only format param will be considered. in: query name: mode schema: enum: - full - basic - resoved required: false type: string responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array metadata: properties: uwmetadata: $ref: '#/components/schemas/uwmetadata_min' type: object status: type: string type: object description: JSON of uwmetadata datastream '404': content: application/json: schema: type: object description: Failed to fetch data summary: Get uwmetadata. tags: - object-advanced post: description: This method saves the object's metadata if you are using the uwmetadata as a metadata structure. parameters: - description: object pid in: path name: pid schema: required: true type: string requestBody: content: multipart/form-data: schema: properties: metadata: properties: metadata: description: See [datastream examples](https://github.com/phaidra/phaidra-api/wiki/Datastream-examples) for the the metadata.json. properties: uwmetadata: $ref: '#/components/schemas/uwmetadata_min' type: object type: object type: object responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array status: type: string type: object description: uwmetadata saved security: - basicAuth: [] summary: Saves uwmetadata. tags: - object-advanced /page/create: post: requestBody: content: multipart/form-data: schema: properties: file: format: binary required: true type: string metadata: description: a structure containing metadata; refer to the wiki (see above) for further details example: json-ld: dce:title: - '@type': bf:Title bf:mainTitle: - '@language': deu '@value': Title edm:rights: - https://rightsstatements.org/page/InC/1.0/ role:aut: - '@type': schema:Person schema:familyName: - '@value': Last Name schema:givenName: - '@value': First name required: true type: object mimetype: description: 'mimetype is optional: if not provided, heuristics is used on server side' example: application/json required: false type: string type: object responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array pid: type: string status: type: number type: object description: Page object created '404': content: application/json: schema: type: object description: error creating object security: - basicAuth: [] summary: Creates a page object tags: - object-advanced /picture/create: post: description: Creates a simple data object with internal content model cmodel:Picture. See [wiki](https://github.com/phaidra/phaidra-api/wiki/Creating-a-simple-object) for an example. requestBody: content: multipart/form-data: schema: properties: file: format: binary required: true type: string metadata: description: a structure containing metadata; refer to the [wiki](https://github.com/phaidra/phaidra-api/wiki/Creating-a-simple-object) for further details properties: metadata: properties: json-ld: $ref: '#/components/schemas/json-ld' type: object type: object mimetype: description: 'mimetype is optional: if not provided, heuristics is used on server side' example: application/json required: false type: string type: object security: - basicAuth: [] summary: Creates a picture object tags: - object-basics responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array pid: type: string status: type: number type: object description: Picture object created '404': content: application/json: schema: type: object description: error creating object /resolve: get: description: The resolver must be known/configured. parameters: - description: URI of term example: http://d-nb.info/gnd/4000044-8 in: query name: uri schema: required: false type: string responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array status: type: number type: object description: Depends on the vocabulary summary: Resolve an URI tags: - vocabularies /resource/create: post: requestBody: content: multipart/form-data: schema: properties: file: format: binary required: true type: string metadata: description: a structure containing metadata; refer to the wiki (see above) for further details example: json-ld: dce:title: - '@type': bf:Title bf:mainTitle: - '@language': deu '@value': Title edm:rights: - https://rightsstatements.org/page/InC/1.0/ role:aut: - '@type': schema:Person schema:familyName: - '@value': Last Name schema:givenName: - '@value': First name required: true type: object mimetype: description: 'mimetype is optional: if not provided, heuristics is used on server side' example: application/json required: false type: string type: object responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array pid: type: string status: type: number type: object description: Resource object created '404': content: application/json: schema: type: object description: error creating object security: - basicAuth: [] summary: Creates a resource(-link) object tags: - object-advanced /rights/json2xml: post: description: Transforms the rights structure from JSON to XML (see [examples of rights structure](https://github.com/phaidra/phaidra-api/wiki/Example-of-rights)) requestBody: content: multipart/form-data: schema: properties: metadata: description: example of rights JSON properties: metadata: properties: rights: $ref: '#/components/schemas/rights' type: object type: object type: object responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array metadata: properties: rights: type: string type: object type: object description: rights in XML. summary: Transforms rights JSON to XML. tags: - datastream /rights/json2xml_validate: post: description: Transforms the rights structure from JSON to XML and validates it (see [examples of rights structure](https://github.com/phaidra/phaidra-api/wiki/Example-of-rights)). requestBody: content: multipart/form-data: schema: properties: metadata: properties: metadata: $ref: '#/components/schemas/rights' type: object type: object responses: '200': content: application/json: schema: $ref: '#/components/schemas/default' description: JSON validated. '400': content: application/json: schema: $ref: '#/components/schemas/default' description: Bad request summary: Validates rights JSON. tags: - datastream /rights/validate: post: description: Validates the rights structure in XML. requestBody: content: application/json: schema: properties: metadata: properties: rights: example: username123 type: string type: object type: object responses: '200': content: application/json: schema: $ref: '#/components/schemas/default' description: xml validated. summary: Validates rights XML. tags: - datastream /rights/xml2json: post: description: Transforms the rights structure from XML to JSON (see [examples of rights structure](https://github.com/phaidra/phaidra-api/wiki/Example-of-rights)). requestBody: content: application/json: schema: properties: metadata: properties: rights: example: username123 type: string type: object type: object responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array rights: $ref: '#/components/schemas/rights' status: type: number type: object description: rights in JSON summary: Transforms rights XML to JSON. tags: - datastream /search/select: post: description: Solr query, for the query parameters see [Solr common query parameters](https://solr.apache.org/guide/solr/latest/query-guide/common-query-parameters.html) parameters: - description: query string in: query name: q schema: required: true type: string responses: '200': content: application/json: schema: properties: facet_counts: properties: facet_fields: type: object facet_heatmaps: type: object facet_intervals: type: object facet_querie: type: object facet_ranges: type: object type: object response: properties: docs: type: array numFound: type: number numFoundExact: type: boolean start: type: number type: object responseHeader: items: properties: QTime: type: number params: type: object status: type: number type: object type: array type: object description: search response '404': content: application/json: schema: type: object description: object has not been found summary: Search query tags: - search /settings: get: description: Currently only used to set default metadata template in some external UIs. responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array settings: type: object status: type: string type: object description: '' security: - basicAuth: [] summary: Get user's settings tags: - misc post: description: Currently only used to set default metadata template in some external UIs. responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array settings: type: object status: type: string type: object description: '' security: - basicAuth: [] summary: Save user's settings. tags: - misc /signin: get: description: Authenticate with the api to get an XSFR token back (a cookie with the same name will be set as well). You then have to send this token back in an X-XSRF-TOKEN header for each authenticated call. responses: '200': content: application/json: schema: properties: XSRF-TOKEN: type: string alerts: items: properties: msg: type: string type: type: string type: object type: array status: type: number type: object description: a JSON object with an XSRF-Token '403': description: credentials invalid security: - basicAuth: [] summary: Sign in tags: - session /signout: get: responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array sid: type: string status: type: number type: object description: '' '403': description: credentials invalid security: - tokenAuth: [] summary: Sign out tags: - session /state: get: description: Returns "remote_address". This method is used for monitoring. responses: '200': content: application/json: schema: {} description: The API is running! summary: Test api state tags: - misc /stats/{pid}: get: description: Returns object's usage statistics parameters: - description: object id in: path name: pid schema: required: true type: string responses: '200': content: application/json: schema: properties: stats: properties: detail_page: type: string downloads: type: string type: object type: object description: Usage statistics summary: Get usage statistics tags: - stats /stats/{pid}/chart: get: description: Get /info and download count, with detailed timestamps. parameters: - description: object id in: path name: pid schema: required: true type: string responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array stats: properties: detail_page: properties: at: type: object type: object downloads: type: number type: object status: type: number type: object description: details on object (download, detail_page, etc.) summary: Get timestamped /info and download count. tags: - stats /stats/{pid}/detail_page: get: description: Returns the number of /info calls, which are typically used when accessing the detail page. parameters: - description: object id in: path name: pid schema: required: true type: string responses: '200': content: text/plain: schema: type: number description: /info calls count (integer) summary: Get number of /info calls. tags: - stats /stats/{pid}/downloads: get: parameters: - description: object id in: path name: pid schema: required: true type: string responses: '200': content: text/plain: schema: type: number description: Download count (integer). Useful e.g. for ajax content update without any response parsing necessary. summary: Get downloads count. tags: - stats /streaming/{pid}/key: get: description: The streaming key can be used when building your own video player. If you want the full video player, use /object/{pid}/preview instead. parameters: - description: pid - object id in: path name: pid schema: required: false type: string responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array status: type: number type: object description: Streaming key. '503': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array status: type: number type: object description: Service Unavailable security: - basicAuth: [] summary: Get streaming key tags: - misc /terms/children: get: description: Retrieve the children for a term URI. parameters: - description: URI of term examples: Bibliotheks- und Archivwesen: summary: URI for the Vienna University Library and Archive Services value: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/classification/cls_1/347 in: query name: uri schema: required: false type: string responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array status: type: number terms: properties: labels: properties: de: type: string en: type: string type: object nonpreferred: items: type: string type: array term_id: type: string upstream_identifier: type: string type: object type: object description: terms summary: Get children. tags: - vocabularies /terms/label: get: description: Retrieves the labels for a particular term using its URI as a parameter. It could be a term of a classification or a vocabulary (any type, even licenses and organisational units). parameters: - description: URI of term examples: cls_1: summary: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/classification/cls_1/347 value: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/classification/cls_1/347 voc_17: summary: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/organization/voc_17/1552253 value: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/organization/voc_17/1552253 voc_department: summary: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/organization/voc_department/A767 value: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/organization/voc_department/A767 voc_faculty: summary: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/organization/voc_faculty/A150 value: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/organization/voc_faculty/A150 in: query name: uri schema: required: false type: string responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array labels: properties: labels: properties: de: type: string en: type: string type: object type: object nonpreferred: items: {} type: array status: type: number term_id: type: string upstream_identifier: type: number type: object description: labels summary: Get term labels. tags: - vocabularies /terms/parent: get: description: Retrieve the parent of a term, using its URI. parameters: - description: URI of term examples: Tieranatomie: summary: URI for the term "Animal anatomy" value: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/classification/cls_1/540 in: query name: uri schema: required: false type: string responses: '200': content: application/json: schema: properties: parent: type: string type: object description: parents summary: Get parent. tags: - vocabularies /terms/taxonpath: get: parameters: - description: URI of term examples: BibliotheksundArchivwesen: summary: URI for the Vienna University Library and Archive Services value: http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/classification/cls_1/347 in: query name: uri schema: required: false type: string responses: '200': content: application/json: schema: properties: status: type: number taxonpath: properties: labels: properties: de: type: string en: type: string type: object nonpreferred: type: array term_id: type: string upstream_identifier: type: string uri: type: string type: object type: object description: taxonpath summary: Get the taxon path. tags: - vocabularies /termsofuse: get: responses: '200': content: application/json: schema: properties: added: type: string alerts: items: properties: msg: type: string type: type: string type: object type: array status: type: number terms: type: string version: type: string type: object description: Terms of use summary: Get terms of use tags: - misc /termsofuse/agree/{version}: post: description: Record the user agreement to a particular version of the terms of use. parameters: - description: version of the terms of use in: path name: version schema: required: true type: number responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array status: type: number type: object description: Terms of use security: - basicAuth: [] summary: Agree to terms of use tags: - misc /termsofuse/getagreed: get: responses: '200': content: application/json: schema: {} description: object info security: - basicAuth: [] summary: Checks if the current user agreed to the terms of use. tags: - misc /unknown/create: post: description: Creates a simple data object with internal content model cmodel:Asset. See [wiki](https://github.com/phaidra/phaidra-api/wiki/Creating-a-simple-object) for an example. requestBody: content: multipart/form-data: schema: properties: file: format: binary required: true type: string metadata: description: a structure containing metadata; refer to the [wiki](https://github.com/phaidra/phaidra-api/wiki/Creating-a-simple-object) for further details properties: metadata: properties: json-ld: $ref: '#/components/schemas/json-ld' type: object type: object mimetype: description: 'mimetype is optional: if not provided, heuristics is used on server side' example: application/json required: false type: string type: object responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array pid: type: string status: type: number type: object description: Data object created '404': content: application/json: schema: type: object description: error creating object security: - basicAuth: [] summary: Creates a data object tags: - object-basics /utils/get_all_pids: get: responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array pids: items: type: string type: array status: type: number type: object description: pids summary: Get all pids tags: - misc /uwmetadata/json2xml: post: description: Transforms uwmetadata structure from JSON to XML (see [examples of uwmetadata](https://github.com/phaidra/phaidra-api/wiki/Datastream-examples)). requestBody: content: multipart/form-data: schema: properties: metadata: description: example of uwmetadata JSON properties: metadata: properties: uwmetadata: $ref: '#/components/schemas/uwmetadata_min' type: object type: object type: object responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array metadata: properties: uwmetadata: type: string type: object type: object description: XML uwmetadata. summary: Transforms uwmetadata JSON to XML. tags: - datastream /uwmetadata/json2xml_validate: post: description: 'Transforms uwmetadata structure from JSON to XML, then validates the uwmetadata XML. See [examples of uwmetadata](https://github.com/phaidra/phaidra-api/wiki/Datastream-examples). ' requestBody: content: multipart/form-data: schema: properties: metadata: $ref: '#/components/schemas/uwmetadata_article_basic' type: object description: JSON uwmetadata. An example of article uwmetadata in basic mode is provided. responses: '200': content: application/json: schema: $ref: '#/components/schemas/default' description: Json uwmetadata validated. '400': content: application/json: schema: $ref: '#/components/schemas/default' description: Bad request summary: Validates JSON uwmetadata. tags: - datastream /uwmetadata/tree: get: description: Returns the uwmetadata structure with all nodes, labels, dictionaries, etc. responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array languages: type: object status: type: number tree: $ref: '#/components/schemas/uwmetadata' type: object description: Uwmetadata tree. summary: Get uwmetadata structure. tags: - datastream /uwmetadata/validate: post: description: Validates the uwmetadata structure in XML (see an [example of uwmetadata XML](https://github.com/phaidra/phaidra-api/wiki/Article-uwmetadata-in-xml-format)). The XML has to be sent in the request body as raw data. requestBody: content: text/plain: schema: description: uwmetadata XML, the XML has to be sent in the request body as raw data. format: binary type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/default' description: Xml uwmetadata validated. '400': content: application/json: schema: $ref: '#/components/schemas/default' description: Bad request summary: Validates uwmetadata XML. tags: - datastream /uwmetadata/xml2json: post: description: Transforms the uwmetadata structure from XML to JSON (see [examples of uwmetadata](https://github.com/phaidra/phaidra-api/wiki/Datastream-examples)). parameters: - description: mode full or basic in: query name: mode schema: default: basic enum: - full - basic required: false type: string requestBody: content: application/json: schema: properties: metadata: properties: uwmetadata: example: ' Title de 46 Brenda Walsh 1 ' type: string type: object type: object responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array metadata: properties: uwmetadata: $ref: '#/components/schemas/uwmetadata_min' type: object type: object description: JSON uwmetadata. summary: Transforms uwmetadata XML to JSON. tags: - datastream /video/create: post: description: Creates a simple data object with internal content model cmodel:Video. See [wiki](https://github.com/phaidra/phaidra-api/wiki/Creating-a-simple-object) for an example. requestBody: content: multipart/form-data: schema: properties: file: format: binary required: true type: string metadata: description: a structure containing metadata; refer to the [wiki](https://github.com/phaidra/phaidra-api/wiki/Creating-a-simple-object) for further details properties: metadata: properties: json-ld: $ref: '#/components/schemas/json-ld' type: object type: object mimetype: description: 'mimetype is optional: if not provided, heuristics is used on server side' example: application/json required: false type: string type: object responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array pid: type: string status: type: number type: object description: Video object created '404': content: application/json: schema: type: object description: error creating object security: - basicAuth: [] summary: Creates a video object tags: - object-basics /vocabulary: get: description: Get vocabulary which was saved in API in vocabulary folder. parameters: - description: vocabulary ID examples: http://id.loc.gov/vocabulary/iso639-2: summary: Vocabulary of languages value: http://id.loc.gov/vocabulary/iso639-2 oefos2012: summary: OEFOS 2012 classification value: oefos2012 in: query name: uri schema: type: string - description: cache in: query name: nocache schema: required: false type: boolean responses: '200': content: application/json: schema: properties: alerts: items: properties: msg: type: string type: type: string type: object type: array status: type: number type: object description: JSON representation of the controlled vocabulary summary: Get controlled vocabulary tags: - vocabularies servers: - description: API endpoint url: https://phaidra.unipd.it/api tags: - description: Most important requests you'll need to manage digital objects in PHAIDRA name: object-basics - description: Additional requests for the manipulation of digital objects name: object-advanced - description: Requests for adding and removing object relationships name: relationships - description: '' name: search - description: Requests for transforming and validating datastreams name: datastream - description: Requests for managing metadata templates name: templates - description: Requests related to users, user groups and organisation structure name: directory - description: Requests to the imageserver name: imageserver - description: Requests for manipulating object lists name: lists - description: '' name: stats - description: Requests for controlled vocabularies name: vocabularies - description: Look at the [OAI-PMH protocol](https://www.openarchives.org/pmh) used in this endpoint name: oai-pmh - description: Session management name: session - description: '' name: misc