Terminologies
Organization | Archive Institute |
Project | Database Schema |
Template | Schema DDL |
Entity | Database Table |
Field | Table Column |
Entity Structure | PK -> Fk relations |
Content | Archive unit metadata |
Digital file | Files attached with archive units |
AMID | Unique identifier for every archive unit |
Template/Entity APIs
List Projects
/api/project
Parameters
Name | Type | Default | Description |
---|---|---|---|
lite | Boolean | false | Only get id and name |
onlyAdmin | Boolean | false | Only projects with admin rights |
initializedArchives | Boolean | null | Only get projects with/without initialized archives, if null ignores archive state |
Request URL
http://localhost/gui-server/api/project?lite=false&onlyAdmin=false&initializedArchives=true
Example Response
[ { "id": "kurs", "name": "KURS", "description": "", "templateId": "bb4bd713-307e-4c2d-aa0e-872a1d4bf57e", "templateName": "ISAD(G)_Asta5_template-kurs", "organizationId": "9c8009ac-d5b2-43f5-ba82-d39bba61941f", "organizationName": "KURS", "organizationCode": "KURS", "archiveInitialized": true, "projectStandard": "ISADG", "systemTemplates": null } { "id": "kbenh", "name": "København", "description": "", "templateId": "d2ada7a6-0859-4000-a929-d98399c6f6ce", "templateName": "Starbas-kbenh-kbenh", "organizationId": "eb2159a2-d3c5-428c-8d7a-53686a58adbb", "organizationName": "STARBAS", "organizationCode": "STARBAS", "archiveInitialized": true, "projectStandard": "STARBAS", "systemTemplates": null } ]
Get Project
/api/project/{projectId}
Request URL
http://localhost/gui-server/api/project/kurs
Example Response
{ "id": "kurs", "name": "KURS", "description": "", "templateId": "bb4bd713-307e-4c2d-aa0e-872a1d4bf57e", "templateName": "ISAD(G)_Asta5_template-kurs", "organizationId": "9c8009ac-d5b2-43f5-ba82-d39bba61941f", "organizationName": "KURS", "organizationCode": "KURS", "archiveInitialized": true, "projectStandard": "ISADG", "systemTemplates": null }
Get Project Entity by Entity Name
/api/project/{projectId}/template/entity
Parameters
Name | Type | Default | Description |
---|---|---|---|
name | String | Not default must be provided | Entity name ignoring case |
getFields | Boolean | true | Should include entity fields or not |
Request URL
http://localhost/gui-server/api/project/kurs/template/entity?name=arkiv&getFields=true
Example Response
[ { "id": "335476d5-1c3a-4191-aed9-6f8394388473", "name": "ARKIV", "description": "", "displayName": "Arkiv", "templateId": "bb4bd713-307e-4c2d-aa0e-872a1d4bf57e", "fields": [ { "id": "818db395-ca3f-47e3-8cc6-3566681a0888", "name": "_amid", "displayName": null, "description": null, "type": "uuid", "feature": "objectId", "length": null, "primaryKey": false, "generatedPrimaryKey": false, "unique": true, "nullable": false, "editable": false, "sequence": 0, "entityId": "335476d5-1c3a-4191-aed9-6f8394388473", "codeTableReference": null, "logSettings": { "logCreate": true, "logUpdate": true, "logDelete": true }, "pattern": null, "foreignKey": false, "inherits": false, "initialValue": null, "allowedEntityNames": null, "translations": [] }, ... ], "isJunction": false, "logSettings": { "logCreate": true, "logUpdate": true, "logDelete": true }, "isArchiveRoot": true, "isGlobalMember": false, "features": [], "searchSettings": { "isSearchable": true, "includeParticipantForSearch": true, "includeInheritedParticipantForSearch": false, "includeRestrictionForSearch": true, "includeInheritedRestrictionForSearch": false, "includeTagForSearch": true, "includeInheritedTagForSearch": false }, "translations": [ { "languageCode": "en", "id": "5c296bdf-3a28-4a3b-95f1-8485452c768e", "displayName": "", "description": "" }, ... ] } ]
List Member Entities
/api/project/{projectId}/template/entity-structure/owner/{entityId}
Request URL
http://localhost/gui-server/api/project/kurs/template/entity-structure/owner/335476d5-1c3a-4191-aed9-6f8394388473
Example Response
[ { "id": "ec13d394-5efc-48aa-a25c-ad31e5fa5c95", "owner": { "id": "335476d5-1c3a-4191-aed9-6f8394388473", "name": "ARKIV", ... }, "member": { "id": "ecdeff7c-b2f0-41b0-bbe9-e9dfa5d0b0df", "name": "LOGG", ... }, "links": [ { "id": "c3a612ec-220a-4e27-9176-5929178b3a6b", "owner": { "id": "7389a042-8860-49a3-b28b-ed26f0eaab18", "name": "arkivid", ... }, "member": { "id": "8f10366a-1da7-4b3e-add0-223b527ff5fd", "name": "arkivid", ... }, "populateDuringImport": false } ], "createIndex": true, "isMemberSearchable": true }, ... ]
List Owner Entities
/api/project/{projectId}/template/entity-structure/member/{entityId}
Request URL
http://localhost/gui-server/api/project/kurs/template/entity-structure/member/ecdeff7c-b2f0-41b0-bbe9-e9dfa5d0b0df
Example Response
[ { "id": "ec13d394-5efc-48aa-a25c-ad31e5fa5c95", "owner": { "id": "335476d5-1c3a-4191-aed9-6f8394388473", "name": "ARKIV", ... }, "member": { "id": "ecdeff7c-b2f0-41b0-bbe9-e9dfa5d0b0df", "name": "LOGG", ... }, "links": [ { "id": "c3a612ec-220a-4e27-9176-5929178b3a6b", "owner": { "id": "7389a042-8860-49a3-b28b-ed26f0eaab18", "name": "arkivid", ... }, "member": { "id": "8f10366a-1da7-4b3e-add0-223b527ff5fd", "name": "arkivid", ... }, "populateDuringImport": false } ], "createIndex": true, "isMemberSearchable": true }, ... ]
Content/Data APIs
List Contents
POST /api/content/{projectId}/entity/{entityName}/search
Parameters
Name | Type | Default | Description |
---|---|---|---|
firstResult | Int | Not default must be provided | Offset |
maxResults | Int | true | Size |
sortParamList | String[] | [_amid] | Sort fields |
Body
Optional search condition as a JSON Object. This condition can be of 4 types.
Type | Operators | Example |
---|---|---|
Binary |
| { "type": "binary", "value1": { "type": "column", "columnName": "arkivid", "castAs": null }, "operator": "EQUALS", "value2": { "type": "direct", "value": "319f07ba-e894-4a31-a731-62bc3cd18072", "castAs": "uuid" } } |
Unitary |
| { "type": "unary", "value": { "type": "column", "columnName": "arkivid", "castAs": null }, "operator": "NOT_NULL" } |
List |
| { "type": "list", "column": { "type": "column", "columnName": "arkivid", "castAs": null }, "listOperator": "IN", "values": { "type": "direct", "value": [ "319f07ba-e894-4a31-a731-62bc3cd18072" ], "castAs": "uuid" } } |
Combination |
| { "type": "combination", "conditionsToCombine": [ { "type": "list", "column": { "type": "column", "columnName": "arkivid", "castAs": null }, "listOperator": "IN", "values": { "type": "direct", "value": [ "319f07ba-e894-4a31-a731-62bc3cd18072" ], "castAs": "uuid" } }, { "type": "unary", "value": { "type": "column", "columnName": "navn", "castAs": null }, "operator": "NOT_NULL" } ], "combiner": "AND" } |
Request URL
http://localhost/gui-server/api/project/kurs/template/entity?name=arkiv&getFields=true
Example Request Body
{ "type": "list", "column": { "type": "column", "columnName": "arkivid", "castAs": null }, "listOperator": "IN", "values": { "type": "direct", "value": [ "319f07ba-e894-4a31-a731-62bc3cd18072" ], "castAs": "uuid" } }
Example Response
[ { "_amid": "21124e96-66cb-4cf3-88e5-1b3591e02ef3", "identifikator": "A-1011", "innhold": "Vår største styrke er evnen til å tiltrekke oss og beholde noen av de beste utviklerne i Dhaka - et enormt spennende arbeidsmarked. Vi kan derfor skaffe erfarne seniorutviklere med kompetanse det nesten er umulig å finne i Norge - og det til en kostnad langt lavere enn lokale ansettelser eller innleide konsulenter.", "navn": "Oslo ferieleir", "created": "2023-06-21T08:48:46.500+00:00", "created_by": "sys_admin", "updated": "2024-09-12T07:46:11.442+00:00", "updated_by": "sys_admin", "kasskode": null, "arkivid": "319f07ba-e894-4a31-a731-62bc3cd18072", "merknad": null, "sluttdato": "1993.05.01", "startdato": "1975", "presisjon": "E", "omfang": null, "omfangenhet": null, "ordningsgrad": "C", "ordnetav": null, "ordnetdato": null, "katalogisering": null, "katalogmedium": null, "katalogreferanse": null, "asta5urn": "no-KURS_arkiv_000000000109", "depotstatus": "AV", "bevarinsgstid": 0, "kassasjonsar": null, "ispublishenabled": true, "fargebilde": false, "bunnmateriale": "0", "teknikk": "0", "fysisktilstand": "0", "beskrivelse": null, "planlagtkonservering": null, "bredde": null, "hoyde": null, "malestokk": null, "teknikkmerknad": null, "lokasjon": "SAO", "arkivlast": false, "date": null } ]