Entity API
Overview
Use the Entity API in order to manage IBS-Entities of different types.
Create
Parameter | Type | Required | Comment |
---|---|---|---|
action | String | create see also API - General parameters | |
datasource | String | the url of the file to fetch | |
type | String or int | ||
hrid | String | ||
description | String | ||
expirydate | timestamp | if set, the entity will be deleted after the expirydate | |
mimetype | String | only for type = 1 (File) If not given, then the mime-type is extracted from the ending of the datasource | |
customdata | JSON | possible entries:
| |
pin | boolean | set this to true in order to pin the entity, i.e. create a self-referencing relation set this to false in order to unpin the entity, i.e. delete the self-referencing relation see Reference API | |
parent | uuid | uuid of the parent entity - if addreferences is also given, parent is ignored, see also Reference API | |
child | uuid | uuid of the child entity - if addreferences is also given, child is ignored, see also Reference API | |
addreferences | JSON | JSON with "children" = a list of child-uuids and / or "parents" = an array of parent-uuids to be added, e.g. {"children" : ["428A57C1-B006-44AE-AAF3-7C72B3A28FE0" , "C879A548-7827-4628-ADF3-AE8A01C314F5"], "parents" : ["41C3CB6B-BC23-40BF-8582-790BDB904CA5", "0FF44487-C6D6-4960-A4D3-E67B73D897CF" ]}, see also Reference API | |
removereferences | JSON | JSON with "children" = a list of child-uuids and "parents" = an array of parent-uuids to be removed, see also Reference API | |
refid | String | the id of an external system | |
filesize | long | the size in bytes of the file, given at datasource. If given, this value is used to check, whether the fetch succeeded correctly. FYI: The entity represents the logical file. Internally the fetched file is represented as a StorageEntity. The filesize of a StorageEntity may differ from the logical one, as we could implement a compression or encryption depending on the storage that is used. Therefore the values of this filesize and the one of the according StorageEntity may be different! | |
checksum | String | the crc-checksum of the file, give at datasource. If given, this value is used to check, whether the fetch succeeded correctly. FYI: The entity represents the logical file. Internally the fetched file is represented as a StorageEntity. The checksum of a StorageEntity may differ from the logical one, as we could implement a compression or encryption depending on the storage that is used. Therefore the values of this checksum and the one of the according StorageEntity may be different! |
Example call
/api/v1/entities?action=create&type=1&datasource=http://example.org/image.png&description=Item1 POST /api/v1/entities type=1 datasource=http://example.org/image.png description=Item1
Answer
Success
{ "type": "Result:EntityApi:Create:Success", "uuid": "149a8e27-9bb7-4dd3-9bba-f4913b113504" }
Error
different error states
CreateBulk
Parameter | Type | Required | Comment |
---|---|---|---|
action | String | createbulk see also API - General parameters | |
entities | JSONArray | a JSONArray containing the values for each entity that should be created. See create for possbile values. |
Example call
POST /api/v1/entities/createbulk entities = [ { "type": 2, "description": "test 1" }, { "type": 3, "description": "test2" }, { "type":3, "description": "test3" } ]
Answer
Success
{ "entities": [ { "type": "Success:EntityApi:Create", "uuid": "20eb8cc6-57db-4568-b911-1d86976efe1d" }, { "type": "Success:EntityApi:Create", "uuid": "1c33863f-da92-4c7f-87a5-b8102f730069" }, { "type": "Success:EntityApi:Create", "uuid": "8380c211-0465-44d5-9fd1-553ae337c340" } ], "type": "Success:EntityApi:CreateBulk" }
Error
different error states
If a create-action for one entity does not work due to an exception, a rollback is done for the whole bulk action.
Delete
Parameter | Type | Required | Comment |
---|---|---|---|
action | String | delete see also API - General parameters | |
uuid | uuid | see also API - General parameters |
Example call
/api/v1/entities?action=delete&uuid=149a8e27-9bb7-4dd3-9bba-f4913b113504 DELETE /api/v1/entities/149a8e27-9bb7-4dd3-9bba-f4913b113504
Answer
Success
{ "type": "Result:EntityApi:Delete:Success" }
Error
different error states
DeleteBulk
Parameter | Type | Required | Comment |
---|---|---|---|
action | String | deletebulk see also API - General parameters | |
entities | JSONArray | a JSONArray containing the uuid for each entity that should be deleted. |
Example call 1
POST /api/v1/entities/deletebulk entities = [ "bc204f76-7f22-4c07-ad0f-cfb62f7b07fa", "f66ec4c3-258a-4a71-8238-4c7e439ba20a", "1e813623-c30a-4cf4-8347-8f4a1092bdcd" ]
Example call 2
POST /api/v1/entities/deletebulk entities = [ { "uuid": "bc204f76-7f22-4c07-ad0f-cfb62f7b07fa"}, { "uuid": "f66ec4c3-258a-4a71-8238-4c7e439ba20a"}, { "uuid": "1e813623-c30a-4cf4-8347-8f4a1092bdcd"}]
Answer
Success
{ "entities": [ { "type": "Success:EntityApi:Delete" }, { "type": "Success:EntityApi:Delete" }, { "type": "Success:EntityApi:Delete" } ], "type": "Success:EntityApi:DeleteBulk" }
Error
different error states
If a delete-action for one entity does not work due to an exception, a rollback is done for the whole bulk action.
Find
Parameter | Type | Required | Comment |
---|---|---|---|
action | String | find see also API - General parameters | |
field | String | possible values:
| |
value | String | the value that should be searched for | |
key | String | required only for search in customdata = the key in customdata to search for | |
offset | Long | set the offset | |
onlymultipleentries | Boolean | if set to true, the result will only contain entries with similiar descriptions - can only be used for description | |
ordercolumns | String | one can set the order - if this string contains invalid columns, the standard sorting is used |
Example call
/api/v1/entity?action=find&field=refid&value="k342i5" POST /api/v1/entities action=find field=refid value="k342i5"
Answer
Success
{ "entities": [ { "expirydate": "", "creationdate": "2018-09-12 12:57:45", "pinned": "false", "downloadurl": "http://localhost:8084/api/api/v1/entities/4a2d501b-8981-4070-8f46-b6279f7a7e85/download", "countparents": 1, "modificationdate": "2018-09-13 09:45:21", "uuid": "4a2d501b-8981-4070-8f46-b6279f7a7e85", "entitytype": "FILE", "hrid": "", "datasource": "https://upload.wikimedia.org/wikipedia/commons/f/f1/Fairy_of_Eagle_Nebula.jpg", "mimetype": "", "state": "FETCHED", "refid": "k342i5", "countchildren": 0 } ], "type": "Success:EntityApi:Find:refid" }
Important:
- the downloadurl is only available, after the entity was sucessfully fetched.
- Please be aware, that the downloadurl can change - so you must not remeber it, but get the downloadurl by this or the Info-function right bevor downloading the file.
- Entites can only by downloaded by using the downloadurlÂ
Error
different error states
Info
Parameter | Type | Required | Comment |
---|---|---|---|
action | String | info see also API - General parameters | |
uuid | uuid | see also API - General parameters |
Example call
/api/v1/entities?action=info&uuid=149a8e27-9bb7-4dd3-9bba-f4913b113504 GET /api/v1/entities/149a8e27-9bb7-4dd3-9bba-f4913b113504?action=info
Answer
Success
{ "creationdate": "2018-09-11 16:41:56", "pinned": "true", "datasource": "https://de.wikipedia.org/wiki/Pillars_of_Creation#/media/File:Eagle_nebula_pillars.jpg", "downloadurl": "http://localhost:8084/api/api/v1/entities/d8779203-cac3-4a97-968a-e62ab59f304a", "countparents": 1, "mimetype": "image/jpeg", "state": "FETCHED", "refid": "custom57", "type": "Success:EntityApi:Info", "modificationdate": "2018-09-11 16:45:46", "uuid": "d8779203-cac3-4a97-968a-e62ab59f304a", "entitytype": "FILE", "countchildren": 1 }
Important:
- the downloadurl is only available, after the entity was sucessfully fetched.
- Please be aware, that the downloadurl can change - so you must not remeber it, but get the downloadurl by this function right bevor downloading the file.
- Entites can only by downloaded by using the downloadurlÂ
Error
different error states
Refinfo
Parameter | Type | Required | Comment |
---|---|---|---|
action | String | refinfo see also API - General parameters | |
uuid | uuid | see also API - General parameters | |
poc | String | set this to "parents" or leave blank to list children |
Example call
/api/v1/entities?action=refinfo&uuid=149a8e27-9bb7-4dd3-9bba-f4913b113504 GET /api/v1/entities/149a8e27-9bb7-4dd3-9bba-f4913b113504?action=refinfo
Answer
Success
{ "entitytype": "MANUFACTURER", "children": [ { "childtype": "PORTAL", "childdescription": "ein portal", "childuuid": "db1715f3-c59a-4bf7-8325-9b360d4f13d6", "sub-child": [ { "children": [ { "childtype": "CUSTOMER", "childdescription": "ein kunde", "childuuid": "43016b9a-72cd-4209-89dd-4138c62b4cfc", "sub-child": [ { "children": [ { "childtype": "PROJECT", "childdescription": "ein Projekt", "childuuid": "9ed80058-9006-4097-9bf5-17ea5fc00f6b", "sub-child": [ { "children": [ { "childtype": "FILE", "childdescription": " datei 1", "childuuid": "d482a965-b547-467a-b267-53d610a6504d" }, { "childtype": "FILE", "childdescription": "datei 2", "childuuid": "4c8f8a4c-795c-47cd-adfa-fe3650e9d114" }, { "childtype": "FILE", "childdescription": "datei 3", "childuuid": "64ef025e-1fc6-44d7-9215-465b94691ddd" } ] } ] } ] } ] } ] } ] } ], "uuid": "cc5b64c0-6095-49b6-834b-8cf693023481" }
Error
different error states
Update
Parameter | Type | Required | Comment |
---|---|---|---|
action | String | update see also API - General parameters | |
uuid | uuid | see also API - General parameters | |
description | String | ||
pin | boolean | set this to true to pin the entity; only possible if state is NEW, SCHEDULED or FETCHED; set this to fals to un-pin the entity | |
expirydate | timestamp | if set the entity will be deleted after the expirydate | |
parent | uuid | uuid of the parent entity - if addreferences is also given, parent is ignored, see also Reference API | |
child | uuid | uuid of the child entity - if addreferences is also given, child is ignored, see also Reference API | |
addreferences | JSON | JSON with "children" = a list of child-uuids and / or "parents" = an array of parent-uuids to be added, e.g. {"children" : ["428A57C1-B006-44AE-AAF3-7C72B3A28FE0" , "C879A548-7827-4628-ADF3-AE8A01C314F5"], "parents" : ["41C3CB6B-BC23-40BF-8582-790BDB904CA5", "0FF44487-C6D6-4960-A4D3-E67B73D897CF" ]}, see also Reference API | |
removereferences | JSON | JSON with "children" = a list of child-uuids and "parents" = an array of parent-uuids to be removed, see also Reference API | |
refid | String | the id of an external system | |
filesize | long | the size in bytes of the file, given at datasource. If given, this value is used to check, whether the fetch succeeded correctly. FYI: The entity represents the logical file. Internally the fetched file is represented as a StorageEntity. The filesize of a StorageEntity may differ from the logical one, as we could implement a compression or encryption depending on the storage that is used. Therefore the values of this filesize and the one of the according StorageEntity may be different! | |
checksum | String | the crc-checksum of the file, give at datasource. If given, this value is used to check, whether the fetch succeeded correctly. FYI: The entity represents the logical file. Internally the fetched file is represented as a StorageEntity. The checksum of a StorageEntity may differ from the logical one, as we could implement a compression or encryption depending on the storage that is used. Therefore the values of this checksum and the one of the according StorageEntity may be different! |
Example call
/api/v1/entities?action=update&uuid=149a8e27-9bb7-4dd3-9bba-f4913b113504&description=Item1_tmp PATCH /api/v1/entities/149a8e27-9bb7-4dd3-9bba-f4913b113504 description=Item1_tmp
Answer
Success
{ "type": "Result:EntityApi:Update:Success" }
Error
different error states
UpdateBulk
Parameter | Type | Required | Comment |
---|---|---|---|
action | String | updatebulk see also API - General parameters | |
entities | JSONArray | a JSONArray containing the values for each entity that should be updated. See update for possbile values. |
Example call
POST /api/v1/entities/updatebulk entities = [ { "uuid": "e5dfcdcd-2a26-47df-89d2-768ea4197ab8", "type": 1, "description": "test bulk update" }, { "uuid": "ea2b043c-4836-47f7-8258-ae3977eb945e", "type": 2, "description": "test2 bulk update" } ]
Answer
Success
{ "entities": [ { "type": "Success:EntityApi:Update", }, { "type": "Success:EntityApi:Update", }, { "type": "Success:EntityApi:Update", } ], "type": "Success:EntityApi:UpdateBulk" }
Error
different error states
If an update for one entity does not work due to an exception, a rollback is done for the whole bulk action.