Skip to content

Instantly share code, notes, and snippets.

@dacr
Created December 13, 2022 13:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dacr/aa53c2272ae2252edc3a29dbd634da0b to your computer and use it in GitHub Desktop.
Save dacr/aa53c2272ae2252edc3a29dbd634da0b to your computer and use it in GitHub Desktop.
openapi-generator maven plugin - errors generated by this valid json file
{
"openapi": "3.0.3",
"info": {
"title": "Thing in the future Restful API",
"description": "Thing in Swagger Interface",
"version": "3.0"
},
"tags": [
{
"name": "avatars",
"description": "Manipulate the avatars a.k.a the digital representations of real objects."
},
{
"name": "aspects",
"description": "Manipulate the aspects of the Thing'in database. Restricted to administrators."
},
{
"name": "triggers",
"description": "Manipulate the triggers of the Thing'in database"
},
{
"name": "metrics",
"description": "Administration/Utils/Helpers function to manipulate Data in Thing'in"
},
{
"name": "status",
"description": "give the status of the platform."
},
{
"name": "ts",
"description": "Query the time series data base to analyze the object attributes that are historized."
},
{
"name": "tasks",
"description": "Manipulate the tasks of the Thing'in database. Restricted to administrators."
},
{
"name": "accesscontrol",
"description": "Manipulate the accesscontrol, the security level associated to each api action according to the role of the requester (user)."
},
{
"name": "users",
"description": "Manage the users."
},
{
"name": "auth",
"description": "authentication"
},
{
"name": "fellows",
"description": "Internal Identity Provider. Manage the identity of the users created locally."
},
{
"name": "securitygroup",
"description": "Manipulate the security groups. A security group is composed of 2 sets. A set of avatars and a set of users. The security group describes the security restrictions for the set of users applied on the set of avatars."
},
{
"name": "cluster",
"description": "Manipulate the clusters. A cluster is a set of avatars or sub clusters. It is used to ease the avatar manipulation with a system of systems approach."
},
{
"name": "acl",
"description": "Manipulate the access control list (ACL). An ACL is a security restriction on actions (Create/Read/Update/Delete) at avatar level and avatar attribute level."
},
{
"name": "conversion",
"description": "Manipulate user-defined functions to perform data conversion on specific avatar properties / domains"
},
{
"name": "blobs",
"description": "Manipulate avatar blobs"
},
{
"name": "ontologies",
"description": "Manipulate the ontologies of the tipod"
},
{
"name": "domains",
"description": "Manipulate the domains of the tipod"
},
{
"name": "sources",
"description": "Manipulate the sources of the tipod"
},
{
"name": "requests",
"description": "Manipulate the requests of the tipod"
},
{
"name": "labels",
"description": "Manipulate the labels of the tipod"
},
{
"name": "digital twins",
"description": "Manipulate the digital twins of the tipod"
}
],
"paths": {
"/accesscontrol/info": {
"get": {
"tags": [
"accesscontrol"
],
"summary": "Return the information useful to know about access control",
"operationId": "get_info_resource",
"responses": {
"200": {
"description": "Return the information useful to know about access control",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/accesscontrol/rights": {
"get": {
"tags": [
"accesscontrol"
],
"summary": "Get rights from reference access control (or part of it)",
"operationId": "get_ac_rights_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "roles",
"in": "query",
"description": "A comma separated list of roles",
"schema": {
"type": "string"
}
},
{
"name": "actions",
"in": "query",
"description": "A comma separated list of actions",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Filtered rights from ref access control",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/accesscontrol/policies": {
"post": {
"tags": [
"accesscontrol"
],
"summary": "Create a new access control (restricted to administrators).",
"operationId": "post_root_ac_resource",
"security": [
{
"bearerAuth": []
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/rightListModel"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "accesscontrol created with no error",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/accesscontrol/policies/find": {
"post": {
"tags": [
"accesscontrol"
],
"summary": "Find accesscontrol given their id (and rev)",
"operationId": "post_ac_find_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "role",
"in": "query",
"description": "role rights to return",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/acFindModel"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Find accesscontrol given their id (and rev). for each accesscontrol, if the rev is provided, the response should contains this accesscontrol if and only if the given rev is lower than the stored rev",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/accesscontrol/policies/{uuid}": {
"get": {
"tags": [
"accesscontrol"
],
"summary": "Retrieve a access control from a uuid.",
"operationId": "get_access_control_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Return the accesscontrol",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/acModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
},
"post": {
"tags": [
"accesscontrol"
],
"summary": "Add or delete rights in/from access control (restricted to administrators).",
"operationId": "post_access_control_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "action",
"in": "query",
"description": "add|remove by default add",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/rightListModel"
}
}
},
"required": true
},
"responses": {
"204": {
"description": "access control rights updated with no error",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
},
"delete": {
"tags": [
"accesscontrol"
],
"summary": "Delete a accesscontrol from a uuid (restricted to administrator).",
"operationId": "delete_access_control_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": "Delete the accesscontrol",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/accesscontrol/policies/{uuid}/check": {
"get": {
"tags": [
"accesscontrol"
],
"summary": "Retrieve a access control from a uuid",
"operationId": "get_access_control_check_resource",
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "action",
"in": "query",
"description": "the resource action",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "roles",
"in": "query",
"description": "list of roles separate with coma",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Return the right",
"content": {
"text/plain": {
"schema": {
"type": "string"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/accesscontrol/policies/{uuid}/compare": {
"get": {
"tags": [
"accesscontrol"
],
"summary": "Compare an access control to the ref one",
"operationId": "get_access_control_compare_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Return the differences in rights",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/accesscontrol/policies/{uuid}/managers": {
"get": {
"tags": [
"accesscontrol"
],
"summary": "Retrieve a access control manager from a uuid",
"operationId": "get_access_control_manager_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Return the roles allowed to manage the accesscontrol",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/accesscontrolGetManagerModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
},
"post": {
"tags": [
"accesscontrol"
],
"summary": "Add or delete managers in/from access control (restricted to administrators).",
"operationId": "post_access_control_manager_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "action",
"in": "query",
"description": "add|remove by default add",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/accesscontrolManagerModel"
}
}
},
"required": true
},
"responses": {
"204": {
"description": "access control managers updated with no error",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/accesscontrol/roles": {
"get": {
"tags": [
"accesscontrol"
],
"summary": "Find roles given their pattern",
"operationId": "get_root_role_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "index",
"in": "query",
"description": "Index of the role",
"schema": {
"type": "integer"
}
},
{
"name": "page_size",
"in": "query",
"description": "Size of the page",
"schema": {
"type": "integer"
}
},
{
"name": "name",
"in": "query",
"description": "pattern of the name of the roles to find",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Return the data in application/json",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/rolePageModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
},
"post": {
"tags": [
"accesscontrol"
],
"summary": "Create a new role (restricted to administrators).",
"operationId": "post_root_role_resource",
"security": [
{
"bearerAuth": []
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/roleModel"
}
}
},
"required": true
},
"responses": {
"204": {
"description": "Role created with no error",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/acl": {
"get": {
"tags": [
"acl"
],
"summary": "list of ACL",
"operationId": "get_root_acl_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "owner",
"in": "query",
"description": "owner of the ACL",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Return the ACL List",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/aclListModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
},
"post": {
"tags": [
"acl"
],
"summary": "Create a new ACL",
"operationId": "post_root_acl_resource",
"security": [
{
"bearerAuth": []
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/aclCreateModel"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "ACL created with no error",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/acl/avatars": {
"delete": {
"tags": [
"acl"
],
"summary": "Unlink a bunch of avatars from the ACL",
"operationId": "delete_acl_unlink_avatar_resource",
"security": [
{
"bearerAuth": []
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/aclAvatarUnlinkModel"
}
}
},
"required": true
},
"responses": {
"204": {
"description": "A bunch of avatars unlinked from their ACL",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/acl/blobs": {
"delete": {
"tags": [
"acl"
],
"summary": "Unlink a bunch of blobs from the ACL",
"operationId": "delete_acl_unlink_blob_resource",
"security": [
{
"bearerAuth": []
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/aclBlobUnlinkModel"
}
}
},
"required": true
},
"responses": {
"204": {
"description": "A bunch of blobs unlinked from their ACL",
"content": {}
},
"400": {
"description": "The client submitted an invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
}
},
"401": {
"description": "Authorization error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
}
},
"403": {
"description": "Forbidden error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
}
},
"404": {
"description": "Blob not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/acl/{uuid}": {
"get": {
"tags": [
"acl"
],
"summary": "Retrieve an ACL from a uuid",
"operationId": "get_acl_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Return the ACL",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/aclModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
},
"put": {
"tags": [
"acl"
],
"summary": "Update an ACL",
"operationId": "put_acl_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/aclCreateModel"
}
}
},
"required": true
},
"responses": {
"204": {
"description": "ACL updated with no error",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
},
"delete": {
"tags": [
"acl"
],
"summary": "Delete an ACL from its uuid",
"operationId": "delete_acl_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": "Delete the ACL",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/acl/{uuid}/avatars": {
"get": {
"tags": [
"acl"
],
"summary": "List avatars linked to the ACL",
"operationId": "get_acl_link_avatar_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "List avatars linked to the ACL",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
},
"post": {
"tags": [
"acl"
],
"summary": "Link a bunch of avatars to the ACL",
"operationId": "post_acl_link_avatar_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/aclAvatarLinkModel"
}
}
},
"required": true
},
"responses": {
"204": {
"description": "A bunch of avatars linked to the ACL with no error",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/acl/{uuid}/blobs": {
"get": {
"tags": [
"acl"
],
"summary": "List blobs linked to the ACL",
"operationId": "get_acl_link_blob_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "List blobs linked to the ACL",
"content": {}
},
"400": {
"description": "The client submitted an invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
}
},
"401": {
"description": "Authorization error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
}
},
"403": {
"description": "Forbidden error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
}
},
"404": {
"description": "ACL not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
},
"post": {
"tags": [
"acl"
],
"summary": "Link a bunch of blobs to the ACL",
"operationId": "post_acl_link_blob_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/aclBlobLinkModel"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "A bunch of blobs linked to the ACL with no error",
"content": {}
},
"400": {
"description": "The client submitted an invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
}
},
"401": {
"description": "Authorization error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
}
},
"403": {
"description": "Forbidden error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
}
},
"404": {
"description": "ACL or Blob not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/aspects": {
"get": {
"tags": [
"aspects"
],
"summary": "Find aspects given their ori, aspect, rdf_resource_type and rdf_resource_identifier",
"operationId": "get_root_aspect_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "rdf_resource_identifier",
"in": "query",
"description": "The Resource Identifier of the object property, datatype property or class",
"schema": {
"type": "string",
"default": "http://orange-labs.fr/fog/ont/datashare.owl#battery"
}
},
{
"name": "rdf_resource_type",
"in": "query",
"description": "The Resource Identifier of the aspect",
"schema": {
"type": "string",
"default": "datatype_property"
}
},
{
"name": "aspect",
"in": "query",
"description": "The aspect itself, must be included into : ['TIME_SERIES', 'EMBEDDED', 'VIRTUAL', 'SPATIAL', 'INDEXED'], note : no need for case match",
"schema": {
"type": "string",
"default": "TIME_SERIES"
}
},
{
"name": "ori",
"in": "query",
"description": "The Ontology Identifier of the aspect",
"schema": {
"type": "string",
"default": "http://orange-labs.fr/fog/ont/datashare.owl"
}
}
],
"responses": {
"200": {
"description": "Return the data in application/json",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/aspectModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
},
"post": {
"tags": [
"aspects"
],
"summary": "Takes an aspect, parse it, check it, and load into Thing'in in order to accelerate",
"description": "the database or open access to specific functionalities",
"operationId": "post_root_aspect_resource",
"security": [
{
"bearerAuth": []
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/aspectModel"
}
}
},
"required": true
},
"responses": {
"204": {
"description": "Aspect created with no error",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/aspects/{uuid}": {
"get": {
"tags": [
"aspects"
],
"summary": "Retrieve an aspect using its uuid",
"operationId": "get_aspect_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Return the data in the selected format",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/aspectModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
},
"put": {
"tags": [
"aspects"
],
"summary": "Update an aspect using its uuid",
"operationId": "put_aspect_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/aspectModel"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Update completed",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
},
"delete": {
"tags": [
"aspects"
],
"summary": "Delete an aspect using its uuid",
"operationId": "delete_aspect_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": "Delete the data",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/auth": {
"get": {
"tags": [
"auth"
],
"summary": "Authenticate a user and return a scoped token that proves his id and his rights",
"operationId": "get_auth_resource",
"security": [
{
"basicAuth": []
}
],
"parameters": [
{
"name": "domains",
"in": "query",
"description": "list of domains for token restriction. If not define, the default user domain is set to the generated token.",
"schema": {
"type": "string"
}
},
{
"name": "scopes",
"in": "query",
"description": "could be list of role names separate with coma OR list of resource name:right separate with coma. ex1: provider,supervisor. ex2: resource.user.read:ALLOW,resource.user.list:ALLOW",
"schema": {
"type": "string"
}
},
{
"name": "idp",
"in": "query",
"description": "idp name",
"schema": {
"type": "string"
}
},
{
"name": "Use-Cache",
"in": "header",
"description": "Use cached user if any",
"schema": {
"type": "boolean",
"default": true
}
}
],
"responses": {
"200": {
"description": "Authenticate a user and return his token. JWT with a payload containing 'sub', 'iat' (issue at in epoch time), 'exp' (expiration in epochtime), 'scopes' (role list)",
"content": {
"text/plain": {
"schema": {
"type": "string"
}
}
}
}
}
}
},
"/auth/ak": {
"post": {
"tags": [
"auth"
],
"summary": "Create a new AK",
"operationId": "post_access_key_root_resource",
"security": [
{
"bearerAuth": []
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/akCreateModel"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "AK created with no error",
"content": {
"text/plain": {
"schema": {
"type": "string"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/auth/ak/revoked": {
"get": {
"tags": [
"auth"
],
"summary": "Find revoked access keys",
"operationId": "get_revoked_access_key_list_resource",
"security": [
{
"bearerAuth": []
}
],
"responses": {
"200": {
"description": "Return the revoked access keys",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/akListModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/auth/ak/revoked/{uuid}": {
"get": {
"tags": [
"auth"
],
"summary": "Retrieve a ak from a uuid",
"operationId": "get_revoked_access_key_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Return the Revoked AccessKey",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
},
"put": {
"tags": [
"auth"
],
"summary": "Revoke a AccessKey from a uuid",
"operationId": "put_revoked_access_key_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/akRevokeModel"
}
}
},
"required": true
},
"responses": {
"204": {
"description": "Revoke the AccessKey",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/auth/idp": {
"get": {
"tags": [
"auth"
],
"summary": "list idp",
"operationId": "get_idp_root_resource",
"security": [
{
"bearerAuth": []
}
],
"responses": {
"200": {
"description": "Return the idps",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/idpListModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
},
"post": {
"tags": [
"auth"
],
"summary": "Create a new IDP",
"operationId": "post_idp_root_resource",
"security": [
{
"bearerAuth": []
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/idpCreateModel"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "IDP created with no error",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/auth/idp/{name}": {
"get": {
"tags": [
"auth"
],
"summary": "Retrieve an idp from a name",
"operationId": "get_idp_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "name",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Return the IDP",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/idpCreateModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
},
"delete": {
"tags": [
"auth"
],
"summary": "Delete a IDP from its name",
"operationId": "delete_idp_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "name",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": "Delete a IDP",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/avatars": {
"post": {
"tags": [
"avatars"
],
"summary": "Create a single avatar",
"operationId": "post_root_avatar_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "Validate-All",
"in": "header",
"description": "Set to true to get all validation errors, if false, you'll only get the first error. Default is False",
"schema": {
"type": "boolean",
"default": false
}
},
{
"name": "Ignore-Duplicate-On-Creation",
"in": "header",
"description": "Do not create the avatar if iri is already used. The edges targeting the ignored avatar will still be processed, they will be made to target the already existing avatar. Use With caution.",
"schema": {
"type": "boolean",
"default": false
}
},
{
"name": "expire_after",
"in": "header",
"description": "Schedules a DELETION in seconds after creation, on the avatar and its relations. USE WITH CAUTION. If this is a new domain creation, domain will inherit the expiration date",
"schema": {
"type": "integer"
}
},
{
"name": "source",
"in": "header",
"required": false,
"description": "Attach this avatar to an existing source if provided using the source uuid. Else this avatar will be attached to a default source (unique to all avatars injected with /avatars/).",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/createAvatarModel"
}
},
"text/turtle": {
"schema": {
"$ref": "#/components/schemas/DataModelTurtle"
}
},
"application/ld+json": {
"schema": {
"$ref": "#/components/schemas/DataModelJsonLD"
}
},
"application/rdf+xml": {
"schema": {
"$ref": "#/components/schemas/DataModelRdfXML"
}
},
"application/x-turtle": {
"schema": {
"$ref": "#/components/schemas/DataModelTurtle"
}
},
"application/star-turtle": {
"schema": {
"$ref": "#/components/schemas/DataModelTTLStar"
}
},
"text/turtle-star": {
"schema": {
"$ref": "#/components/schemas/DataModelTTLStar"
}
},
"application/n-triples": {
"schema": {
"$ref": "#/components/schemas/DataModelNt"
}
},
"application/n-quads": {
"schema": {
"$ref": "#/components/schemas/DataModelNq"
}
},
"application/trig": {
"schema": {
"$ref": "#/components/schemas/DataModelTrig"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Creation completed",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/avatars/count": {
"post": {
"tags": [
"avatars"
],
"summary": "Count avatar respecting the query payload",
"operationId": "post_count_avatar_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "Cache-TTL",
"in": "header",
"description": "response will be put in cache with a Time To Live (in second). 0 means : nothing put in cache.",
"schema": {
"type": "integer",
"default": 0
}
},
{
"name": "Use-Cache",
"in": "header",
"description": "Use cached data if any",
"schema": {
"type": "boolean",
"default": false
}
},
{
"name": "Geolocation",
"in": "header",
"description": "geoloc of the requester. format should be @long;lat (e.g. @125.6;10.1 )",
"schema": {
"type": "string"
}
},
{
"name": "Special-Privilege",
"in": "header",
"description": "put True to bypass confidentiality check (only for admin)",
"schema": {
"type": "boolean",
"default": false
}
},
{
"name": "Metadata",
"in": "header",
"description": "a json string format {\"field\":value , ... } pass to core as $metadata.field",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/countAvatarModel"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Return the data in application/json",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/countAvatarResultModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
},
"text/turtle": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
},
"application/ziggy-json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/avatars/delete": {
"post": {
"tags": [
"avatars"
],
"summary": "Find and delete avatars respecting the query payload",
"operationId": "post_find_and_delete_avatar_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "Special-Privilege",
"in": "header",
"description": "put True to bypass confidentiality check (only for admin)",
"schema": {
"type": "boolean",
"default": false
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/findAndDeleteAvatarModel"
}
}
},
"required": true
},
"responses": {
"202": {
"description": "Syntax ok, deletion will be processed asynchronously",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
},
"text/turtle": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
},
"application/ziggy-json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/avatars/find": {
"post": {
"tags": [
"avatars"
],
"summary": "Find avatar respecting the query payload",
"operationId": "post_find_avatar_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "Special-Privilege",
"in": "header",
"description": "put True to bypass confidentiality check (only for admin)",
"schema": {
"type": "boolean",
"default": false
}
},
{
"name": "Cache-TTL",
"in": "header",
"description": "response will be put in cache with a Time To Live (in second). 0 means : nothing put in cache.",
"schema": {
"type": "integer",
"default": 0
}
},
{
"name": "index",
"in": "query",
"description": "Index of the avatar",
"schema": {
"type": "integer"
}
},
{
"name": "Use-Cache",
"in": "header",
"description": "Use cached data if any",
"schema": {
"type": "boolean",
"default": false
}
},
{
"name": "Geolocation",
"in": "header",
"description": "geoloc of the requester. format should be @long;lat (e.g. @125.6;10.1 )",
"schema": {
"type": "string"
}
},
{
"name": "page_size",
"in": "query",
"description": "Size of the page",
"schema": {
"type": "integer"
}
},
{
"name": "sorting_key",
"in": "query",
"description": "Sort the resultset using that key. The key can be any avatar property (datatype, label...). By default sorting is ascendant. For descendant resultset sorting, use the '-' prefix before the key",
"example": "-http://dbpedia.org/ontology/upperAge",
"schema": {
"type": "string"
}
},
{
"name": "Accept-Encoding",
"in": "header",
"description": "compression algorithm (=> gzip)",
"schema": {
"type": "string"
}
},
{
"name": "Metadata",
"in": "header",
"description": "a json string format {\"field\":value , ... } pass to core as $metadata.field",
"schema": {
"type": "string"
}
},
{
"name": "request_uuid",
"in": "header",
"description": "Request UUID for existing user request",
"schema": {
"type": "string"
},
"required": false
},
{
"name": "jsonld_document_form",
"in": "header",
"description": "Applies flatten, compact, expand, or framing algorithms to the output jsonLD document. See https://json-ld.org/spec/latest/json-ld/#expanded-document-form. ",
"schema": {
"type": "string",
"enum": [
"flatten",
"compact",
"expand",
"frame"
]
},
"required": false
},
{
"name": "jsonld_frame",
"in": "header",
"description": "When framing is applied using jsonld_document_form parameter, this holds the user-supplied frame as json string format, see https://www.w3.org/TR/json-ld11-framing/#dfn-framing ",
"schema": {
"type": "string",
"example": {
"@context": {
"iot-access": "http://orange-labs.fr/fog/ont/access.owl#",
"dogont": "http://elite.polito.it/ontologies/dogont.owl#",
"org-iot": "http://orange-labs.fr/fog/ont/iot.owl#",
"xsd": "http://www.w3.org/2001/XMLSchema#",
"eupont": "http://elite.polito.it/ontologies/eupont.owl#"
},
"@type": "dogont:PlugwiseGateway",
"dogont:isIn": {}
}
},
"required": false
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"oneOf": [
{
"$ref": "#/components/schemas/findAvatarModel"
},
{
"$ref": "#/components/schemas/findAvatarCypherModel"
}
]
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Return the list of avatars that match with the search query. Example for an application/json format. see wiki for more information.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DataModel"
}
},
"application/ziggy-json": {
"schema": {
"$ref": "#/components/schemas/DataModel"
}
},
"text/turtle": {
"schema": {
"$ref": "#/components/schemas/DataModelTurtle"
}
},
"application/ld+json": {
"schema": {
"$ref": "#/components/schemas/DataModelJsonLD"
}
},
"application/rdf+xml": {
"schema": {
"$ref": "#/components/schemas/DataModelRdfXML"
}
},
"application/x-turtle": {
"schema": {
"$ref": "#/components/schemas/DataModelTurtle"
}
},
"application/star-turtle": {
"schema": {
"$ref": "#/components/schemas/DataModelTTLStar"
}
},
"text/turtle-star": {
"schema": {
"$ref": "#/components/schemas/DataModelTTLStar"
}
},
"application/n-triples": {
"schema": {
"$ref": "#/components/schemas/DataModelNt"
}
},
"application/n-quads": {
"schema": {
"$ref": "#/components/schemas/DataModelNq"
}
},
"application/trig": {
"schema": {
"$ref": "#/components/schemas/DataModelTrig"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
},
"text/turtle": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
},
"application/ziggy-json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
},
"application/ld+json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
},
"application/rdf+xml": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
},
"application/x-turtle": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
},
"get": {
"tags": [
"avatars"
],
"summary": "Find avatar respecting the query filter",
"operationId": "get_find_avatar_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "Special-Privilege",
"in": "header",
"description": "put True to bypass confidentiality check (only for admin)",
"schema": {
"type": "boolean",
"default": false
}
},
{
"name": "Cache-TTL",
"in": "header",
"description": "response will be put in cache with a Time To Live (in second). 0 means : nothing put in cache.",
"schema": {
"type": "integer",
"default": 0
}
},
{
"name": "i",
"in": "query",
"description": "Index of the avatar",
"schema": {
"type": "integer"
}
},
{
"name": "Use-Cache",
"in": "header",
"description": "Use cached data if any",
"schema": {
"type": "boolean",
"default": false
}
},
{
"name": "g",
"in": "query",
"description": "geoloc of the requester. format should be long;lat (e.g. 125.6;10.1 )",
"schema": {
"type": "string"
}
},
{
"name": "s",
"in": "query",
"description": "Size of the page",
"schema": {
"type": "integer"
}
},
{
"name": "Accept-Encoding",
"in": "header",
"description": "compression algorithm (=> gzip)",
"schema": {
"type": "string"
}
},
{
"name": "Metadata",
"in": "header",
"description": "a json string format {\"field\":value , ... } pass to core as $metadata.field",
"schema": {
"type": "string"
}
},
{
"name": "q",
"in": "query",
"description": "query json string as define in POST",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Return the list of avatars that match with the search query. Example for an application/json format. see wiki for more information.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DataModel"
}
},
"text/turtle": {
"schema": {
"$ref": "#/components/schemas/DataModel"
}
},
"application/ziggy-json": {
"schema": {
"$ref": "#/components/schemas/DataModel"
}
},
"application/ld+json": {
"schema": {
"$ref": "#/components/schemas/DataModel"
}
},
"application/rdf+xml": {
"schema": {
"$ref": "#/components/schemas/DataModel"
}
},
"application/x-turtle": {
"schema": {
"$ref": "#/components/schemas/DataModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
},
"text/turtle": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
},
"application/ziggy-json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
},
"application/ld+json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
},
"application/rdf+xml": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
},
"application/x-turtle": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/avatars/findAvatarAndValues": {
"post": {
"tags": [
"avatars"
],
"summary": "Find avatar and/or values respecting the query payload",
"description": "Find avatars and construct the returned JSON payload and a flexible way",
"operationId": "post_find_avatar_and_values_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "Special-Privilege",
"in": "header",
"description": "put True to bypass confidentiality check (only for admin)",
"schema": {
"type": "boolean",
"default": false
}
},
{
"name": "Cache-TTL",
"in": "header",
"description": "response will be put in cache with a Time To Live (in second). 0 means : nothing put in cache.",
"schema": {
"type": "integer",
"default": 0
}
},
{
"name": "index",
"in": "query",
"description": "Index of the avatar",
"schema": {
"type": "integer"
}
},
{
"name": "Use-Cache",
"in": "header",
"description": "Use cached data if any",
"schema": {
"type": "boolean",
"default": false
}
},
{
"name": "page_size",
"in": "query",
"description": "Size of the page",
"schema": {
"type": "integer"
}
},
{
"name": "Accept-Encoding",
"in": "header",
"description": "compression algorithm (=> gzip)",
"schema": {
"type": "string"
}
},
{
"name": "request_uuid",
"in": "header",
"description": "Request UUID for existing user request",
"schema": {
"type": "string"
},
"required": false
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"oneOf": [
{
"$ref": "#/components/schemas/findAvatarAndValuesModel"
}
]
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Return the JSON payload that matches with the search query.",
"content": {
"application/json": {
"schema": {
"type": "object"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/avatars/tfind": {
"post": {
"tags": [
"avatars"
],
"summary": "Execute the provided temporal query",
"description": "Execute the provided TCYPHER temporal query and returns the paginated results in JSON format",
"operationId": "Temporal query",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "index",
"in": "query",
"description": "Results page index to retrieve",
"required": false,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "page_size",
"in": "query",
"description": "Number of results by page",
"required": false,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TCypherQuery"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TFindPaginatedResponse"
}
}
}
},
"400": {
"description": "Invalid query provided",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BadFormatException"
}
}
}
},
"500": {
"description": "Something went wrong on backend side",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BackendException"
}
}
}
}
}
}
},
"/avatars/tcount": {
"post": {
"tags": [
"avatars"
],
"summary": "Count temporal query results",
"description": "Count the number of documents matching the given TCYPHER temporal query",
"operationId": "Temporal count query",
"security": [
{
"bearerAuth": []
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TCypherQuery"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TCountResponse"
}
}
}
},
"400": {
"description": "Invalid query provided",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BadFormatException"
}
}
}
},
"500": {
"description": "Something went wrong on backend side",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BackendException"
}
}
}
}
}
}
},
"/avatars/findAggregate": {
"post": {
"tags": [
"avatars"
],
"summary": "Compute aggregate values of avatars respecting the query payload",
"operationId": "post_find_aggregate_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "Cache-TTL",
"in": "header",
"description": "response will be put in cache with a Time To Live (in second). 0 means : nothing put in cache.",
"schema": {
"type": "integer",
"default": 0
}
},
{
"name": "Use-Cache",
"in": "header",
"description": "Use cached data if any",
"schema": {
"type": "boolean",
"default": false
}
},
{
"name": "Accept-Encoding",
"in": "header",
"description": "compression algorithm (=> gzip)",
"schema": {
"type": "string"
}
},
{
"name": "request_uuid",
"in": "header",
"description": "Request UUID for existing user request",
"schema": {
"type": "string"
},
"required": false
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/findAvatarModel"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Return the list of avatars that match with the search query. Example for an application/json format. see wiki for more information.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AggregateModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/avatars/findAndUpdate": {
"post": {
"tags": [
"avatars"
],
"summary": "Find avatars respecting the query payload and update a property",
"operationId": "findAndUpdate_avatar_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "Special-Privilege",
"in": "header",
"description": "put True to bypass confidentiality check (only for admin)",
"schema": {
"type": "boolean",
"default": false
}
},
{
"name": "property",
"in": "query",
"description": "the property to update in a json formatted string: {\"property\":value}",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/findAndUpdateAvatarModel"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Return the data in application/json",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/countAvatarResultModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/avatars/check": {
"post": {
"tags": [
"avatars"
],
"summary": "Check avatars respecting the query payload",
"operationId": "post_check_avatar_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "Special-Privilege",
"in": "header",
"description": "put True to bypass confidentiality check (only for admin)",
"schema": {
"type": "boolean",
"default": false
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"oneOf": [
{
"$ref": "#/components/schemas/findAvatarModel"
},
{
"$ref": "#/components/schemas/findAvatarCypherModel"
}
]
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Return the list of validation errors for avatars that match with the search query.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/checkAvatarListResponseModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/avatars/update/replace/{uuid}": {
"put": {
"tags": [
"avatars"
],
"summary": "Update - REPLACE - an avatar",
"operationId": "put_update_replace_avatar_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "Validate-All",
"in": "header",
"description": "Set to true to get all validation errors, if false, you'll only get the first error. Default is False",
"schema": {
"type": "boolean",
"default": false
}
},
{
"name": "Geolocation",
"in": "header",
"description": "geoloc of the requester. format should be @long;lat (e.g. @125.6;10.1 )",
"schema": {
"type": "string"
}
},
{
"name": "Metadata",
"in": "header",
"description": "a json string format {\"field\":value , ... } pass to core as $metadata.field",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/createAvatarModel"
}
},
"text/turtle": {
"schema": {
"$ref": "#/components/schemas/DataModelTurtle"
}
},
"application/ld+json": {
"schema": {
"$ref": "#/components/schemas/DataModelJsonLD"
}
},
"application/rdf+xml": {
"schema": {
"$ref": "#/components/schemas/DataModelRdfXML"
}
},
"application/x-turtle": {
"schema": {
"$ref": "#/components/schemas/DataModelTurtle"
}
},
"application/star-turtle": {
"schema": {
"$ref": "#/components/schemas/DataModelTTLStar"
}
},
"text/turtle-star": {
"schema": {
"$ref": "#/components/schemas/DataModelTTLStar"
}
},
"application/n-triples": {
"schema": {
"$ref": "#/components/schemas/DataModelNt"
}
},
"application/n-quads": {
"schema": {
"$ref": "#/components/schemas/DataModelNq"
}
},
"application/trig": {
"schema": {
"$ref": "#/components/schemas/DataModelTrig"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Update completed",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/avatars/update/set/{uuid}": {
"put": {
"tags": [
"avatars"
],
"summary": "Update - SET - an avatar",
"operationId": "put_update_set_avatar_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "Validate-All",
"in": "header",
"description": "Set to true to get all validation errors, if false, you'll only get the first error. Default is False",
"schema": {
"type": "boolean",
"default": false
}
},
{
"name": "Geolocation",
"in": "header",
"description": "geoloc of the requester. format should be @long;lat (e.g. @125.6;10.1 )",
"schema": {
"type": "string"
}
},
{
"name": "Metadata",
"in": "header",
"description": "a json string format {\"field\":value , ... } pass to core as $metadata.field",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/createAvatarModel"
}
},
"text/turtle": {
"schema": {
"$ref": "#/components/schemas/DataModelTurtle"
}
},
"application/ld+json": {
"schema": {
"$ref": "#/components/schemas/DataModelJsonLD"
}
},
"application/rdf+xml": {
"schema": {
"$ref": "#/components/schemas/DataModelRdfXML"
}
},
"application/x-turtle": {
"schema": {
"$ref": "#/components/schemas/DataModelTurtle"
}
},
"application/star-turtle": {
"schema": {
"$ref": "#/components/schemas/DataModelTTLStar"
}
},
"text/turtle-star": {
"schema": {
"$ref": "#/components/schemas/DataModelTTLStar"
}
},
"application/n-triples": {
"schema": {
"$ref": "#/components/schemas/DataModelNt"
}
},
"application/n-quads": {
"schema": {
"$ref": "#/components/schemas/DataModelNq"
}
},
"application/trig": {
"schema": {
"$ref": "#/components/schemas/DataModelTrig"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Update completed",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/avatars/update/unset/{uuid}": {
"put": {
"tags": [
"avatars"
],
"summary": "Update - UNSET - an avatar",
"operationId": "put_update_unset_avatar_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "Validate-All",
"in": "header",
"description": "Set to true to get all validation errors, if false, you'll only get the first error. Default is False",
"schema": {
"type": "boolean",
"default": false
}
},
{
"name": "Geolocation",
"in": "header",
"description": "geoloc of the requester. format should be @long;lat (e.g. @125.6;10.1 )",
"schema": {
"type": "string"
}
},
{
"name": "Metadata",
"in": "header",
"description": "a json string format {\"field\":value , ... } pass to core as $metadata.field",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/createAvatarModel"
}
},
"text/turtle": {
"schema": {
"$ref": "#/components/schemas/DataModelTurtle"
}
},
"application/ld+json": {
"schema": {
"$ref": "#/components/schemas/DataModelJsonLD"
}
},
"application/rdf+xml": {
"schema": {
"$ref": "#/components/schemas/DataModelRdfXML"
}
},
"application/x-turtle": {
"schema": {
"$ref": "#/components/schemas/DataModelTurtle"
}
},
"application/star-turtle": {
"schema": {
"$ref": "#/components/schemas/DataModelTTLStar"
}
},
"text/turtle-star": {
"schema": {
"$ref": "#/components/schemas/DataModelTTLStar"
}
},
"application/n-triples": {
"schema": {
"$ref": "#/components/schemas/DataModelNt"
}
},
"application/n-quads": {
"schema": {
"$ref": "#/components/schemas/DataModelNq"
}
},
"application/trig": {
"schema": {
"$ref": "#/components/schemas/DataModelTrig"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Update completed",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/avatars/source/{uuid}": {
"delete": {
"tags": [
"avatars"
],
"summary": "Delete a set of avatars from their source uuid",
"operationId": "delete_avatar_from_source_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Return the list of deleted avatars",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/batchDeletedAvatarModel"
}
}
}
},
"400": {
"description": "Something went wrong while handling the request, check each object of the returned list to see the source of the error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BatchError"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/avatars/{uuid}": {
"get": {
"tags": [
"avatars"
],
"summary": "Read an avatar",
"operationId": "get_avatar_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "index",
"in": "query",
"description": "Index of the avatar",
"schema": {
"type": "integer"
}
},
{
"name": "Read-Mode",
"in": "header",
"description": "Describe the way data must be read, either \"strict\" or \"depth\". If depth is chosen you must also set a \"Depth\" header",
"required": true,
"schema": {
"type": "string",
"default": "strict",
"enum": [
"strict",
"depth"
]
}
},
{
"name": "Special-Privilege",
"in": "header",
"description": "put True to bypass confidentiality check (only for admin)",
"schema": {
"type": "boolean",
"default": false
}
},
{
"name": "Geolocation",
"in": "header",
"description": "geoloc of the requester. format should be @long;lat (e.g. @125.6;10.1 )",
"schema": {
"type": "string"
}
},
{
"name": "page_size",
"in": "query",
"description": "Size of the page",
"schema": {
"type": "integer"
}
},
{
"name": "Read-Depth",
"in": "header",
"description": "Describe the maximum depth you allow to traverse data into the graph",
"schema": {
"type": "integer"
}
},
{
"name": "Metadata",
"in": "header",
"description": "a json string format {\"field\":value , ... } pass to core as $metadata.field",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Return the data in the selected format. Example for an application/json format.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DataModel"
}
},
"text/turtle": {
"schema": {
"$ref": "#/components/schemas/DataModelTurtle"
}
},
"application/ld+json": {
"schema": {
"$ref": "#/components/schemas/DataModelJsonLD"
}
},
"application/rdf+xml": {
"schema": {
"$ref": "#/components/schemas/DataModelRdfXML"
}
},
"application/x-turtle": {
"schema": {
"$ref": "#/components/schemas/DataModelTurtle"
}
},
"application/star-turtle": {
"schema": {
"$ref": "#/components/schemas/DataModelTTLStar"
}
},
"text/turtle-star": {
"schema": {
"$ref": "#/components/schemas/DataModelTTLStar"
}
},
"application/n-triples": {
"schema": {
"$ref": "#/components/schemas/DataModelNt"
}
},
"application/n-quads": {
"schema": {
"$ref": "#/components/schemas/DataModelNq"
}
},
"application/trig": {
"schema": {
"$ref": "#/components/schemas/DataModelTrig"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
},
"delete": {
"tags": [
"avatars"
],
"summary": "Delete an avatar",
"operationId": "delete_avatar_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "Special-Privilege",
"in": "header",
"description": "put True to bypass confidentiality check (only for admin)",
"schema": {
"type": "boolean",
"default": false
}
},
{
"name": "Geolocation",
"in": "header",
"description": "geoloc of the requester. format should be @long;lat (e.g. @125.6;10.1 )",
"schema": {
"type": "string"
}
},
{
"name": "Metadata",
"in": "header",
"description": "a json string format {\"field\":value , ... } pass to core as $metadata.field",
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": "Return the data in application/json",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/avatars/relationships": {
"post": {
"tags": [
"relationship"
],
"summary": "Create a set of relationships",
"operationId": "post_root_relationship_resource",
"security": [
{
"bearerAuth": []
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "array",
"description": "list of relationships",
"items": {
"oneOf": [
{
"$ref": "#/components/schemas/relationshipModel"
},
{
"$ref": "#/components/schemas/relationshipUuidModel"
}
]
}
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Creation completed",
"content": {
"application/json": {
"schema": {
"type": "array",
"description": "list of relationships uuid",
"items": {
"type": "string",
"description": "relationship uuid"
}
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/avatars/relationships/{uuid}": {
"get": {
"tags": [
"relationship"
],
"summary": "read a relationship",
"operationId": "get_relationship_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "return the relationship",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
},
"delete": {
"tags": [
"relationship"
],
"summary": "delete a relationship",
"operationId": "delete_relationship_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "deletion done.",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
},
"put": {
"tags": [
"relationship"
],
"summary": "update a relationship",
"operationId": "update_relationship_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/updateRelationModel"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "relationship updated",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/batch/avatars": {
"post": {
"tags": [
"avatars"
],
"summary": "Create a set of avatars",
"operationId": "post_batch_projection_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "Validate-All",
"in": "header",
"description": "Set to true to get all validation errors, if false, you'll only get the first error. Default is False",
"schema": {
"type": "boolean",
"default": false
}
},
{
"name": "Ignore-Duplicate-On-Creation",
"in": "header",
"description": "Ignore the avatars for which their iri is already used. The edges targeting the ignored avatar will still be processed, they will be made to target the already existing avatar. Use With caution.",
"schema": {
"type": "boolean",
"default": false
}
},
{
"name": "expire_after",
"in": "header",
"required": false,
"description": "Schedules a DELETION in seconds after creation, on all avatars and their relations. USE WITH CAUTION. If this is a new domain creation, domain will inherit the expiration date",
"schema": {
"type": "integer"
}
},
{
"name": "source",
"in": "header",
"required": false,
"description": "Attach these avatars to an existing source if provided using the source uuid. Else a new source will be created transparently.",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DataModel2"
}
},
"text/turtle": {
"schema": {
"$ref": "#/components/schemas/DataModelTurtle"
}
},
"application/ld+json": {
"schema": {
"$ref": "#/components/schemas/DataModelJsonLD"
}
},
"application/rdf+xml": {
"schema": {
"$ref": "#/components/schemas/DataModelRdfXML"
}
},
"application/x-turtle": {
"schema": {
"$ref": "#/components/schemas/DataModelTurtle"
}
},
"application/star-turtle": {
"schema": {
"$ref": "#/components/schemas/DataModelTTLStar"
}
},
"text/turtle-star": {
"schema": {
"$ref": "#/components/schemas/DataModelTTLStar"
}
},
"application/n-triples": {
"schema": {
"$ref": "#/components/schemas/DataModelNt"
}
},
"application/n-quads": {
"schema": {
"$ref": "#/components/schemas/DataModelNq"
}
},
"application/trig": {
"schema": {
"$ref": "#/components/schemas/DataModelTrig"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Creation completed",
"content": {
"application/json": {}
}
},
"206": {
"description": "Partial processing of the payload",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
},
"delete": {
"tags": [
"avatars"
],
"summary": "Delete a set of avatars",
"operationId": "delete_batch_projection_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "Special-Privilege",
"in": "header",
"description": "put True to bypass confidentiality check (only for admin)",
"schema": {
"type": "boolean",
"default": false
}
}
],
"requestBody": {
"description": "list of avatar uuids to delete",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/batchAvatarRemoveModel"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Return the list of deleted avatars",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/batchDeletedAvatarModel"
}
}
}
},
"400": {
"description": "Something went wrong while handling the request, check each object of the returned list to see the source of the error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BatchError"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "body"
}
},
"/batch/avatars/update/replace": {
"put": {
"tags": [
"avatars"
],
"summary": "Update a set of avatars by REPLACING the current targeted avatars by all the given avatars.",
"operationId": "put_batch_update_replace_projection_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "Validate-All",
"in": "header",
"description": "Set to true to get all validation errors, if false, you'll only get the first error. Default is False",
"schema": {
"type": "boolean",
"default": false
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DataModel3"
}
},
"text/turtle": {
"schema": {
"$ref": "#/components/schemas/DataModelTurtle"
}
},
"application/ld+json": {
"schema": {
"$ref": "#/components/schemas/DataModelJsonLD"
}
},
"application/rdf+xml": {
"schema": {
"$ref": "#/components/schemas/DataModelRdfXML"
}
},
"application/x-turtle": {
"schema": {
"$ref": "#/components/schemas/DataModelTurtle"
}
},
"application/star-turtle": {
"schema": {
"$ref": "#/components/schemas/DataModelTTLStar"
}
},
"text/turtle-star": {
"schema": {
"$ref": "#/components/schemas/DataModelTTLStar"
}
},
"application/n-triples": {
"schema": {
"$ref": "#/components/schemas/DataModelNt"
}
},
"application/n-quads": {
"schema": {
"$ref": "#/components/schemas/DataModelNq"
}
},
"application/trig": {
"schema": {
"$ref": "#/components/schemas/DataModelTrig"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Update completed",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/batch/avatars/update/set": {
"put": {
"tags": [
"avatars"
],
"summary": "Update a set of avatars by SETTING only the given attributes.",
"operationId": "put_batch_update_set_projection_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "Validate-All",
"in": "header",
"description": "Set to true to get all validation errors, if false, you'll only get the first error. Default is False",
"schema": {
"type": "boolean",
"default": false
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DataModel3"
}
},
"text/turtle": {
"schema": {
"$ref": "#/components/schemas/DataModelTurtle"
}
},
"application/ld+json": {
"schema": {
"$ref": "#/components/schemas/DataModelJsonLD"
}
},
"application/rdf+xml": {
"schema": {
"$ref": "#/components/schemas/DataModelRdfXML"
}
},
"application/x-turtle": {
"schema": {
"$ref": "#/components/schemas/DataModelTurtle"
}
},
"application/star-turtle": {
"schema": {
"$ref": "#/components/schemas/DataModelTTLStar"
}
},
"text/turtle-star": {
"schema": {
"$ref": "#/components/schemas/DataModelTTLStar"
}
},
"application/n-triples": {
"schema": {
"$ref": "#/components/schemas/DataModelNt"
}
},
"application/n-quads": {
"schema": {
"$ref": "#/components/schemas/DataModelNq"
}
},
"application/trig": {
"schema": {
"$ref": "#/components/schemas/DataModelTrig"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Update completed",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/batch/avatars/update/unset": {
"put": {
"tags": [
"avatars"
],
"summary": "Update a set of avatars by UNSETTING the given attributes.",
"operationId": "put_batch_update_unset_projection_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "Validate-All",
"in": "header",
"description": "Set to true to get all validation errors, if false, you'll only get the first error. Default is False",
"schema": {
"type": "boolean",
"default": false
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DataModel3"
}
},
"text/turtle": {
"schema": {
"$ref": "#/components/schemas/DataModelTurtle"
}
},
"application/ld+json": {
"schema": {
"$ref": "#/components/schemas/DataModelJsonLD"
}
},
"application/rdf+xml": {
"schema": {
"$ref": "#/components/schemas/DataModelRdfXML"
}
},
"application/x-turtle": {
"schema": {
"$ref": "#/components/schemas/DataModelTurtle"
}
},
"application/star-turtle": {
"schema": {
"$ref": "#/components/schemas/DataModelTTLStar"
}
},
"text/turtle-star": {
"schema": {
"$ref": "#/components/schemas/DataModelTTLStar"
}
},
"application/n-triples": {
"schema": {
"$ref": "#/components/schemas/DataModelNt"
}
},
"application/n-quads": {
"schema": {
"$ref": "#/components/schemas/DataModelNq"
}
},
"application/trig": {
"schema": {
"$ref": "#/components/schemas/DataModelTrig"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Update completed",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/batch/process": {
"get": {
"tags": [
"avatars process"
],
"summary": "list of the processes.",
"operationId": "get_root_avatar_process_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "owner",
"in": "query",
"description": "owner id of the wanted processes. If not given, the owner should be the requester.",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "list found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/processModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
},
"post": {
"tags": [
"avatars process"
],
"summary": "Create a process that manages the creation of a set of Avatars asynchronously from a URL or a Blob",
"operationId": "post_root_avatar_process_resource",
"security": [
{
"bearerAuth": []
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/createProcessModel"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Creation completed",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/processModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/batch/process/{uuid}": {
"get": {
"tags": [
"avatars process"
],
"summary": "get the status of the process.",
"operationId": "get_avatar_process_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"description": "uuid of the process",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "process found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/processModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
},
"post": {
"tags": [
"avatars process"
],
"summary": "send a command to a process",
"operationId": "post_avatar_process_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"description": "uuid of the process",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "command",
"in": "query",
"description": "command to send to the process.",
"required": true,
"schema": {
"type": "string",
"enum": [
"STOP",
"RESUME",
"KILL",
"STATUS"
]
}
}
],
"responses": {
"200": {
"description": "Command sent.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/processModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/avatars/paths/kshortest": {
"get": {
"tags": [
"avatars"
],
"summary": "Find k shortest path(s) between 2 avatars.",
"operationId": "get_k_shortest_path_avatar_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "weight_attribute",
"in": "header",
"description": "Name of the relationship or IRI of the object property used as the weight for the total path cost/weight. If undefined or missing, default_weight will be used instead.",
"schema": {
"type": "string"
},
"required": false
},
{
"name": "default_weight",
"in": "header",
"description": "Default weight used as the edge cost/weight if weight_attribute is missing or undefined. If undefined default_weight is undefined, its default value is 1 (unweighted traversal)",
"schema": {
"type": "number",
"default": 1
},
"required": false
},
{
"name": "source_iri",
"in": "header",
"description": "iri of the source avatar",
"schema": {
"type": "string"
},
"required": false
},
{
"name": "target_iri",
"in": "header",
"description": "iri of the target avatar",
"schema": {
"type": "string"
},
"required": false
},
{
"name": "max_k_shortest_path",
"in": "header",
"description": "k, i.e. number of returned shortest paths. A value of 1 is equivalent to finding the single shortest path (if not unique, a value of 1 isn't deterministic and doesn't ensure to return always the same shortest path).",
"schema": {
"type": "integer",
"default": "3"
},
"required": false
},
{
"name": "direction",
"in": "header",
"description": "Edge direction for the graph traversal. ANY is equivalent to undirected graph traversal. OUTBOUND is equivalent to directed graph traversal. INBOUND is equivalent to reversed directed graph traversal.",
"schema": {
"type": "string",
"enum": [
"ANY",
"OUTBOUND",
"INBOUND"
],
"default": "OUTBOUND"
},
"required": false
}
],
"responses": {
"200": {
"description": "Return the k shortest path between the 2 avatars along with the path weight",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/pathsModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/avatars/paths/depth": {
"get": {
"tags": [
"avatars"
],
"summary": "Find all paths from 1 source avatar to its neighbors up to user defined limits (depth or total edge weight)",
"operationId": "get_ss_depth_path_avatar_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "weight_attribute",
"in": "header",
"description": "Name of the relationship or IRI of the object property used as the weight for the total path cost/weight. If undefined or missing, default_weight will be used instead.",
"schema": {
"type": "string"
},
"required": false
},
{
"name": "default_weight",
"in": "header",
"description": "Default weight used as the edge cost/weight if weight_attribute is missing or undefined. If undefined default_weight is undefined, its default value is 1 (unweighted traversal)",
"schema": {
"type": "number",
"default": 1
},
"required": false
},
{
"name": "source_iri",
"in": "header",
"description": "iri of the source avatar",
"schema": {
"type": "string"
},
"required": false
},
{
"name": "max_weight",
"in": "header",
"description": "Maximum total weight for the traversal. Paths with a total weight above this limit will be skipped in results.",
"schema": {
"type": "number"
},
"required": false
},
{
"name": "max_depth",
"in": "header",
"description": "Maximum depth (\"hops\") for the traversal. Undirected (ANY) graph traversal with a high depth limit can be costly and not return results in reasonable time. ",
"schema": {
"type": "integer",
"default": 5
},
"required": false
},
{
"name": "direction",
"in": "header",
"description": "Edge direction for the graph traversal. ANY is equivalent to undirected graph traversal. OUTBOUND is equivalent to directed graph traversal. INBOUND is equivalent to reversed directed graph traversal.",
"schema": {
"type": "string",
"enum": [
"ANY",
"OUTBOUND",
"INBOUND"
],
"default": "OUTBOUND"
},
"required": false
},
{
"name": "sort",
"in": "header",
"description": "order to sort results based on weight, either ASC(ascendant) or DESC(descendant). Default is ASC, i.e. shortest paths first",
"schema": {
"type": "string",
"enum": [
"ASC",
"DESC"
],
"default": "ASC"
},
"required": false
}
],
"responses": {
"200": {
"description": "Return the k shortest path between the 2 avatars along with the path weight",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/pathsModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/blobs": {
"post": {
"tags": [
"blobs"
],
"summary": "Register a new blob.",
"description": "Register a new blob. If the user has already a blob with the same name, the existing blob will be updated with the new blob and description. Optional : you may provide a list of avatar uuids to attach the blob to (same effect as /blobs/link)",
"operationId": "post_blob",
"security": [
{
"bearerAuth": []
}
],
"requestBody": {
"content": {
"multipart/form-data": {
"schema": {
"type": "object",
"properties": {
"file": {
"type": "string",
"description": "The blob file",
"format": "binary"
},
"description": {
"type": "string",
"description": "A description of the blob"
},
"tags": {
"type": "string",
"description": "Comma-separated list of tags"
},
"visibility": {
"description": "The visibility of the blob (255 means only visible to the owner and 0 means publicly visible)",
"type": "string",
"enum": [
"0",
"255"
],
"default": "255"
},
"avatar_uuids": {
"type": "string",
"description": "Comma-separated list of avatar uuids to attach the blob to"
}
}
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Blob successfully registered",
"headers": {
"Location": {
"description": "The URL of the blob object created in Thingin.",
"schema": {
"type": "string"
}
}
},
"content": {}
},
"400": {
"description": "The client submitted an invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
}
},
"401": {
"description": "Authorization error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
}
},
"403": {
"description": "Forbidden error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/blobs/link": {
"post": {
"tags": [
"blobs"
],
"summary": "Link avatars to blob.",
"description": "Link existing avatars to existing blob.",
"operationId": "post_blob_link",
"security": [
{
"bearerAuth": []
}
],
"requestBody": {
"description": "The avatar uuids or iris to link to a blob given by its uuid",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/avatarBlobLinkModel"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Avatars successfully linked to the blob",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"ignored": {
"type": "array",
"items": {
"type": "string"
}
}
},
"description": "list of iris of avatars ignored due to conflicts"
}
}
}
},
"400": {
"description": "The client submitted an invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
}
},
"401": {
"description": "Authorization error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
}
},
"403": {
"description": "Forbidden error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
}
},
"404": {
"description": "The blob or an avatar was not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "data"
}
},
"/blobs/unlink": {
"post": {
"tags": [
"blobs"
],
"summary": "Unlink avatars to blob.",
"description": "Unlink existing avatars to existing blob.",
"operationId": "post_blob_unlink",
"security": [
{
"bearerAuth": []
}
],
"requestBody": {
"description": "The avatar uuids or iris to unlink to a blob given by its uuid",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/avatarBlobLinkModel"
}
}
},
"required": true
},
"responses": {
"204": {
"description": "Avatars successfully unlinked to the blob",
"content": {}
},
"400": {
"description": "The client submitted an invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
}
},
"401": {
"description": "Authorization error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
}
},
"403": {
"description": "Forbidden error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
}
},
"404": {
"description": "The blob or an avatar was not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "data"
}
},
"/avatars/{uuid}/blobs": {
"get": {
"tags": [
"avatars",
"blobs"
],
"summary": "Get all blobs of an avatar.",
"operationId": "get_avatar_blobs",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"description": "uuid of the avatar",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "index",
"in": "query",
"description": "Index of the user",
"schema": {
"type": "integer"
}
},
{
"name": "page_size",
"in": "query",
"description": "Size of the page",
"schema": {
"type": "integer"
}
},
{
"name": "file_prefix",
"in": "query",
"description": "Blob file name Prefix filter",
"schema": {
"type": "string"
}
},
{
"name": "file_suffix",
"in": "query",
"description": "Blob file name Suffix filter",
"schema": {
"type": "string"
}
},
{
"name": "tags",
"in": "query",
"description": "Filter by tags",
"explode": false,
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
},
{
"name": "mimetype_filter",
"in": "query",
"description": "Blob mimetype filter (must match)",
"schema": {
"type": "string"
}
},
{
"name": "content_type_filter",
"in": "query",
"description": "Blob content_type filter (must match)",
"schema": {
"type": "string"
}
},
{
"name": "sort",
"in": "query",
"description": "Sort key ('-' for descending order)",
"schema": {
"type": "string",
"enum": [
"timestamp",
"-timestamp",
"content_length",
"-content_length",
"description",
"-description",
"filename",
"-filename",
"content_type",
"-content_type"
]
}
}
],
"responses": {
"200": {
"description": "Successful response containing the list of blobs attached to this avatar",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/blobs"
}
}
}
},
"400": {
"description": "The client submitted an invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
}
},
"401": {
"description": "Authorization error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
}
},
"403": {
"description": "Forbidden error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
}
},
"404": {
"description": "The avatar was not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/users/{uuid}/blobs": {
"get": {
"tags": [
"users",
"blobs"
],
"summary": "Blobs registered by a user",
"operationId": "get_user_blobs",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"description": "uuid of the user",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "owner",
"in": "query",
"description": "Flag to get only blobs for which the user is the owner. The value is considered to be False if the parameter is absent or the value is equal to false/False otherwhise it will be considered as true ",
"schema": {
"type": "boolean"
}
},
{
"name": "withTags",
"in": "query",
"description": "Flag to get all the tags for blob matching criteria, regardless of pagination",
"schema": {
"type": "boolean"
}
},
{
"name": "index",
"in": "query",
"description": "Index of the user",
"schema": {
"type": "integer"
}
},
{
"name": "page_size",
"in": "query",
"description": "Size of the page",
"schema": {
"type": "integer"
}
},
{
"name": "file_prefix",
"in": "query",
"description": "Blob file name Prefix filter",
"schema": {
"type": "string"
}
},
{
"name": "file_suffix",
"in": "query",
"description": "Blob file name Suffix filter",
"schema": {
"type": "string"
}
},
{
"name": "tags",
"in": "query",
"description": "Filter by tags",
"explode": false,
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
},
{
"name": "mimetype_filter",
"in": "query",
"description": "Blob mimetype filter (must match)",
"schema": {
"type": "string"
}
},
{
"name": "content_type_filter",
"in": "query",
"description": "Blob content_type filter (must match)",
"schema": {
"type": "string"
}
},
{
"name": "sort",
"in": "query",
"description": "Sort key ('-' for descending order)",
"schema": {
"type": "string",
"enum": [
"timestamp",
"-timestamp",
"content_length",
"-content_length",
"description",
"-description",
"filename",
"-filename",
"content_type",
"-content_type"
]
}
}
],
"responses": {
"200": {
"description": "Return the User blobs list",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/blobs"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/blobs/{uuid}/download": {
"get": {
"tags": [
"blobs"
],
"summary": "Download a blob.",
"operationId": "download_blob",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"description": "uuid of the blob",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "token",
"in": "query",
"description": "User JWT token. If present, it will be used to authenticated the user instead of the token passed in header",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"400": {
"description": "The client submitted an invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
}
},
"401": {
"description": "Authorization error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
}
},
"403": {
"description": "Forbidden error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
}
},
"404": {
"description": "The blob was not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/blobs/{uuid}": {
"get": {
"tags": [
"blobs"
],
"summary": "Retrieve a blob.",
"operationId": "get_blob",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"description": "uuid of the blob",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/blob"
}
}
}
},
"400": {
"description": "The client submitted an invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
}
},
"401": {
"description": "Authorization error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
}
},
"403": {
"description": "Forbidden error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
}
},
"404": {
"description": "The blob was not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
},
"put": {
"tags": [
"blobs"
],
"summary": "Update a blob.",
"description": "Update existing blob.",
"operationId": "put_blob_update",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"description": "uuid of the blob",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"multipart/form-data": {
"schema": {
"type": "object",
"properties": {
"file": {
"type": "string",
"description": "The blob file with update content",
"format": "binary"
},
"description": {
"type": "string",
"description": "A new description of the blob"
},
"tags": {
"type": "string",
"description": "A new comma-separated list of tags"
},
"visibility": {
"description": "The visibility of the blob (255 means only visible to the owner and 0 means publicly visible)",
"type": "string",
"enum": [
"0",
"255"
],
"default": "255"
}
}
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Blob successfully updated",
"content": {}
},
"400": {
"description": "The client submitted an invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
}
},
"401": {
"description": "Authorization error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
}
},
"403": {
"description": "Forbidden error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
}
},
"404": {
"description": "The blob not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "data"
},
"delete": {
"tags": [
"blobs"
],
"summary": "Delete a blob",
"description": "Delete a blob. Only the owner of an blob can delete it",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"description": "The blob uuid",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": "Blob successfully deleted",
"content": {}
},
"401": {
"description": "Authorization error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
}
},
"403": {
"description": "Forbidden error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
}
},
"404": {
"description": "The blob was not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
}
},
"500": {
"description": "An error occurred while processing the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/blobs/stats": {
"get": {
"tags": [
"blobs"
],
"summary": "Retrieve blob storage stats of the current user.",
"operationId": "get_blob_stats",
"security": [
{
"bearerAuth": []
}
],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/blobstats"
}
}
}
},
"400": {
"description": "The client submitted an invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
}
},
"401": {
"description": "Authorization error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
}
},
"403": {
"description": "Forbidden error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/blobs/{uuid}/avatars": {
"get": {
"tags": [
"blobs"
],
"summary": "Retrieve IRIs of avatars linked to a blob.",
"operationId": "get_blob_avatars",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"description": "uuid of the blob",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BlobAvatarIRIs"
}
}
}
},
"400": {
"description": "The client submitted an invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
}
},
"401": {
"description": "Authorization error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
}
},
"403": {
"description": "Forbidden error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
}
},
"404": {
"description": "The blob was not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/cluster": {
"get": {
"tags": [
"cluster"
],
"summary": "list of cluster",
"operationId": "get_root_cluster_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "owner",
"in": "query",
"description": "uuid of the owner",
"schema": {
"type": "string"
}
},
{
"name": "manager",
"in": "query",
"description": "uuid of a user managing the cluster",
"schema": {
"type": "string"
}
},
{
"name": "avatars",
"in": "query",
"description": "embed avatars in result",
"schema": {
"type": "boolean"
}
},
{
"name": "avatar",
"in": "query",
"description": "iri of avatar (url safe b64 encoded)",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Return the cluster List",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/clusterListModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
},
"post": {
"tags": [
"cluster"
],
"summary": "Create a new cluster",
"operationId": "post_root_cluster_resource",
"security": [
{
"bearerAuth": []
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/clusterCreateModel"
}
}
},
"required": true
},
"responses": {
"204": {
"description": "cluster created with no error",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/cluster/{uuid}": {
"get": {
"tags": [
"cluster"
],
"summary": "Retrieve a cluster from a uuid",
"description": "If a depth is given, traverse the cluster graph through subcluster links until this depth",
"operationId": "get_cluster_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "Depth",
"in": "header",
"description": "Describe the maximum depth you allow to traverse data into the graph",
"schema": {
"type": "integer"
}
},
{
"name": "avatars",
"in": "query",
"description": "embed avatars",
"schema": {
"type": "boolean"
}
}
],
"responses": {
"200": {
"description": "Return the cluster",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/clusterListModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
},
"delete": {
"tags": [
"cluster"
],
"summary": "Delete a cluster from a uuid",
"operationId": "delete_cluster_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": "Delete the cluster",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/cluster/{uuid}/avatars": {
"post": {
"tags": [
"cluster"
],
"summary": "Add a bunch of avatars into a cluster",
"operationId": "post_cluster_avatar_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/clusterAvatarAddModel"
}
}
},
"required": true
},
"responses": {
"204": {
"description": "A bunch of avatars added into a cluster with no error",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
},
"delete": {
"tags": [
"cluster"
],
"summary": "Remove a bunch of avatars from their cluster",
"operationId": "delete_cluster_avatar_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/clusterAvatarRemoveModel"
}
}
},
"required": true
},
"responses": {
"204": {
"description": "A bunch of avatars removed from their cluster with no error",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/cluster/{uuid}/subs": {
"post": {
"tags": [
"cluster"
],
"summary": "Add a bunch of clusters into a cluster",
"operationId": "post_cluster_add_sub_cluster_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/clusterAvatarAddModel"
}
}
},
"required": true
},
"responses": {
"204": {
"description": "A bunch of clusters added into a cluster with no error",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
},
"delete": {
"tags": [
"cluster"
],
"summary": "Remove a bunch of clusters from their cluster",
"operationId": "delete_cluster_add_sub_cluster_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/clusterAvatarRemoveModel"
}
}
},
"required": true
},
"responses": {
"204": {
"description": "A bunch of clusters removed from their cluster with no error",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/cluster/{uuid}/users": {
"post": {
"tags": [
"cluster"
],
"summary": "Add a bunch of Managers to a cluster",
"operationId": "post_cluster_manager_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/clusterManagerAddModel"
}
}
},
"required": true
},
"responses": {
"204": {
"description": "A bunch of managers added to a cluster with no error",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
},
"delete": {
"tags": [
"cluster"
],
"summary": "Remove a bunch of managers from the given cluster",
"operationId": "delete_cluster_manager_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/clusterManagerRemoveModel"
}
}
},
"required": true
},
"responses": {
"204": {
"description": "A bunch of Users removed from the given cluster with no error",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/fellows": {
"get": {
"tags": [
"fellows"
],
"summary": "list internal users",
"operationId": "get_internal_user_root_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "index",
"in": "query",
"description": "Index of the user",
"schema": {
"type": "integer"
}
},
{
"name": "page_size",
"in": "query",
"description": "Size of the page",
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"description": "Return the internal users",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/internalUserkListModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
},
"post": {
"tags": [
"fellows"
],
"summary": "Create a new internal user",
"operationId": "post_internal_user_root_resource",
"security": [
{
"bearerAuth": []
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/internalUserCreateModel"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "internal User created with no error",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/fellows/auth": {
"get": {
"tags": [
"fellows"
],
"summary": "auth an internal user from his basic auth",
"operationId": "get_internal_user_auth_resource",
"security": [
{
"bearerAuth": []
}
],
"responses": {
"200": {
"description": "Auth ok",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/fellows/{login}": {
"get": {
"tags": [
"fellows"
],
"summary": "Retrieve an internal user from his login",
"operationId": "get_internal_user_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "login",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Return the Internal user",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/internalUserModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
},
"put": {
"tags": [
"fellows"
],
"summary": "update an internal user from his login",
"operationId": "put_internal_user_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "login",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/internalUserUpdateModel"
}
}
},
"required": true
},
"responses": {
"204": {
"description": "update ok",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
},
"delete": {
"tags": [
"fellows"
],
"summary": "Delete an Internal user from its login",
"operationId": "delete_internal_user_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "login",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": "Delete an Internal user",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/metrics": {
"get": {
"tags": [
"metrics"
],
"operationId": "get_metrics_resource",
"security": [
{
"bearerAuth": []
}
],
"responses": {
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/metrics/dbsession": {
"get": {
"tags": [
"metrics"
],
"operationId": "get_metrics_db_session_resource",
"security": [
{
"bearerAuth": []
}
],
"responses": {
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/metrics/domains": {
"get": {
"tags": [
"metrics"
],
"operationId": "get_metrics_domain_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "domain",
"in": "query",
"description": "the domain for the metrics",
"schema": {
"type": "string"
}
}
],
"responses": {
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/securitygroup": {
"get": {
"tags": [
"securitygroup"
],
"summary": "list of Security Group",
"operationId": "get_root_security_group_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "owner",
"in": "query",
"description": "uuid of the owner",
"schema": {
"type": "string"
}
},
{
"name": "user",
"in": "query",
"description": "uuid of a user inside the security group",
"schema": {
"type": "string"
}
},
{
"name": "avatar",
"in": "query",
"description": "iri of avatar (url safe b64 encoded)",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Return the Security Group List",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/securityGroupListModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
},
"post": {
"tags": [
"securitygroup"
],
"summary": "Create a new Security Group",
"operationId": "post_root_security_group_resource",
"security": [
{
"bearerAuth": []
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/securityGroupCreateModel"
}
}
},
"required": true
},
"responses": {
"204": {
"description": "Security Group created with no error",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/securitygroup/avatars": {
"delete": {
"tags": [
"securitygroup"
],
"summary": "Remove a bunch of avatars from their Security Group",
"operationId": "delete_security_group_remove_avatar_resource",
"security": [
{
"bearerAuth": []
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/securityGroupAvatarRemoveModel"
}
}
},
"required": true
},
"responses": {
"204": {
"description": "A bunch of avatars removed from their Security Group with no error",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/securitygroup/{uuid}": {
"get": {
"tags": [
"securitygroup"
],
"summary": "Retrieve a Security Group from a uuid",
"operationId": "get_security_group_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Return the Security Group",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/securityGroupModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
},
"delete": {
"tags": [
"securitygroup"
],
"summary": "Delete a Security Group from a uuid",
"operationId": "delete_security_group_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": "Delete the Security Group",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/securitygroup/{uuid}/avatars": {
"post": {
"tags": [
"securitygroup"
],
"summary": "Add a bunch of avatars into a Security Group",
"operationId": "post_security_group_add_avatar_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/securityGroupAvatarAddModel"
}
}
},
"required": true
},
"responses": {
"204": {
"description": "A bunch of avatars added into a Security Group with no error",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/securitygroup/{uuid}/users": {
"post": {
"tags": [
"securitygroup"
],
"summary": "Add a bunch of Users into a Security Group",
"operationId": "post_security_group_user_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/securityGroupUserAddModel"
}
}
},
"required": true
},
"responses": {
"204": {
"description": "A bunch of Users added into a Security Group with no error",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
},
"delete": {
"tags": [
"securitygroup"
],
"summary": "Remove a bunch of Users from the given Security Group",
"operationId": "delete_security_group_user_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/securityGroupUserRemoveModel"
}
}
},
"required": true
},
"responses": {
"204": {
"description": "A bunch of Users removed from the given Security Group with no error",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/status": {
"get": {
"tags": [
"status"
],
"operationId": "get_status_resource",
"security": [
{
"bearerAuth": []
}
],
"responses": {
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/tasks": {
"get": {
"tags": [
"tasks"
],
"summary": "Find tasks given their type and status",
"operationId": "get_root_task_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "task_type",
"in": "query",
"description": "The type of the task, either ASPECT_CLEANUP or ONTOLOGY_NOTIFICATION",
"schema": {
"type": "string",
"default": "ONTOLOGY_NOTIFICATION"
}
},
{
"name": "status_type",
"in": "query",
"description": "The status of the task, either SUCCESS, FAILURE or RUNNING",
"schema": {
"type": "string",
"default": "SUCCESS"
}
},
{
"name": "uuid",
"in": "query",
"description": "The identified of the task",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Return the data in application/json",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/taskModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/tasks/{uuid}": {
"get": {
"tags": [
"tasks"
],
"summary": "Retrieve a task status using its uuid",
"operationId": "get_task_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Return the data in the selected format",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/taskModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/tasks/{uuid}/start": {
"post": {
"tags": [
"tasks"
],
"summary": "Set the given task active state to True",
"description": "If the task was already active or already running, this will not\nimpact anything. Setting a task active state to True does not mean it will be executed on the spot.",
"operationId": "post_start_task_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/taskModel"
}
}
},
"required": true
},
"responses": {
"204": {
"description": "Task started",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/tasks/{uuid}/stop": {
"post": {
"tags": [
"tasks"
],
"summary": "Stop the given task by setting its active state to False",
"description": "If the task appears to be running somewhere\nby an executor, it will be stopped.",
"operationId": "post_stop_task_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/taskModel"
}
}
},
"required": true
},
"responses": {
"204": {
"description": "Task stopped",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/triggers": {
"get": {
"tags": [
"triggers"
],
"summary": "Find triggers given their targeted avatar domain/iri, their type, or their user data.",
"operationId": "get_root_trigger_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "domain",
"in": "query",
"description": "Find triggers with matching avatar domain",
"schema": {
"type": "string"
}
},
{
"name": "iri",
"in": "query",
"description": "Find triggers with matching avatar iri",
"schema": {
"type": "string"
}
},
{
"name": "user_data",
"in": "query",
"description": "Find triggers with matching user data",
"schema": {
"type": "string"
}
},
{
"name": "trigger_type",
"in": "query",
"description": "Find triggers with matching trigger type",
"schema": {
"type": "string",
"enum": [
"AvatarCreated",
"AvatarUpdated",
"AvatarDeleted",
"ObjectPropertyTimeout"
]
}
}
],
"responses": {
"200": {
"description": "Return the data in application/json",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/triggerListResponseModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
},
"post": {
"tags": [
"triggers"
],
"summary": "Takes a trigger, parse it, check it, and load it into Thing'in",
"description": "Create a trigger to receive notifications when some avatar changes occur. Notifications are sent either using a provided webhook or a dynamically generated websocket end points.",
"operationId": "post_root_trigger_resource",
"security": [
{
"bearerAuth": []
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/triggerModel"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Trigger created with no error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/triggerResponseModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/triggers/{uuid}": {
"get": {
"tags": [
"triggers"
],
"summary": "Retrieve a trigger using its uuid",
"operationId": "get_trigger_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Return the data in the selected format",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/triggerResponseModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
},
"delete": {
"tags": [
"triggers"
],
"summary": "Delete a trigger using its uuid",
"operationId": "delete_trigger_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": "Delete the data",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/triggerResponseModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/ts/metrics": {
"get": {
"tags": [
"ts"
],
"summary": "execute an Influx select request",
"operationId": "get_metrics_query_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "q",
"in": "query",
"required": true,
"description": "the metrics time series request",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Return the result of the request in application/json",
"content": {
"application/json": {
"schema": {
"type": "object"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/ts/properties": {
"get": {
"tags": [
"ts"
],
"summary": "execute an Influx select request",
"operationId": "get_ts_query_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "q",
"in": "query",
"required": true,
"description": "the time series request for specific properties",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Return the result of the request in application/json",
"content": {
"application/json": {
"schema": {
"type": "object"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/certificates": {
"get": {
"tags": [
"certificates"
],
"summary": "Return the certificate of this thing'in node",
"operationId": "get_root_certificates_resource",
"responses": {
"200": {
"description": "Return the certificate of this thing'in node. This certificate is encoded as a JWT signed by the authority",
"content": {
"text/plain": {
"schema": {
"type": "string"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/certificates/domains": {
"get": {
"tags": [
"certificates"
],
"summary": "Return the domains contained in the certificate of this thing'in node",
"operationId": "get_domains_certificates_resource",
"responses": {
"200": {
"description": "Return the domains contained in the certificate of this thing'in node",
"content": {
"text/plain": {
"schema": {
"type": "array",
"description": "list of domains",
"items": {
"type": "string"
}
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/certificates/takeup": {
"post": {
"tags": [
"certificates"
],
"summary": "takeup a challenge",
"operationId": "post_takeup_certificates_resource",
"requestBody": {
"content": {
"application/octet-stream": {
"schema": {
"type": "string",
"format": "binary"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "takeup a challenge according the keys attached to the certificate",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/octet-stream": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/users": {
"get": {
"tags": [
"users"
],
"summary": "list of users",
"operationId": "get_root_user_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "index",
"in": "query",
"description": "Index of the user",
"schema": {
"type": "integer"
}
},
{
"name": "idp",
"in": "query",
"description": "idp",
"schema": {
"type": "string"
}
},
{
"name": "page_size",
"in": "query",
"description": "Size of the page",
"schema": {
"type": "integer"
}
},
{
"name": "ext_id",
"in": "query",
"description": "id of the user",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Return the User List. The total count of user could not be given (iterate until the list is empty to get all the users)",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/userPageModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
},
"post": {
"tags": [
"users"
],
"summary": "Create a new user",
"operationId": "post_root_user_resource",
"security": [
{
"bearerAuth": []
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/userCreateModel"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "user created with no error",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/users/{uuid}": {
"get": {
"tags": [
"users"
],
"summary": "Retrieve a User from a uuid (use <me> as uuid to retrieve the current requester user info)",
"operationId": "get_user_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "usage",
"in": "query",
"description": "embed user usage",
"schema": {
"type": "string"
}
},
{
"name": "count",
"in": "query",
"description": "embed counts of owned entities",
"schema": {
"type": "boolean"
}
}
],
"responses": {
"200": {
"description": "Return the User",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/userModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
},
"put": {
"tags": [
"users"
],
"summary": "update user domain",
"description": "Only done by an Admin.",
"operationId": "put_user_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/userDomainModel"
}
}
},
"required": true
},
"responses": {
"204": {
"description": "user domain updated with no error",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
},
"post": {
"tags": [
"users"
],
"summary": "Add or delete user role / domain",
"description": "Only done by an Admin.",
"operationId": "post_user_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "action",
"in": "query",
"description": "add|remove by default add",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/roleListModel"
}
}
},
"required": true
},
"responses": {
"204": {
"description": "user roles updated with no error",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
},
"delete": {
"tags": [
"users"
],
"summary": "Delete a User from a uuid",
"description": "Only done by an Admin.",
"operationId": "delete_user_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": "Delete the User",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/conversion": {
"get": {
"tags": [
"conversion"
],
"summary": "Retrieve a conversion function from its name",
"operationId": "get_conversion_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "name",
"in": "header",
"description": "Function name in the format: namespace(generic|indoor|projection)::property::domain",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Return the Conversion function",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/conversionModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
},
"post": {
"tags": [
"conversion"
],
"summary": "create/update conversion function",
"description": "Only done by an Admin.",
"operationId": "post_conversion_resource",
"security": [
{
"bearerAuth": []
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/conversionModel"
}
}
},
"required": true
},
"responses": {
"204": {
"description": "conversion function created/updated with no error",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
},
"delete": {
"tags": [
"conversion"
],
"summary": "Delete a conversion function",
"description": "Can be done by an owner of the domain",
"operationId": "delete_conversion_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "name",
"in": "header",
"description": "Function name in the format: namespace(generic|indoor|projection)::property::domain, as returned at creation time",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": "conversion function deleted successfully",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/conversion/domain": {
"get": {
"tags": [
"conversion"
],
"summary": "Retrieve a conversion function by domain",
"description": "Retrieve conversions functions that apply to a domain using its IRI",
"operationId": "get_conversion_resource_by_iri",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "domain",
"in": "header",
"description": "IRI of the domain",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Return the names (ids) of all conversion functions for this domain",
"content": {
"application/json": {
"schema": {
"type": "array",
"description": "list of conversion function names",
"items": {
"type": "string",
"description": "conversion function name"
}
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/conversion/geo": {
"post": {
"tags": [
"conversion"
],
"summary": "create/update geo-conversion function",
"description": "Can be done by an owner of the domain",
"operationId": "post_conversion_geo_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "polygon",
"in": "header",
"description": "Polygons and points are managed separately. Default is point conversion (false). Set to true for polygon conversion. ",
"required": true,
"schema": {
"type": "boolean",
"default": false
}
},
{
"name": "domain",
"in": "header",
"description": "Avatar domain where the function is applied",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "projection",
"in": "header",
"description": "Projection WKT String definition (see https://epsg.io/) OR EPSG code of the projection in the format EPSG:code",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "longitude_property",
"in": "header",
"description": "Replaces the default property used as input for longitude/X. Optional : the default behaviour is to use http://orange-labs.fr/fog/ont/object-location.owl#locationPayload for both longitude and latitude (see https://wiki.thinginthefuture.com/public/Manipulate_conversion_functions_by_domain)",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "latitude_property",
"in": "header",
"description": "Replaces the default property used as input for latitude/Y. Optional : the default behaviour is to use http://orange-labs.fr/fog/ont/object-location.owl#locationPayload for both longitude and latitude (see https://wiki.thinginthefuture.com/public/Manipulate_conversion_functions_by_domain)",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "polygon_property",
"in": "header",
"description": "Replaces the default property used as input for polygons. Optional : the default behaviour is to use http://orange-labs.fr/fog/ont/building.owl#localProjectedGeometry (see https://wiki.thinginthefuture.com/public/Manipulate_conversion_functions_by_domain)",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": "geo-conversion function created/updated with no error",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/conversion/indoor": {
"post": {
"tags": [
"conversion"
],
"summary": "create/update indoor-conversion function",
"description": "Can be done by an owner of the domain",
"operationId": "post_conversion_indoor_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "domain",
"in": "header",
"description": "Domain where the conversion is applied",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "polygon_angle_to_north",
"in": "header",
"description": "Polygons rotation relative to north axis",
"required": true,
"schema": {
"type": "number",
"format": "number"
}
},
{
"name": "point_angle_to_north",
"in": "header",
"description": "Point rotation relative to north axis",
"required": true,
"schema": {
"type": "number",
"format": "number"
}
},
{
"name": "ref_latitude",
"in": "header",
"description": "Latitude of local reference point (i.e. origin 0,0)",
"required": true,
"schema": {
"type": "number",
"format": "number"
}
},
{
"name": "ref_longitude",
"in": "header",
"description": "Longitude of local reference point (i.e. origin 0,0)",
"required": true,
"schema": {
"type": "number",
"format": "number"
}
}
],
"responses": {
"200": {
"description": "indoor-conversion function created/updated with no error",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/conversion/unit": {
"post": {
"tags": [
"conversion"
],
"summary": "create/update unit-conversion function",
"description": "Can be done by an owner of the domain",
"operationId": "post_conversion_unit_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "domain",
"in": "header",
"description": "Avatar domain where the function is applied",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "sourceProperty",
"in": "header",
"description": "Source (existing) avatar property to convert from",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "targetProperty",
"in": "header",
"description": "Target avatar property to convert to",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "fromUnit",
"in": "header",
"description": "Source unit to convert from",
"required": true,
"schema": {
"type": "string",
"enum": [
"mm:[mm,cm,m,km,in,yd,ft-us,ft,mi]",
"cm:[mm,cm,m,km,in,yd,ft-us,ft,mi]",
"m:[mm,cm,m,km,in,yd,ft-us,ft,mi]",
"km:[mm,cm,m,km,in,yd,ft-us,ft,mi]",
"in:[mm,cm,m,km,in,yd,ft-us,ft,mi]",
"yd:[mm,cm,m,km,in,yd,ft-us,ft,mi]",
"ft-us:[mm,cm,m,km,in,yd,ft-us,ft,mi]",
"ft:[mm,cm,m,km,in,yd,ft-us,ft,mi]",
"mi:[mm,cm,m,km,in,yd,ft-us,ft,mi]",
"mm2:[mm2,cm2,m2,ha,km2,in2,yd2,ft2,ac,mi2]",
"cm2:[mm2,cm2,m2,ha,km2,in2,yd2,ft2,ac,mi2]",
"m2:[mm2,cm2,m2,ha,km2,in2,yd2,ft2,ac,mi2]",
"ha:[mm2,cm2,m2,ha,km2,in2,yd2,ft2,ac,mi2]",
"km2:[mm2,cm2,m2,ha,km2,in2,yd2,ft2,ac,mi2]",
"in2:[mm2,cm2,m2,ha,km2,in2,yd2,ft2,ac,mi2]",
"yd2:[mm2,cm2,m2,ha,km2,in2,yd2,ft2,ac,mi2]",
"ft2:[mm2,cm2,m2,ha,km2,in2,yd2,ft2,ac,mi2]",
"ac:[mm2,cm2,m2,ha,km2,in2,yd2,ft2,ac,mi2]",
"mi2:[mm2,cm2,m2,ha,km2,in2,yd2,ft2,ac,mi2]",
"mcg:[mcg,mg,g,kg,mt,oz,lb,t]",
"mg:[mcg,mg,g,kg,mt,oz,lb,t]",
"g:[mcg,mg,g,kg,mt,oz,lb,t]",
"kg:[mcg,mg,g,kg,mt,oz,lb,t]",
"mt:[mcg,mg,g,kg,mt,oz,lb,t]",
"oz:[mcg,mg,g,kg,mt,oz,lb,t]",
"lb:[mcg,mg,g,kg,mt,oz,lb,t]",
"t:[mcg,mg,g,kg,mt,oz,lb,t]",
"mm3:[mm3,cm3,ml,cl,dl,l,kl,m3,km3,krm,tsk,msk,kkp,glas,kanna,tsp,Tbs,in3,fl-oz,cup,pnt,qt,gal,ft3,yd3]",
"cm3:[mm3,cm3,ml,cl,dl,l,kl,m3,km3,krm,tsk,msk,kkp,glas,kanna,tsp,Tbs,in3,fl-oz,cup,pnt,qt,gal,ft3,yd3]",
"ml:[mm3,cm3,ml,cl,dl,l,kl,m3,km3,krm,tsk,msk,kkp,glas,kanna,tsp,Tbs,in3,fl-oz,cup,pnt,qt,gal,ft3,yd3]",
"cl:[mm3,cm3,ml,cl,dl,l,kl,m3,km3,krm,tsk,msk,kkp,glas,kanna,tsp,Tbs,in3,fl-oz,cup,pnt,qt,gal,ft3,yd3]",
"dl:[mm3,cm3,ml,cl,dl,l,kl,m3,km3,krm,tsk,msk,kkp,glas,kanna,tsp,Tbs,in3,fl-oz,cup,pnt,qt,gal,ft3,yd3]",
"l:[mm3,cm3,ml,cl,dl,l,kl,m3,km3,krm,tsk,msk,kkp,glas,kanna,tsp,Tbs,in3,fl-oz,cup,pnt,qt,gal,ft3,yd3]",
"kl:[mm3,cm3,ml,cl,dl,l,kl,m3,km3,krm,tsk,msk,kkp,glas,kanna,tsp,Tbs,in3,fl-oz,cup,pnt,qt,gal,ft3,yd3]",
"m3:[mm3,cm3,ml,cl,dl,l,kl,m3,km3,krm,tsk,msk,kkp,glas,kanna,tsp,Tbs,in3,fl-oz,cup,pnt,qt,gal,ft3,yd3]",
"km3:[mm3,cm3,ml,cl,dl,l,kl,m3,km3,krm,tsk,msk,kkp,glas,kanna,tsp,Tbs,in3,fl-oz,cup,pnt,qt,gal,ft3,yd3]",
"krm:[mm3,cm3,ml,cl,dl,l,kl,m3,km3,krm,tsk,msk,kkp,glas,kanna,tsp,Tbs,in3,fl-oz,cup,pnt,qt,gal,ft3,yd3]",
"tsk:[mm3,cm3,ml,cl,dl,l,kl,m3,km3,krm,tsk,msk,kkp,glas,kanna,tsp,Tbs,in3,fl-oz,cup,pnt,qt,gal,ft3,yd3]",
"msk:[mm3,cm3,ml,cl,dl,l,kl,m3,km3,krm,tsk,msk,kkp,glas,kanna,tsp,Tbs,in3,fl-oz,cup,pnt,qt,gal,ft3,yd3]",
"kkp:[mm3,cm3,ml,cl,dl,l,kl,m3,km3,krm,tsk,msk,kkp,glas,kanna,tsp,Tbs,in3,fl-oz,cup,pnt,qt,gal,ft3,yd3]",
"glas:[mm3,cm3,ml,cl,dl,l,kl,m3,km3,krm,tsk,msk,kkp,glas,kanna,tsp,Tbs,in3,fl-oz,cup,pnt,qt,gal,ft3,yd3]",
"kanna:[mm3,cm3,ml,cl,dl,l,kl,m3,km3,krm,tsk,msk,kkp,glas,kanna,tsp,Tbs,in3,fl-oz,cup,pnt,qt,gal,ft3,yd3]",
"tsp:[mm3,cm3,ml,cl,dl,l,kl,m3,km3,krm,tsk,msk,kkp,glas,kanna,tsp,Tbs,in3,fl-oz,cup,pnt,qt,gal,ft3,yd3]",
"Tbs:[mm3,cm3,ml,cl,dl,l,kl,m3,km3,krm,tsk,msk,kkp,glas,kanna,tsp,Tbs,in3,fl-oz,cup,pnt,qt,gal,ft3,yd3]",
"in3:[mm3,cm3,ml,cl,dl,l,kl,m3,km3,krm,tsk,msk,kkp,glas,kanna,tsp,Tbs,in3,fl-oz,cup,pnt,qt,gal,ft3,yd3]",
"fl-oz:[mm3,cm3,ml,cl,dl,l,kl,m3,km3,krm,tsk,msk,kkp,glas,kanna,tsp,Tbs,in3,fl-oz,cup,pnt,qt,gal,ft3,yd3]",
"cup:[mm3,cm3,ml,cl,dl,l,kl,m3,km3,krm,tsk,msk,kkp,glas,kanna,tsp,Tbs,in3,fl-oz,cup,pnt,qt,gal,ft3,yd3]",
"pnt:[mm3,cm3,ml,cl,dl,l,kl,m3,km3,krm,tsk,msk,kkp,glas,kanna,tsp,Tbs,in3,fl-oz,cup,pnt,qt,gal,ft3,yd3]",
"qt:[mm3,cm3,ml,cl,dl,l,kl,m3,km3,krm,tsk,msk,kkp,glas,kanna,tsp,Tbs,in3,fl-oz,cup,pnt,qt,gal,ft3,yd3]",
"gal:[mm3,cm3,ml,cl,dl,l,kl,m3,km3,krm,tsk,msk,kkp,glas,kanna,tsp,Tbs,in3,fl-oz,cup,pnt,qt,gal,ft3,yd3]",
"ft3:[mm3,cm3,ml,cl,dl,l,kl,m3,km3,krm,tsk,msk,kkp,glas,kanna,tsp,Tbs,in3,fl-oz,cup,pnt,qt,gal,ft3,yd3]",
"yd3:[mm3,cm3,ml,cl,dl,l,kl,m3,km3,krm,tsk,msk,kkp,glas,kanna,tsp,Tbs,in3,fl-oz,cup,pnt,qt,gal,ft3,yd3]",
"ea:[ea,dz]",
"dz:[ea,dz]",
"C:[C,K,F,R]",
"K:[C,K,F,R]",
"F:[C,K,F,R]",
"R:[C,K,F,R]",
"ns:[ns,mu,ms,s,min,h,d,week,month,year]",
"mu:[ns,mu,ms,s,min,h,d,week,month,year]",
"ms:[ns,mu,ms,s,min,h,d,week,month,year]",
"s:[ns,mu,ms,s,min,h,d,week,month,year]",
"min:[ns,mu,ms,s,min,h,d,week,month,year]",
"h:[ns,mu,ms,s,min,h,d,week,month,year]",
"d:[ns,mu,ms,s,min,h,d,week,month,year]",
"week:[ns,mu,ms,s,min,h,d,week,month,year]",
"month:[ns,mu,ms,s,min,h,d,week,month,year]",
"year:[ns,mu,ms,s,min,h,d,week,month,year]",
"b:[b,Kb,Mb,Gb,Tb,B,KB,MB,GB,TB]",
"Kb:[b,Kb,Mb,Gb,Tb,B,KB,MB,GB,TB]",
"Mb:[b,Kb,Mb,Gb,Tb,B,KB,MB,GB,TB]",
"Gb:[b,Kb,Mb,Gb,Tb,B,KB,MB,GB,TB]",
"Tb:[b,Kb,Mb,Gb,Tb,B,KB,MB,GB,TB]",
"B:[b,Kb,Mb,Gb,Tb,B,KB,MB,GB,TB]",
"KB:[b,Kb,Mb,Gb,Tb,B,KB,MB,GB,TB]",
"MB:[b,Kb,Mb,Gb,Tb,B,KB,MB,GB,TB]",
"GB:[b,Kb,Mb,Gb,Tb,B,KB,MB,GB,TB]",
"TB:[b,Kb,Mb,Gb,Tb,B,KB,MB,GB,TB]",
"ppm:[ppm,ppb,ppt,ppq]",
"ppb:[ppm,ppb,ppt,ppq]",
"ppt:[ppm,ppb,ppt,ppq]",
"ppq:[ppm,ppb,ppt,ppq]",
"m/s:[m/s,km/h,m/h,knot,ft/s]",
"km/h:[m/s,km/h,m/h,knot,ft/s]",
"m/h:[m/s,km/h,m/h,knot,ft/s]",
"knot:[m/s,km/h,m/h,knot,ft/s]",
"ft/s:[m/s,km/h,m/h,knot,ft/s]",
"min/km:[min/km,s/m,min/mi,s/ft]",
"s/m:[min/km,s/m,min/mi,s/ft]",
"min/mi:[min/km,s/m,min/mi,s/ft]",
"s/ft:[min/km,s/m,min/mi,s/ft]",
"Pa:[Pa,kPa,MPa,hPa,bar,torr,psi,ksi]",
"kPa:[Pa,kPa,MPa,hPa,bar,torr,psi,ksi]",
"MPa:[Pa,kPa,MPa,hPa,bar,torr,psi,ksi]",
"hPa:[Pa,kPa,MPa,hPa,bar,torr,psi,ksi]",
"bar:[Pa,kPa,MPa,hPa,bar,torr,psi,ksi]",
"torr:[Pa,kPa,MPa,hPa,bar,torr,psi,ksi]",
"psi:[Pa,kPa,MPa,hPa,bar,torr,psi,ksi]",
"ksi:[Pa,kPa,MPa,hPa,bar,torr,psi,ksi]",
"A:[A,mA,kA]",
"mA:[A,mA,kA]",
"kA:[A,mA,kA]",
"V:[V,mV,kV]",
"mV:[V,mV,kV]",
"kV:[V,mV,kV]",
"W:[W,mW,kW,MW,GW]",
"mW:[W,mW,kW,MW,GW]",
"kW:[W,mW,kW,MW,GW]",
"MW:[W,mW,kW,MW,GW]",
"GW:[W,mW,kW,MW,GW]",
"VAR:[VAR,mVAR,kVAR,MVAR,GVAR]",
"mVAR:[VAR,mVAR,kVAR,MVAR,GVAR]",
"kVAR:[VAR,mVAR,kVAR,MVAR,GVAR]",
"MVAR:[VAR,mVAR,kVAR,MVAR,GVAR]",
"GVAR:[VAR,mVAR,kVAR,MVAR,GVAR]",
"VA:[VA,mVA,kVA,MVA,GVA]",
"mVA:[VA,mVA,kVA,MVA,GVA]",
"kVA:[VA,mVA,kVA,MVA,GVA]",
"MVA:[VA,mVA,kVA,MVA,GVA]",
"GVA:[VA,mVA,kVA,MVA,GVA]",
"Wh:[Wh,mWh,kWh,MWh,GWh,J,kJ]",
"mWh:[Wh,mWh,kWh,MWh,GWh,J,kJ]",
"kWh:[Wh,mWh,kWh,MWh,GWh,J,kJ]",
"MWh:[Wh,mWh,kWh,MWh,GWh,J,kJ]",
"GWh:[Wh,mWh,kWh,MWh,GWh,J,kJ]",
"J:[Wh,mWh,kWh,MWh,GWh,J,kJ]",
"kJ:[Wh,mWh,kWh,MWh,GWh,J,kJ]",
"VARh:[VARh,mVARh,kVARh,MVARh,GVARh]",
"mVARh:[VARh,mVARh,kVARh,MVARh,GVARh]",
"kVARh:[VARh,mVARh,kVARh,MVARh,GVARh]",
"MVARh:[VARh,mVARh,kVARh,MVARh,GVARh]",
"GVARh:[VARh,mVARh,kVARh,MVARh,GVARh]",
"mm3/s:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"cm3/s:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"ml/s:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"cl/s:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"dl/s:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"l/s:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"l/min:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"l/h:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"kl/s:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"kl/min:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"kl/h:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"m3/s:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"m3/min:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"m3/h:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"km3/s:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"tsp/s:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"Tbs/s:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"in3/s:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"in3/min:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"in3/h:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"fl-oz/s:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"fl-oz/min:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"fl-oz/h:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"cup/s:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"pnt/s:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"pnt/min:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"pnt/h:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"qt/s:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"gal/s:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"gal/min:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"gal/h:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"ft3/s:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"ft3/min:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"ft3/h:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"yd3/s:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"yd3/min:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"yd3/h:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"lx:[lx,ft-cd]",
"ft-cd:[lx,ft-cd]",
"mHz:[mHz,Hz,kHz,MHz,GHz,THz,rpm,deg/s,rad/s]",
"Hz:[mHz,Hz,kHz,MHz,GHz,THz,rpm,deg/s,rad/s]",
"kHz:[mHz,Hz,kHz,MHz,GHz,THz,rpm,deg/s,rad/s]",
"MHz:[mHz,Hz,kHz,MHz,GHz,THz,rpm,deg/s,rad/s]",
"GHz:[mHz,Hz,kHz,MHz,GHz,THz,rpm,deg/s,rad/s]",
"THz:[mHz,Hz,kHz,MHz,GHz,THz,rpm,deg/s,rad/s]",
"rpm:[mHz,Hz,kHz,MHz,GHz,THz,rpm,deg/s,rad/s]",
"deg/s:[mHz,Hz,kHz,MHz,GHz,THz,rpm,deg/s,rad/s]",
"rad/s:[mHz,Hz,kHz,MHz,GHz,THz,rpm,deg/s,rad/s]",
"rad:[rad,deg,grad,arcmin,arcsec]",
"deg:[rad,deg,grad,arcmin,arcsec]",
"grad:[rad,deg,grad,arcmin,arcsec]",
"arcmin:[rad,deg,grad,arcmin,arcsec]",
"arcsec:[rad,deg,grad,arcmin,arcsec]"
]
}
},
{
"name": "toUnit",
"in": "header",
"description": "Target unit to convert to",
"required": true,
"schema": {
"type": "string",
"enum": [
"mm:[mm,cm,m,km,in,yd,ft-us,ft,mi]",
"cm:[mm,cm,m,km,in,yd,ft-us,ft,mi]",
"m:[mm,cm,m,km,in,yd,ft-us,ft,mi]",
"km:[mm,cm,m,km,in,yd,ft-us,ft,mi]",
"in:[mm,cm,m,km,in,yd,ft-us,ft,mi]",
"yd:[mm,cm,m,km,in,yd,ft-us,ft,mi]",
"ft-us:[mm,cm,m,km,in,yd,ft-us,ft,mi]",
"ft:[mm,cm,m,km,in,yd,ft-us,ft,mi]",
"mi:[mm,cm,m,km,in,yd,ft-us,ft,mi]",
"mm2:[mm2,cm2,m2,ha,km2,in2,yd2,ft2,ac,mi2]",
"cm2:[mm2,cm2,m2,ha,km2,in2,yd2,ft2,ac,mi2]",
"m2:[mm2,cm2,m2,ha,km2,in2,yd2,ft2,ac,mi2]",
"ha:[mm2,cm2,m2,ha,km2,in2,yd2,ft2,ac,mi2]",
"km2:[mm2,cm2,m2,ha,km2,in2,yd2,ft2,ac,mi2]",
"in2:[mm2,cm2,m2,ha,km2,in2,yd2,ft2,ac,mi2]",
"yd2:[mm2,cm2,m2,ha,km2,in2,yd2,ft2,ac,mi2]",
"ft2:[mm2,cm2,m2,ha,km2,in2,yd2,ft2,ac,mi2]",
"ac:[mm2,cm2,m2,ha,km2,in2,yd2,ft2,ac,mi2]",
"mi2:[mm2,cm2,m2,ha,km2,in2,yd2,ft2,ac,mi2]",
"mcg:[mcg,mg,g,kg,mt,oz,lb,t]",
"mg:[mcg,mg,g,kg,mt,oz,lb,t]",
"g:[mcg,mg,g,kg,mt,oz,lb,t]",
"kg:[mcg,mg,g,kg,mt,oz,lb,t]",
"mt:[mcg,mg,g,kg,mt,oz,lb,t]",
"oz:[mcg,mg,g,kg,mt,oz,lb,t]",
"lb:[mcg,mg,g,kg,mt,oz,lb,t]",
"t:[mcg,mg,g,kg,mt,oz,lb,t]",
"mm3:[mm3,cm3,ml,cl,dl,l,kl,m3,km3,krm,tsk,msk,kkp,glas,kanna,tsp,Tbs,in3,fl-oz,cup,pnt,qt,gal,ft3,yd3]",
"cm3:[mm3,cm3,ml,cl,dl,l,kl,m3,km3,krm,tsk,msk,kkp,glas,kanna,tsp,Tbs,in3,fl-oz,cup,pnt,qt,gal,ft3,yd3]",
"ml:[mm3,cm3,ml,cl,dl,l,kl,m3,km3,krm,tsk,msk,kkp,glas,kanna,tsp,Tbs,in3,fl-oz,cup,pnt,qt,gal,ft3,yd3]",
"cl:[mm3,cm3,ml,cl,dl,l,kl,m3,km3,krm,tsk,msk,kkp,glas,kanna,tsp,Tbs,in3,fl-oz,cup,pnt,qt,gal,ft3,yd3]",
"dl:[mm3,cm3,ml,cl,dl,l,kl,m3,km3,krm,tsk,msk,kkp,glas,kanna,tsp,Tbs,in3,fl-oz,cup,pnt,qt,gal,ft3,yd3]",
"l:[mm3,cm3,ml,cl,dl,l,kl,m3,km3,krm,tsk,msk,kkp,glas,kanna,tsp,Tbs,in3,fl-oz,cup,pnt,qt,gal,ft3,yd3]",
"kl:[mm3,cm3,ml,cl,dl,l,kl,m3,km3,krm,tsk,msk,kkp,glas,kanna,tsp,Tbs,in3,fl-oz,cup,pnt,qt,gal,ft3,yd3]",
"m3:[mm3,cm3,ml,cl,dl,l,kl,m3,km3,krm,tsk,msk,kkp,glas,kanna,tsp,Tbs,in3,fl-oz,cup,pnt,qt,gal,ft3,yd3]",
"km3:[mm3,cm3,ml,cl,dl,l,kl,m3,km3,krm,tsk,msk,kkp,glas,kanna,tsp,Tbs,in3,fl-oz,cup,pnt,qt,gal,ft3,yd3]",
"krm:[mm3,cm3,ml,cl,dl,l,kl,m3,km3,krm,tsk,msk,kkp,glas,kanna,tsp,Tbs,in3,fl-oz,cup,pnt,qt,gal,ft3,yd3]",
"tsk:[mm3,cm3,ml,cl,dl,l,kl,m3,km3,krm,tsk,msk,kkp,glas,kanna,tsp,Tbs,in3,fl-oz,cup,pnt,qt,gal,ft3,yd3]",
"msk:[mm3,cm3,ml,cl,dl,l,kl,m3,km3,krm,tsk,msk,kkp,glas,kanna,tsp,Tbs,in3,fl-oz,cup,pnt,qt,gal,ft3,yd3]",
"kkp:[mm3,cm3,ml,cl,dl,l,kl,m3,km3,krm,tsk,msk,kkp,glas,kanna,tsp,Tbs,in3,fl-oz,cup,pnt,qt,gal,ft3,yd3]",
"glas:[mm3,cm3,ml,cl,dl,l,kl,m3,km3,krm,tsk,msk,kkp,glas,kanna,tsp,Tbs,in3,fl-oz,cup,pnt,qt,gal,ft3,yd3]",
"kanna:[mm3,cm3,ml,cl,dl,l,kl,m3,km3,krm,tsk,msk,kkp,glas,kanna,tsp,Tbs,in3,fl-oz,cup,pnt,qt,gal,ft3,yd3]",
"tsp:[mm3,cm3,ml,cl,dl,l,kl,m3,km3,krm,tsk,msk,kkp,glas,kanna,tsp,Tbs,in3,fl-oz,cup,pnt,qt,gal,ft3,yd3]",
"Tbs:[mm3,cm3,ml,cl,dl,l,kl,m3,km3,krm,tsk,msk,kkp,glas,kanna,tsp,Tbs,in3,fl-oz,cup,pnt,qt,gal,ft3,yd3]",
"in3:[mm3,cm3,ml,cl,dl,l,kl,m3,km3,krm,tsk,msk,kkp,glas,kanna,tsp,Tbs,in3,fl-oz,cup,pnt,qt,gal,ft3,yd3]",
"fl-oz:[mm3,cm3,ml,cl,dl,l,kl,m3,km3,krm,tsk,msk,kkp,glas,kanna,tsp,Tbs,in3,fl-oz,cup,pnt,qt,gal,ft3,yd3]",
"cup:[mm3,cm3,ml,cl,dl,l,kl,m3,km3,krm,tsk,msk,kkp,glas,kanna,tsp,Tbs,in3,fl-oz,cup,pnt,qt,gal,ft3,yd3]",
"pnt:[mm3,cm3,ml,cl,dl,l,kl,m3,km3,krm,tsk,msk,kkp,glas,kanna,tsp,Tbs,in3,fl-oz,cup,pnt,qt,gal,ft3,yd3]",
"qt:[mm3,cm3,ml,cl,dl,l,kl,m3,km3,krm,tsk,msk,kkp,glas,kanna,tsp,Tbs,in3,fl-oz,cup,pnt,qt,gal,ft3,yd3]",
"gal:[mm3,cm3,ml,cl,dl,l,kl,m3,km3,krm,tsk,msk,kkp,glas,kanna,tsp,Tbs,in3,fl-oz,cup,pnt,qt,gal,ft3,yd3]",
"ft3:[mm3,cm3,ml,cl,dl,l,kl,m3,km3,krm,tsk,msk,kkp,glas,kanna,tsp,Tbs,in3,fl-oz,cup,pnt,qt,gal,ft3,yd3]",
"yd3:[mm3,cm3,ml,cl,dl,l,kl,m3,km3,krm,tsk,msk,kkp,glas,kanna,tsp,Tbs,in3,fl-oz,cup,pnt,qt,gal,ft3,yd3]",
"ea:[ea,dz]",
"dz:[ea,dz]",
"C:[C,K,F,R]",
"K:[C,K,F,R]",
"F:[C,K,F,R]",
"R:[C,K,F,R]",
"ns:[ns,mu,ms,s,min,h,d,week,month,year]",
"mu:[ns,mu,ms,s,min,h,d,week,month,year]",
"ms:[ns,mu,ms,s,min,h,d,week,month,year]",
"s:[ns,mu,ms,s,min,h,d,week,month,year]",
"min:[ns,mu,ms,s,min,h,d,week,month,year]",
"h:[ns,mu,ms,s,min,h,d,week,month,year]",
"d:[ns,mu,ms,s,min,h,d,week,month,year]",
"week:[ns,mu,ms,s,min,h,d,week,month,year]",
"month:[ns,mu,ms,s,min,h,d,week,month,year]",
"year:[ns,mu,ms,s,min,h,d,week,month,year]",
"b:[b,Kb,Mb,Gb,Tb,B,KB,MB,GB,TB]",
"Kb:[b,Kb,Mb,Gb,Tb,B,KB,MB,GB,TB]",
"Mb:[b,Kb,Mb,Gb,Tb,B,KB,MB,GB,TB]",
"Gb:[b,Kb,Mb,Gb,Tb,B,KB,MB,GB,TB]",
"Tb:[b,Kb,Mb,Gb,Tb,B,KB,MB,GB,TB]",
"B:[b,Kb,Mb,Gb,Tb,B,KB,MB,GB,TB]",
"KB:[b,Kb,Mb,Gb,Tb,B,KB,MB,GB,TB]",
"MB:[b,Kb,Mb,Gb,Tb,B,KB,MB,GB,TB]",
"GB:[b,Kb,Mb,Gb,Tb,B,KB,MB,GB,TB]",
"TB:[b,Kb,Mb,Gb,Tb,B,KB,MB,GB,TB]",
"ppm:[ppm,ppb,ppt,ppq]",
"ppb:[ppm,ppb,ppt,ppq]",
"ppt:[ppm,ppb,ppt,ppq]",
"ppq:[ppm,ppb,ppt,ppq]",
"m/s:[m/s,km/h,m/h,knot,ft/s]",
"km/h:[m/s,km/h,m/h,knot,ft/s]",
"m/h:[m/s,km/h,m/h,knot,ft/s]",
"knot:[m/s,km/h,m/h,knot,ft/s]",
"ft/s:[m/s,km/h,m/h,knot,ft/s]",
"min/km:[min/km,s/m,min/mi,s/ft]",
"s/m:[min/km,s/m,min/mi,s/ft]",
"min/mi:[min/km,s/m,min/mi,s/ft]",
"s/ft:[min/km,s/m,min/mi,s/ft]",
"Pa:[Pa,kPa,MPa,hPa,bar,torr,psi,ksi]",
"kPa:[Pa,kPa,MPa,hPa,bar,torr,psi,ksi]",
"MPa:[Pa,kPa,MPa,hPa,bar,torr,psi,ksi]",
"hPa:[Pa,kPa,MPa,hPa,bar,torr,psi,ksi]",
"bar:[Pa,kPa,MPa,hPa,bar,torr,psi,ksi]",
"torr:[Pa,kPa,MPa,hPa,bar,torr,psi,ksi]",
"psi:[Pa,kPa,MPa,hPa,bar,torr,psi,ksi]",
"ksi:[Pa,kPa,MPa,hPa,bar,torr,psi,ksi]",
"A:[A,mA,kA]",
"mA:[A,mA,kA]",
"kA:[A,mA,kA]",
"V:[V,mV,kV]",
"mV:[V,mV,kV]",
"kV:[V,mV,kV]",
"W:[W,mW,kW,MW,GW]",
"mW:[W,mW,kW,MW,GW]",
"kW:[W,mW,kW,MW,GW]",
"MW:[W,mW,kW,MW,GW]",
"GW:[W,mW,kW,MW,GW]",
"VAR:[VAR,mVAR,kVAR,MVAR,GVAR]",
"mVAR:[VAR,mVAR,kVAR,MVAR,GVAR]",
"kVAR:[VAR,mVAR,kVAR,MVAR,GVAR]",
"MVAR:[VAR,mVAR,kVAR,MVAR,GVAR]",
"GVAR:[VAR,mVAR,kVAR,MVAR,GVAR]",
"VA:[VA,mVA,kVA,MVA,GVA]",
"mVA:[VA,mVA,kVA,MVA,GVA]",
"kVA:[VA,mVA,kVA,MVA,GVA]",
"MVA:[VA,mVA,kVA,MVA,GVA]",
"GVA:[VA,mVA,kVA,MVA,GVA]",
"Wh:[Wh,mWh,kWh,MWh,GWh,J,kJ]",
"mWh:[Wh,mWh,kWh,MWh,GWh,J,kJ]",
"kWh:[Wh,mWh,kWh,MWh,GWh,J,kJ]",
"MWh:[Wh,mWh,kWh,MWh,GWh,J,kJ]",
"GWh:[Wh,mWh,kWh,MWh,GWh,J,kJ]",
"J:[Wh,mWh,kWh,MWh,GWh,J,kJ]",
"kJ:[Wh,mWh,kWh,MWh,GWh,J,kJ]",
"VARh:[VARh,mVARh,kVARh,MVARh,GVARh]",
"mVARh:[VARh,mVARh,kVARh,MVARh,GVARh]",
"kVARh:[VARh,mVARh,kVARh,MVARh,GVARh]",
"MVARh:[VARh,mVARh,kVARh,MVARh,GVARh]",
"GVARh:[VARh,mVARh,kVARh,MVARh,GVARh]",
"mm3/s:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"cm3/s:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"ml/s:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"cl/s:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"dl/s:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"l/s:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"l/min:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"l/h:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"kl/s:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"kl/min:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"kl/h:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"m3/s:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"m3/min:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"m3/h:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"km3/s:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"tsp/s:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"Tbs/s:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"in3/s:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"in3/min:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"in3/h:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"fl-oz/s:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"fl-oz/min:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"fl-oz/h:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"cup/s:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"pnt/s:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"pnt/min:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"pnt/h:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"qt/s:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"gal/s:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"gal/min:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"gal/h:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"ft3/s:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"ft3/min:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"ft3/h:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"yd3/s:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"yd3/min:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"yd3/h:[mm3/s,cm3/s,ml/s,cl/s,dl/s,l/s,l/min,l/h,kl/s,kl/min,kl/h,m3/s,m3/min,m3/h,km3/s,tsp/s,Tbs/s,in3/s,in3/min,in3/h,fl-oz/s,fl-oz/min,fl-oz/h,cup/s,pnt/s,pnt/min,pnt/h,qt/s,gal/s,gal/min,gal/h,ft3/s,ft3/min,ft3/h,yd3/s,yd3/min,yd3/h]",
"lx:[lx,ft-cd]",
"ft-cd:[lx,ft-cd]",
"mHz:[mHz,Hz,kHz,MHz,GHz,THz,rpm,deg/s,rad/s]",
"Hz:[mHz,Hz,kHz,MHz,GHz,THz,rpm,deg/s,rad/s]",
"kHz:[mHz,Hz,kHz,MHz,GHz,THz,rpm,deg/s,rad/s]",
"MHz:[mHz,Hz,kHz,MHz,GHz,THz,rpm,deg/s,rad/s]",
"GHz:[mHz,Hz,kHz,MHz,GHz,THz,rpm,deg/s,rad/s]",
"THz:[mHz,Hz,kHz,MHz,GHz,THz,rpm,deg/s,rad/s]",
"rpm:[mHz,Hz,kHz,MHz,GHz,THz,rpm,deg/s,rad/s]",
"deg/s:[mHz,Hz,kHz,MHz,GHz,THz,rpm,deg/s,rad/s]",
"rad/s:[mHz,Hz,kHz,MHz,GHz,THz,rpm,deg/s,rad/s]",
"rad:[rad,deg,grad,arcmin,arcsec]",
"deg:[rad,deg,grad,arcmin,arcsec]",
"grad:[rad,deg,grad,arcmin,arcsec]",
"arcmin:[rad,deg,grad,arcmin,arcsec]",
"arcsec:[rad,deg,grad,arcmin,arcsec]"
]
}
}
],
"responses": {
"204": {
"description": "unit-conversion function created/updated with no error",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/ontologies": {
"get": {
"tags": [
"ontologies"
],
"summary": "list of ontologies defined in the tipod",
"operationId": "get_root_ontologies_resource",
"parameters": [],
"responses": {
"200": {
"description": "Return the Ontologies List. ",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ontologiesListModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
},
"post": {
"tags": [
"ontologies"
],
"summary": "add new ontologies (from their checksum) to the tipod",
"operationId": "post_root_ontologies_resource",
"security": [
{
"bearerAuth": []
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/addOntologiesModel"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "ontologies taken into account to be added",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/domains": {
"post": {
"tags": [
"domains"
],
"summary": "Create an empty domain with metadata",
"description": "This is done transparently when creating avatars. This function creates an empty domain only with metadata (no avatars). Avatars can be injected in it afterwards. Warning expire_after is optional, it schedules a DELETION in seconds after creation, on the domain and all avatars in it. USE WITH CAUTION.",
"operationId": "post_root_domain_resource",
"security": [
{
"bearerAuth": []
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/createDomainModel"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Creation completed",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/getDomainModel"
}
}
}
},
"409": {
"description": "Conflict: domain already exists",
"content": {
"application/json": {}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
},
"get": {
"tags": [
"domains"
],
"summary": "Retrieve a domain from its iri",
"description": "Retrieves a domain from its iri with all its metadata (iri, owner, sources injected in it, creation date, expiration date, tags)",
"operationId": "get_domain_from_iri_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "iri",
"in": "header",
"description": "Domain iri",
"schema": {
"type": "string"
},
"required": true
}
],
"responses": {
"200": {
"description": "Return the domain",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/getDomainModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/domains/{uuid}": {
"get": {
"tags": [
"domains"
],
"summary": "Retrieve a domain from a uuid",
"description": "Retrieves a domain from its uuid with all its metadata (iri, owner, sources injected in it, creation date, expiration date, tags)",
"operationId": "get_domain_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Return the domain",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/getDomainModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
},
"post": {
"tags": [
"domains"
],
"summary": "Update a domain from its uuid",
"description": "allow to set the security group associated to a domain. To remove the security group, do not provide any.",
"operationId": "set_domain_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/setDomainSGModel"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "succeeded set.",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
},
"delete": {
"tags": [
"domains"
],
"summary": "Delete a domain from a uuid, with all avatars in it.",
"description": "Deletes a domain and all avatars attached to it. Restricted to admin",
"operationId": "delete_domain_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": "Delete the domain",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/domains/list": {
"get": {
"tags": [
"domains"
],
"summary": "Retrieve all domains ",
"description": "Retrieves all domains with their metadata (iri, owner, sources injected in it, creation date, expiration date, tags). Restricted to admin",
"operationId": "get_domains_list_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "index",
"in": "query",
"description": "Index of the domain",
"schema": {
"type": "integer"
}
},
{
"name": "page_size",
"in": "query",
"description": "Size of the page",
"schema": {
"type": "integer"
}
},
{
"name": "sort",
"in": "query",
"description": "Sort key ('-' for descending order)",
"schema": {
"type": "string",
"enum": [
"creationDate",
"-creationDate",
"iri",
"-iri"
]
}
},
{
"name": "owner",
"in": "query",
"description": "Filter by owner",
"schema": {
"type": "string"
}
},
{
"name": "expireAfter",
"in": "query",
"description": "Filter on expirationDate (true: with expiration, false: without expiration)",
"schema": {
"type": "boolean"
}
},
{
"name": "historized",
"in": "query",
"description": "Filter on historization (true: historized, false: not historized)",
"schema": {
"type": "boolean"
}
},
{
"name": "iriPrefix",
"in": "query",
"description": "Filter by the iri prefix",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Return the domains list",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/listDomainModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/sdifs": {
"post": {
"tags": [
"sdifs"
],
"summary": "Create a specialized direct injected function (SDIF)",
"description": "a specialized direct injected function (SDIF) allows to execute directly in the database a query. It will be fast as possible. Indeed, the result of this SDIF will be filtered according to the grant (aka ACL) of the requester.",
"operationId": "post_root_sdif_resource",
"security": [
{
"bearerAuth": []
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/createSdifModel"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Creation completed",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/sdifs/{uuid}": {
"get": {
"tags": [
"sdifs"
],
"summary": "Retrieve a sdif from a uuid",
"description": "Retrieves a sdif from its uuid with all its metadata",
"operationId": "get_sdif_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Return the sdif",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/getSdifModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
},
"put": {
"tags": [
"sdifs"
],
"summary": "Update a sdif from its uuid",
"description": "allow to update the sdif properties.",
"operationId": "update_sdif_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/updateSdifModel"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "succeeded set.",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
},
"delete": {
"tags": [
"sdifs"
],
"summary": "Delete a sdif from a uuid.",
"description": "Deletes a sdif.",
"operationId": "delete_sdif_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": "Delete the sdif",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/sdifs/list": {
"get": {
"tags": [
"sdifs"
],
"summary": "Retrieve all sdifs ",
"description": "Retrieves all sdifs with their metadata.",
"operationId": "get_sdif_list_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "index",
"in": "query",
"description": "Index of the sdif",
"schema": {
"type": "integer"
}
},
{
"name": "page_size",
"in": "query",
"description": "Size of the page",
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"description": "Return the domains list",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/listDomainModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/sdifs/{uuid}/exec": {
"post": {
"tags": [
"sdifs"
],
"summary": "execute a sdif from a uuid",
"description": "Execute a sdif from its uuid",
"operationId": "exec_sdif_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "Special-Privilege",
"in": "header",
"description": "put True to bypass confidentiality check (only for admin)",
"schema": {
"type": "boolean",
"default": false
}
},
{
"name": "index",
"in": "query",
"description": "Index of the avatar",
"schema": {
"type": "integer"
}
},
{
"name": "Geolocation",
"in": "header",
"description": "geoloc of the requester. format should be @long;lat (e.g. @125.6;10.1 )",
"schema": {
"type": "string"
}
},
{
"name": "page_size",
"in": "query",
"description": "Size of the page",
"schema": {
"type": "integer"
}
},
{
"name": "Accept-Encoding",
"in": "header",
"description": "compression algorithm (=> gzip)",
"schema": {
"type": "string"
}
},
{
"name": "Metadata",
"in": "header",
"description": "a json string format {\"field\":value , ... } pass to core as $metadata.field",
"schema": {
"type": "string"
}
},
{
"name": "jsonld_document_form",
"in": "header",
"description": "Applies flatten, compact, expand, or framing algorithms to the output jsonLD document. See https://json-ld.org/spec/latest/json-ld/#expanded-document-form. ",
"schema": {
"type": "string",
"enum": [
"flatten",
"compact",
"expand",
"frame"
]
},
"required": false
},
{
"name": "jsonld_frame",
"in": "header",
"description": "When framing is applied using jsonld_document_form parameter, this holds the user-supplied frame as json string format, see https://www.w3.org/TR/json-ld11-framing/#dfn-framing ",
"schema": {
"type": "string",
"example": {
"@context": {
"iot-access": "http://orange-labs.fr/fog/ont/access.owl#",
"dogont": "http://elite.polito.it/ontologies/dogont.owl#",
"org-iot": "http://orange-labs.fr/fog/ont/iot.owl#",
"xsd": "http://www.w3.org/2001/XMLSchema#",
"eupont": "http://elite.polito.it/ontologies/eupont.owl#"
},
"@type": "dogont:PlugwiseGateway",
"dogont:isIn": {}
}
},
"required": false
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/execSdifModel"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Return the result of the sdif. If the result is a list of avatars then the return format could be the same as the avatar find. Example for an application/json format. see wiki for more information. For other kind of result, it should be application/json containing a field value.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DataModel"
}
},
"application/ziggy-json": {
"schema": {
"$ref": "#/components/schemas/DataModel"
}
},
"text/turtle": {
"schema": {
"$ref": "#/components/schemas/DataModelTurtle"
}
},
"application/ld+json": {
"schema": {
"$ref": "#/components/schemas/DataModelJsonLD"
}
},
"application/rdf+xml": {
"schema": {
"$ref": "#/components/schemas/DataModelRdfXML"
}
},
"application/x-turtle": {
"schema": {
"$ref": "#/components/schemas/DataModelTurtle"
}
},
"application/star-turtle": {
"schema": {
"$ref": "#/components/schemas/DataModelTTLStar"
}
},
"text/turtle-star": {
"schema": {
"$ref": "#/components/schemas/DataModelTTLStar"
}
},
"application/n-triples": {
"schema": {
"$ref": "#/components/schemas/DataModelNt"
}
},
"application/n-quads": {
"schema": {
"$ref": "#/components/schemas/DataModelNq"
}
},
"application/trig": {
"schema": {
"$ref": "#/components/schemas/DataModelTrig"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/sources": {
"post": {
"tags": [
"sources"
],
"summary": "Create a source with metadata but no avatars",
"description": "Sources are generated transparently when avatars are added through API or injectors. This function creates an empty source, allowing to attach several avatars to it later (see /avatars/ and /batch/avatars).",
"operationId": "post_root_source_resource",
"security": [
{
"bearerAuth": []
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/createSourceModel"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Creation completed",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/sources/{uuid}": {
"get": {
"tags": [
"sources"
],
"summary": "Retrieve a source from a uuid",
"description": "Retrieve a source with its metadata (tags, origin, blobs, creation date, expiration date), including where this source is injected (domains)",
"operationId": "get_source_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Return the source",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/getSourceModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
},
"delete": {
"tags": [
"sources"
],
"summary": "Delete a source from a uuid",
"description": "Deletes a source. Does not delete avatars attached to it. Restricted to self and admin",
"operationId": "delete_source_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": "Deleted the source",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/sources/owner/{uuid}": {
"get": {
"tags": [
"sources"
],
"summary": "Retrieve all sources from a user uuid",
"description": "Retrieve all sources injected by a user with their metadata (tags, origin, blobs, creation date, expiration date) and where they are injected (domains).",
"operationId": "get_source_by_owner_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "index",
"in": "query",
"description": "Index of the source",
"schema": {
"type": "integer"
}
},
{
"name": "page_size",
"in": "query",
"description": "Size of the page",
"schema": {
"type": "integer"
}
},
{
"name": "sort",
"in": "query",
"description": "Sort key ('-' for descending order)",
"schema": {
"type": "string",
"enum": [
"creationDate",
"-creationDate"
]
}
}
],
"responses": {
"200": {
"description": "Return the sources of this owner",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/listSourceModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
},
"delete": {
"tags": [
"sources"
],
"summary": "Delete all sources from a user uuid.",
"description": "Deletes all sources of a given user, restricted to self and admin",
"operationId": "delete_source_by_owner_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": "Deleted the sources for this user",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/sources/list": {
"get": {
"tags": [
"sources"
],
"summary": "Retrieve all sources ",
"description": "List all sources of all users (reserved to admins)",
"operationId": "get_sources_list_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "index",
"in": "query",
"description": "Index of the source",
"schema": {
"type": "integer"
}
},
{
"name": "page_size",
"in": "query",
"description": "Size of the page",
"schema": {
"type": "integer"
}
},
{
"name": "sort",
"in": "query",
"description": "Sort key ('-' for descending order)",
"schema": {
"type": "string",
"enum": [
"creationDate",
"-creationDate"
]
}
},
{
"name": "owner",
"in": "query",
"description": "Filter by owner",
"schema": {
"type": "string"
}
},
{
"name": "injectionType",
"in": "query",
"description": "Filter by the injection type",
"schema": {
"type": "string",
"enum": [
"batch",
"batchProcess",
"manual",
"massive",
"single"
]
}
},
{
"name": "tags",
"in": "query",
"description": "Filter by tags",
"explode": false,
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
}
],
"responses": {
"200": {
"description": "Return the sources list",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/listSourceModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/requests": {
"post": {
"tags": [
"requests"
],
"summary": "Create a request",
"description": "Create a user request. This is done transparently when a request is created through the portal.",
"operationId": "post_root_request_resource",
"security": [
{
"bearerAuth": []
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/createRequestModel"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Creation completed",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/requests/{uuid}": {
"get": {
"tags": [
"requests"
],
"summary": "Retrieve a request from a uuid",
"description": "Retrieve a request with associated metadata (creation date, last date of usage, domains where the request applies, request performance metadata)",
"operationId": "get_request_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Return the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/getRequestModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
},
"delete": {
"tags": [
"requests"
],
"summary": "Delete a request from a uuid",
"description": "Deletes a user request, restricted to the owner of the request",
"operationId": "delete_request_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": "Deleted the request",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
},
"put": {
"tags": [
"requests"
],
"summary": "Update a request",
"description": "Update a user request. This is done transparently when updating (saving) a request through the portal.",
"operationId": "put_root_request_resource",
"security": [
{
"bearerAuth": []
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/createRequestModel"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Update completed",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/requests/owner/{uuid}": {
"get": {
"tags": [
"requests"
],
"summary": "Retrieve all requests from a user uuid",
"description": "Retrieve all requests of a given user with their metadata (creation date, last date of usage, domains where the request applies, request performance metadata)",
"operationId": "get_request_by_owner_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Return the requests of this owner",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/listRequestModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
},
"delete": {
"tags": [
"requests"
],
"summary": "Delete all requests from a user uuid.",
"description": "Deletes all requests of a given user, restricted to self and admin",
"operationId": "delete_request_by_owner_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": "Deleted the requests for this user",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/requests/list": {
"get": {
"tags": [
"requests"
],
"summary": "Retrieve all requests ",
"description": "Lists all users requests",
"operationId": "get_requests_list_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "index",
"in": "query",
"description": "Index of the validation",
"schema": {
"type": "integer"
},
"required": false
},
{
"name": "page_size",
"in": "query",
"description": "Size of the page",
"schema": {
"type": "integer"
},
"required": false
},
{
"name": "sort",
"in": "query",
"description": "Sort key ('-' for descending order)",
"schema": {
"type": "string",
"enum": [
"creationDate",
"-creationDate",
"last_used",
"-last_used",
"description",
"-description",
"name",
"-name"
]
},
"required": false
},
{
"name": "owner",
"in": "query",
"description": "owner of the request(s). This parameter is reserved for admins, else it will be ignored.",
"schema": {
"type": "string"
},
"required": false
}
],
"responses": {
"200": {
"description": "Return the requests list",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/listRequestModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/labels": {
"get": {
"tags": [
"labels"
],
"summary": "Find label given a prefix of keywords",
"operationId": "find_label_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "index",
"in": "query",
"description": "Index of the labels",
"schema": {
"type": "integer"
}
},
{
"name": "page_size",
"in": "query",
"description": "Size of the page",
"schema": {
"type": "integer"
}
},
{
"name": "name",
"in": "query",
"description": "prefix of the name of the labels to find",
"schema": {
"type": "string"
}
},
{
"name": "type",
"in": "query",
"description": "type of the labels to find",
"schema": {
"type": "string",
"enum": [
"instance",
"property",
"relationship"
]
}
},
{
"name": "keywords",
"in": "query",
"description": "keywords separated with coma to find into the label description",
"schema": {
"type": "string"
}
},
{
"name": "sort",
"in": "query",
"description": "Sort key ('-' for descending order)",
"schema": {
"type": "string",
"enum": [
"type",
"-type",
"description",
"-description",
"name",
"-name"
]
}
}
],
"responses": {
"200": {
"description": "Return the data in application/json",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/labelPageModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
},
"post": {
"tags": [
"labels"
],
"summary": "Create a new label.",
"operationId": "post_label_resource",
"security": [
{
"bearerAuth": []
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/labelModel"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "label created with no error",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/labels/{name}": {
"get": {
"tags": [
"labels"
],
"summary": "get label info",
"operationId": "get_label_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "name",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Return the data in application/json",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/labelModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
},
"put": {
"tags": [
"labels"
],
"summary": "update the description of a label",
"operationId": "put_label_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "name",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "description",
"in": "query",
"description": "New description of the label",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": "update ok",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
},
"delete": {
"tags": [
"labels"
],
"summary": "delete a label.",
"operationId": "delete_label_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "name",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": "label deleted with no error",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/batch/labels": {
"post": {
"tags": [
"labels"
],
"summary": "Create a set of labels",
"operationId": "post_batch_labels_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "array",
"description": "list of labels to create",
"items": {
"$ref": "#/components/schemas/labelModel"
}
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Creation completed",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/inference/rdf/{uuid}": {
"get": {
"tags": [
"inference"
],
"summary": "Retrieve your rdf model ",
"description": "Retrieve all data currently in your rdf model",
"operationId": "get_inference_rdf_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"description": "uuid of the rdf model previously created",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Return the rdf model data",
"content": {
"text/turtle": {
"schema": {
"$ref": "#/components/schemas/DataModelTurtle"
}
},
"application/ld+json": {
"schema": {
"$ref": "#/components/schemas/DataModelJsonLD"
}
},
"application/rdf+xml": {
"schema": {
"$ref": "#/components/schemas/DataModelRdfXML"
}
},
"application/x-turtle": {
"schema": {
"$ref": "#/components/schemas/DataModelTurtle"
}
},
"application/star-turtle": {
"schema": {
"$ref": "#/components/schemas/DataModelTTLStar"
}
},
"text/turtle-star": {
"schema": {
"$ref": "#/components/schemas/DataModelTTLStar"
}
},
"application/n-triples": {
"schema": {
"$ref": "#/components/schemas/DataModelNt"
}
},
"application/n-quads": {
"schema": {
"$ref": "#/components/schemas/DataModelNq"
}
},
"application/trig": {
"schema": {
"$ref": "#/components/schemas/DataModelTrig"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
},
"delete": {
"tags": [
"inference"
],
"summary": "Delete your rdf model ",
"description": "Delete the model all data currently in it",
"operationId": "delete_inference_rdf_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"description": "uuid of the rdf model previously created",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": "model deleted with no error",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/inference/rdf/validation/{uuid}": {
"get": {
"tags": [
"inference"
],
"summary": "Validate (consistency check) your model",
"description": "Returns a validation report composed of consistency conflicts, if any",
"operationId": "get_inference_validation_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"description": "uuid of the rdf model previously created",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Return the validation report",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DataModelValidationReport"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/inference/rdf": {
"post": {
"tags": [
"inference"
],
"summary": "Add data to your rdf model ",
"description": "Add data to your rdf model ",
"operationId": "post_inference_rdf_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "reasoner",
"description": "Available reasoner to infer on your rdf model afterwards. Can only be chosen once (resetting the rdf model is required to change resonning level).",
"in": "header",
"required": true,
"schema": {
"type": "string",
"enum": [
"RDFS",
"OWL2QL",
"OWL2DL",
"OWLLITE",
"JENAMINIOWL",
"JENAMICROOWL",
"FULLOWL",
"JENARULE",
"SHACL"
],
"default": "SHACL"
}
},
{
"name": "domain",
"in": "header",
"description": "NOT IMPLEMENTED YET, LET EMPTY. Domain IRI from which to take your rdf model. Can be used in place of putting the rdf model in the body. ",
"required": false,
"schema": {
"type": "string",
"example": "http://www.example.com/mydomain/",
"default": ""
}
},
{
"name": "include_ontologies",
"in": "header",
"description": "retrieve the ontologies related to the data from OLS and add them to the model",
"required": false,
"schema": {
"type": "boolean",
"default": false
}
}
],
"requestBody": {
"content": {
"text/turtle": {
"schema": {
"$ref": "#/components/schemas/DataModelTurtle"
}
},
"application/ld+json": {
"schema": {
"$ref": "#/components/schemas/DataModelJsonLD"
}
},
"application/rdf+xml": {
"schema": {
"$ref": "#/components/schemas/DataModelRdfXML"
}
},
"application/x-turtle": {
"schema": {
"$ref": "#/components/schemas/DataModelTurtle"
}
},
"application/star-turtle": {
"schema": {
"$ref": "#/components/schemas/DataModelTTLStar"
}
},
"text/turtle-star": {
"schema": {
"$ref": "#/components/schemas/DataModelTTLStar"
}
},
"application/n-triples": {
"schema": {
"$ref": "#/components/schemas/DataModelNt"
}
},
"application/n-quads": {
"schema": {
"$ref": "#/components/schemas/DataModelNq"
}
},
"application/trig": {
"schema": {
"$ref": "#/components/schemas/DataModelTrig"
}
}
},
"required": false
},
"responses": {
"204": {
"description": "The rdf model has been initiated successfully. Returns the UUID of this model to perform other tasks e.g. reasoning or shacl validation."
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/inference/rdf/rules/{uuid}": {
"post": {
"tags": [
"inference"
],
"summary": "Post rules and perform rule inference with the rdf model ",
"description": "Post rules and perform rule inference with the rdf model identified by its uuid. RuleReasoner should have been activated when creating your rdf dataset. Rules should conform to the Jena Rules format, see https://jena.apache.org/documentation/inference/#rules. ",
"operationId": "post_inference_rules_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"description": "uuid of the rdf model on which to perform rule inference ",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "sparql_query",
"in": "header",
"description": "Specifies the inference query to run with rules. Default is a base select query. SELECT, ASK, CONSTRUCT and DESCRIBE queries are authorized ",
"required": false,
"schema": {
"type": "string",
"default": "SELECT ?subject ?predicate ?object\nWHERE {\n ?subject ?predicate ?object\n}\nLIMIT 25"
}
}
],
"requestBody": {
"content": {
"application/text": {
"schema": {
"$ref": "#/components/schemas/jenaRulesModel"
}
}
},
"required": true
},
"responses": {
"204": {
"description": "Rules inference was performed successfully ",
"content": {
"text/turtle": {
"schema": {
"$ref": "#/components/schemas/DataModelTurtle"
}
},
"application/ld+json": {
"schema": {
"$ref": "#/components/schemas/DataModelJsonLD"
}
},
"application/rdf+xml": {
"schema": {
"$ref": "#/components/schemas/DataModelRdfXML"
}
},
"application/x-turtle": {
"schema": {
"$ref": "#/components/schemas/DataModelTurtle"
}
},
"application/star-turtle": {
"schema": {
"$ref": "#/components/schemas/DataModelTTLStar"
}
},
"text/turtle-star": {
"schema": {
"$ref": "#/components/schemas/DataModelTTLStar"
}
},
"application/n-triples": {
"schema": {
"$ref": "#/components/schemas/DataModelNt"
}
},
"application/n-quads": {
"schema": {
"$ref": "#/components/schemas/DataModelNq"
}
},
"application/trig": {
"schema": {
"$ref": "#/components/schemas/DataModelTrig"
}
},
"text/tab-separated-values": {
"schema": {
"$ref": "#/components/schemas/DataModelTSV"
}
},
"text/csv": {
"schema": {
"$ref": "#/components/schemas/DataModelCSV"
}
},
"application/sparql-results+xml": {
"schema": {
"$ref": "#/components/schemas/DataModelSparqlXML"
}
},
"application/sparql-results+json": {
"schema": {
"$ref": "#/components/schemas/DataModelSparqlJSON"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/inference/rdf/shacl/{uuid}": {
"post": {
"tags": [
"inference"
],
"summary": "Post shacl shapes and verify the conformity of the rdf model ",
"description": "Post a shacl shapes file in turtle format and verify the conformity of the rdf model ",
"operationId": "post_inference_shacl_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"description": "uuid of the rdf model on which to perform shacl validation ",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/x-turtle": {
"schema": {
"$ref": "#/components/schemas/shaclShapesModel"
}
}
},
"required": true
},
"responses": {
"204": {
"description": "Shacl validation request was processed successfully ",
"content": {
"text/turtle": {
"schema": {
"$ref": "#/components/schemas/DataModelTurtle"
},
"example": "@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .\n@prefix sh: <http://www.w3.org/ns/shacl#> .\n@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .\n@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .\n\n[ a sh:ValidationReport ;\n sh:conforms true\n] ."
},
"application/ld+json": {
"schema": {
"$ref": "#/components/schemas/DataModelJsonLD"
},
"example": [
{
"@type": [
"http://www.w3.org/ns/shacl#ValidationReport"
],
"http://www.w3.org/ns/shacl#conforms": [
{
"@value": true
}
]
},
{
"@id": "http://www.w3.org/ns/shacl#ValidationReport"
}
]
},
"application/rdf+xml": {
"schema": {
"$ref": "#/components/schemas/DataModelRdfXML"
},
"example": "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\"\n xmlns:ns0=\"http://www.w3.org/ns/shacl#\">\n\n <rdf:Description rdf:nodeID=\"genid1\">\n <rdf:type rdf:resource=\"http://www.w3.org/ns/shacl#ValidationReport\"/>\n <ns0:conforms rdf:datatype=\"http://www.w3.org/2001/XMLSchema#boolean\">true</ns0:conforms>\n </rdf:Description>\n\n</rdf:RDF>"
},
"application/x-turtle": {
"schema": {
"$ref": "#/components/schemas/DataModelTurtle"
},
"example": "@prefix ns0: <http://www.w3.org/ns/shacl#> .\n\n[]\n a <http://www.w3.org/ns/shacl#ValidationReport> ;\n ns0:conforms true ."
},
"application/star-turtle": {
"schema": {
"$ref": "#/components/schemas/DataModelTTLStar"
},
"example": "@prefix ns0: <http://www.w3.org/ns/shacl#> .\n\n[]\n a <http://www.w3.org/ns/shacl#ValidationReport> ;\n ns0:conforms true ."
},
"text/turtle-star": {
"schema": {
"$ref": "#/components/schemas/DataModelTTLStar"
},
"example": "@prefix ns0: <http://www.w3.org/ns/shacl#> .\n\n[]\n a <http://www.w3.org/ns/shacl#ValidationReport> ;\n ns0:conforms true ."
},
"application/n-triples": {
"schema": {
"$ref": "#/components/schemas/DataModelNt"
},
"example": "_:genid1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/shacl#ValidationReport> .\n_:genid1 <http://www.w3.org/ns/shacl#conforms> \"true\"^^<http://www.w3.org/2001/XMLSchema#boolean> ."
},
"application/n-quads": {
"schema": {
"$ref": "#/components/schemas/DataModelNq"
},
"example": "@prefix ns0: <http://www.w3.org/ns/shacl#> .\n\n[]\n a <http://www.w3.org/ns/shacl#ValidationReport> ;\n ns0:conforms true ."
},
"application/trig": {
"schema": {
"$ref": "#/components/schemas/DataModelTrig"
},
"example": " @prefix ns0: <http://www.w3.org/ns/shacl#> .\n \n :G1 { []\n a <http://www.w3.org/ns/shacl#ValidationReport> ;\n ns0:conforms true . }"
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/inference/rdf/infer/{uuid}": {
"get": {
"tags": [
"inference"
],
"summary": "Run inference on your rdf model ",
"description": "Run inference with previously defined inference level and rdf model ",
"operationId": "post_inference_infer_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"description": "uuid of the rdf model on which to perform inference ",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "sparql_query",
"in": "header",
"description": "Specifies the inference query to run with rules. Default is a base select query. SELECT, ASK, CONSTRUCT and DESCRIBE queries are authorized ",
"required": false,
"schema": {
"type": "string",
"default": "SELECT ?subject ?predicate ?object\nWHERE {\n ?subject ?predicate ?object\n}\nLIMIT 25"
}
}
],
"responses": {
"204": {
"description": "Inference request was processed successfully ",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/createAvatarModel"
}
},
"text/turtle": {
"schema": {
"$ref": "#/components/schemas/DataModelTurtle"
}
},
"application/ld+json": {
"schema": {
"$ref": "#/components/schemas/DataModelJsonLD"
}
},
"application/rdf+xml": {
"schema": {
"$ref": "#/components/schemas/DataModelRdfXML"
}
},
"application/x-turtle": {
"schema": {
"$ref": "#/components/schemas/DataModelTurtle"
}
},
"application/star-turtle": {
"schema": {
"$ref": "#/components/schemas/DataModelTTLStar"
}
},
"text/turtle-star": {
"schema": {
"$ref": "#/components/schemas/DataModelTTLStar"
}
},
"application/n-triples": {
"schema": {
"$ref": "#/components/schemas/DataModelNt"
}
},
"application/n-quads": {
"schema": {
"$ref": "#/components/schemas/DataModelNq"
}
},
"application/trig": {
"schema": {
"$ref": "#/components/schemas/DataModelTrig"
}
},
"text/tab-separated-values": {
"schema": {
"$ref": "#/components/schemas/DataModelTSV"
}
},
"text/csv": {
"schema": {
"$ref": "#/components/schemas/DataModelCSV"
}
},
"application/sparql-results+xml": {
"schema": {
"$ref": "#/components/schemas/DataModelSparqlXML"
}
},
"application/sparql-results+json": {
"schema": {
"$ref": "#/components/schemas/DataModelSparqlJSON"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/inference/ml": {
"get": {
"tags": [
"inference"
],
"summary": "Get available ML models/algorithms",
"description": "Get available ML models/algorithms",
"operationId": "get_inference_ml_resource",
"security": [
{
"bearerAuth": []
}
],
"responses": {
"200": {
"description": "Returns available ML models/algorithms",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/getMLAlgorithmModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/inference/ml/extract": {
"post": {
"tags": [
"inference"
],
"summary": "Extracts raw data from a domain to train a ML algorithm afterwards ",
"description": "Extracts raw data from a domain to train a ML algorithm afterwards ",
"operationId": "post_inference_ml_extract_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "domain",
"in": "header",
"description": "domain data to extract",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": "Data has been extracted successfully "
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/inference/ml/train": {
"post": {
"tags": [
"inference"
],
"summary": "Train a ML algorithm on previously a extracted dataset ",
"description": "Train a ML algorithm on previously a extracted dataset ",
"operationId": "post_inference_ml_train_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "dataset_id",
"in": "header",
"description": "extracted dataset id to train on",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "algorithm",
"in": "header",
"description": "extracted dataset id to train on",
"required": true,
"schema": {
"type": "string",
"enum": [
"CLASSIFIER",
"LINK_PREDICTION"
]
}
}
],
"responses": {
"204": {
"description": "ML model has been trained successfully "
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/inference/ml/trace": {
"post": {
"tags": [
"inference"
],
"summary": "Trace a ML model to build live prediction services upon ",
"description": "Trace a ML model to build live prediction services upon ",
"operationId": "post_inference_ml_trace_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "trained_model_id",
"in": "header",
"description": "ID of the trained model",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "dataset_id",
"in": "header",
"description": "extracted dataset id to train on",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": "ML model has been trained successfully "
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/inference/ml/run": {
"post": {
"tags": [
"inference"
],
"summary": "Run a ML inference/prediction live service ",
"description": "Run a ML inference/prediction live service. Predictions can be made using a previously traced model on new data using /ml/predict ",
"operationId": "post_inference_ml_run_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "traced_model_id",
"in": "header",
"description": "ID of the traced model",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "dataset_id",
"in": "header",
"description": "ID of the dataset ",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": "ML service has been launched successfully "
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/inference/ml/predict": {
"post": {
"tags": [
"inference"
],
"summary": "Make predictions on new data using a previously started prediction service (ml/run) ",
"description": "Make predictions on new data using a previously started prediction service (ml/run) ",
"operationId": "post_inference_ml_predict_resource",
"security": [
{
"bearerAuth": []
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/avatarIriListForPredictionModel"
}
}
},
"required": true
},
"parameters": [
{
"name": "prediction_service_id",
"in": "header",
"description": "ID of the prediction service ",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "dataset_id",
"in": "header",
"description": "ID of the dataset ",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": "ML prediction results "
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/inference/graph": {
"get": {
"tags": [
"inference"
],
"summary": "Get status of an algorithm execution",
"description": "Get the status of a previously run graph-based algorithm's execution",
"operationId": "get_inference_graph_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "algorithm_run_id",
"schema": {
"type": "string"
},
"in": "header",
"description": "execId of the graph algorithm returned by previous post to /inference/graph",
"required": true
}
],
"responses": {
"200": {
"description": "Returns the status of the algorithm's execution. If done this includes the global results (metrics) of the algorithm.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/getGraphAlgorithmsModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
},
"post": {
"tags": [
"inference"
],
"summary": "Run a graph algorithm on a domain",
"description": "Run a graph algorithm on a domain ",
"operationId": "post_inference_graph_resource",
"security": [
{
"bearerAuth": []
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/graphAlgorithmParamsModel"
}
}
}
},
"parameters": [
{
"name": "algorithm",
"in": "header",
"required": true,
"description": "name of the algorithm to run. See doc : https://www.arangodb.com/docs/stable/graphs-pregel.html#available-algorithms",
"schema": {
"type": "string",
"enum": [
"PAGERANK",
"SSSP",
"CONNECTEDCOMPONENTS",
"WCC",
"SCC",
"HITS",
"EFFECTIVECLOSENESS",
"LINERANK",
"LABELPROPAGATION",
"SLPA"
]
}
},
{
"name": "domain",
"in": "header",
"description": "domain IRI on which to execute the algorithm",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": "Graph algorithm request was processed successfully ",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/graphAlgorithmRunModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/inference/graph/{uuid}": {
"get": {
"tags": [
"inference"
],
"summary": "Get the complete results of an algorithm execution with node scores",
"description": "Get the complete results of a previously run graph-based algorithm's execution including node (avatar) scores",
"operationId": "get_inference_graph_complete_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"schema": {
"type": "string"
},
"in": "path",
"description": "UUID of the graph algorithm returned by previous post to /inference/graph",
"required": true
}
],
"responses": {
"200": {
"description": "Returns the complete results graph algorithms",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/getGraphAlgorithmCompleteResultModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/federated/check": {
"post": {
"tags": [
"federated"
],
"summary": "Check avatar in multiple tipods respecting the query payload",
"operationId": "post_check_federated_resource",
"security": [
{
"bearerAuth": []
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/findFederatedAvatarModel"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Return the list of avatars that match with the search query. Example for an application/json format. see wiki for more information.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/checkAvatarListResponseModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/federated/find": {
"post": {
"tags": [
"federated"
],
"summary": "Find avatar in multiple tipods respecting the query payload",
"operationId": "post_find_federated_resource",
"security": [
{
"bearerAuth": []
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/findFederatedAvatarModel"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Return the list of avatars that match with the search query. Example for an application/json format. see wiki for more information.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/federatedModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/federated/count": {
"post": {
"tags": [
"federated"
],
"summary": "Find avatar in multiple tipods respecting the query payload",
"operationId": "post_count_federated_resource",
"security": [
{
"bearerAuth": []
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/countFederatedAvatarModel"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Return the list of avatars that match with the search query. Example for an application/json format. see wiki for more information.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/countFederatedDataModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/dts": {
"get": {
"tags": [
"digital twins"
],
"summary": "Retreive Digital Twins",
"operationId": "find_dt_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "Special-Privilege",
"in": "header",
"description": "put True to bypass confidentiality check (only for admin)",
"schema": {
"type": "boolean",
"default": false
}
},
{
"name": "index",
"in": "query",
"description": "Index of the dt",
"schema": {
"type": "integer"
}
},
{
"name": "page_size",
"in": "query",
"description": "Size of the page",
"schema": {
"type": "integer"
}
},
{
"name": "owner",
"in": "query",
"description": "Owner of the DT(s)",
"schema": {
"type": "string"
},
"required": false
}
],
"responses": {
"200": {
"description": "Return the data in application/json",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DataModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
},
"post": {
"tags": [
"digital twins"
],
"summary": "Create a new Digital Twin.",
"operationId": "post_dt_resource",
"security": [
{
"bearerAuth": []
}
],
"requestBody": {
"content": {
"application/x-www-form-urlencoded": {
"schema": {
"required": [
"iri",
"create_on_thingin",
"platform",
"id_on_platform",
"platform_api_key"
],
"type": "object",
"properties": {
"iri": {
"type": "string",
"description": "IRI of the DT in Thing'in"
},
"create_on_thingin": {
"type": "boolean",
"description": "True if the DT must also be created in Thing'in"
},
"platform": {
"type": "string",
"description": "Name of the DT platform"
},
"type": {
"type": "string",
"description": "type of the DT"
},
"description": {
"type": "string",
"description": "description of the DT"
},
"id_on_platform": {
"type": "string",
"description": "id of the DT on platform"
},
"platform_api_key": {
"type": "string",
"description": "API key to access the DT on platform"
}
}
}
}
},
"required": true
},
"responses": {
"201": {
"description": "DT created with no error",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/dts/{uuid}": {
"delete": {
"tags": [
"digital twins"
],
"summary": "Delete a Digital Twin from the DT module (and optionally from Thing'in)",
"operationId": "delete_dt_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "remove_from_thingin",
"in": "query",
"schema": {
"type": "boolean",
"default": false
}
}
],
"responses": {
"204": {
"description": "Deletion completed",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/dts/{uuid}/info": {
"get": {
"tags": [
"digital twins"
],
"summary": "Retrieve info of a digital twin from a thingin uuid",
"operationId": "get_dt_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Return the digital twin",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/getDtInfoModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/dts/{uuid}/synchronisation": {
"get": {
"tags": [
"digital twins"
],
"summary": "Retrieve synchro for a digital twin from a thingin uuid",
"operationId": "get_synchro_dt_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Return the digital twin synchros",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Synchronisation"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
},
"put": {
"tags": [
"digital twins"
],
"summary": "Update synchro for a digital twin from a thingin uuid",
"operationId": "updatet_synchro_dt_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Synchronisation"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Return the digital twin synchros",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Synchronisation"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/dts/{uuid}/data": {
"get": {
"tags": [
"digital twins"
],
"summary": "Retrieve data from a digital twin",
"operationId": "get_data_dt_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Return the digital twin data",
"content": {
"application/json": {}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/dts/{uuid}/data/jsonpath": {
"get": {
"tags": [
"digital twins"
],
"summary": "Apply a jsonpath expression on data from a digital twin",
"operationId": "get_jsonpath_data_dt_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "jsonpath",
"in": "query",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "all_results",
"in": "query",
"schema": {
"type": "boolean",
"default": false
}
}
],
"responses": {
"200": {
"description": "Return result of the jsonpath expression on the digital twin data",
"content": {
"application/json": {}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/dts/platforms": {
"get": {
"tags": [
"digital twins"
],
"summary": "Get all the platforms available for digital twins",
"operationId": "find_dt_platforms_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [],
"responses": {
"200": {
"description": "Return the platforms",
"content": {
"application/json": {
"schema": {
"type": "array",
"description": "platform items of this page",
"items": {
"$ref": "#/components/schemas/createPlatformModel"
}
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
},
"post": {
"tags": [
"digital twins"
],
"summary": "Create a new platform for Digital Twins.",
"operationId": "post_dt_platform_resource",
"security": [
{
"bearerAuth": []
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/createPlatformModel"
}
}
},
"required": true
},
"responses": {
"204": {
"description": "Platform created with no error",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
},
"x-codegen-request-body-name": "payload"
}
},
"/dts/acl": {
"get": {
"tags": [
"digital twins",
"acl"
],
"summary": "Retrieve the ACL for DT",
"operationId": "get_acl_dt_resource",
"security": [
{
"bearerAuth": []
}
],
"responses": {
"200": {
"description": "Return the ACL",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/aclModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/validation": {
"post": {
"tags": [
"validation"
],
"summary": "Register a new validation schema (json schema, ShEx, SHACL).",
"description": "Register a new validation schema (json schema, ShEx, SHACL). This schema can then be attached to a domain (POST /validation/apply). ",
"operationId": "post_validation",
"security": [
{
"bearerAuth": []
}
],
"requestBody": {
"content": {
"multipart/form-data": {
"schema": {
"type": "object",
"properties": {
"schema": {
"type": "string",
"description": "The schema file (i.e. json-schema, ShEx, or SHACL)",
"format": "binary"
},
"shape_map": {
"type": "string",
"description": "Shape map (ShEx only) associated to the shape constraint",
"format": "binary"
},
"schema_format": {
"enum": [
"JSON",
"SHEX",
"SHACL"
]
}
}
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Validation schema successfully registered",
"headers": {
"Location": {
"description": "The URL of the validation object created in Thingin.",
"schema": {
"type": "string"
}
}
},
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/validation/{uuid}": {
"get": {
"tags": [
"validation"
],
"summary": "Retrieve a validation schema from a uuid",
"operationId": "get_validation_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"description": "uuid of the schema to fetch",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Return the validation schema",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/jsonSchemaModel"
}
},
"text/turtle": {
"schema": {
"oneOf": [
{
"$ref": "#/components/schemas/SHACLSchemaModel"
},
{
"$ref": "#/components/schemas/ShExSchemaModel"
}
]
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
},
"delete": {
"tags": [
"validation"
],
"summary": "Delete a validation from a uuid (restricted to owner).",
"operationId": "delete_validation_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"description": "uuid of the schema to delete",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": "Deleted the validation schema",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/validation/owner/{uuid}": {
"get": {
"tags": [
"validation"
],
"summary": "Retrieve all validation schemas from a user uuid",
"description": "Retrieve all validation schemas created by a user",
"operationId": "get_validation_by_owner_resource",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "uuid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "index",
"in": "query",
"description": "Index of the validation",
"schema": {
"type": "integer"
}
},
{
"name": "page_size",
"in": "query",
"description": "Size of the page",
"schema": {
"type": "integer"
}
},
{
"name": "sort",
"in": "query",
"description": "Sort key ('-' for descending order)",
"schema": {
"type": "string",
"enum": [
"creationDate",
"-creationDate"
]
}
}
],
"responses": {
"200": {
"description": "Return the validation schemas of this owner",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/listValidationModel"
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/validation/apply/{uuid}": {
"post": {
"tags": [
"validation"
],
"summary": "Apply a validation schema to a domain",
"description": "Apply a validation schema resource to an existing domain.",
"operationId": "post_validation_apply",
"security": [
{
"bearerAuth": []
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ValidationApplyModel"
}
}
}
},
"parameters": [
{
"name": "uuid",
"description": "uuid of the schema to attach to a domain",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Validation schema successfully applied to domain",
"content": {}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
},
"/validation/run": {
"post": {
"tags": [
"validation"
],
"summary": "Directly run a schema validation",
"description": "Directly run a schema validation on arbitrary data (no resource required)",
"operationId": "post_validation_validate",
"security": [
{
"bearerAuth": []
}
],
"requestBody": {
"content": {
"multipart/form-data": {
"schema": {
"type": "object",
"properties": {
"schema": {
"type": "string",
"description": "The schema file (i.e. json-schema, ShEx, or SHACL)",
"format": "binary"
},
"data": {
"type": "string",
"description": "The data file (i.e. json or rdf)",
"format": "binary"
},
"shape_map": {
"type": "string",
"description": "Shape map (ShEx only) associated to the shape constraint",
"format": "binary"
},
"schema_format": {
"type": "string",
"enum": [
"JSON",
"SHEX",
"SHACL"
]
},
"data_format": {
"type": "string",
"enum": [
"JSON",
"TURTLE",
"TRIG",
"RDF_XML",
"NT",
"NQUAD",
"TTL_STAR",
"JSON_LD"
]
}
}
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Validation schema successfully applied to domain",
"content": {
"application/json": {
"schema": {
"oneOf": [
{
"$ref": "#/components/schemas/SHACLSchemaModel"
},
{
"$ref": "#/components/schemas/ShExSchemaModel"
},
{
"$ref": "#/components/schemas/jsonSchemaModel"
}
]
}
}
}
},
"500": {
"description": "Something went wrong while handling the request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/serverErrorModel"
}
}
}
}
}
}
}
},
"components": {
"securitySchemes": {
"basicAuth": {
"description": "Thing'in user login/password",
"type": "http",
"scheme": "basic"
},
"bearerAuth": {
"description": "Thing'in token (without Bearer keyword) ",
"type": "http",
"scheme": "bearer",
"bearerFormat": "JWT"
}
},
"schemas": {
"ValidationApplyModel": {
"type": "array",
"example": [
"http://www.example.com/test/",
"http://www.example.com/test2/"
],
"items": {
"type": "string",
"description": "domain IRI"
},
"description": "IRIs of the domains on which the schema has to be attached and run automatically. Must be owner of the domain"
},
"AggregateModel": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "variable name (user defined)"
},
"value": {
"type": "number",
"description": "value"
},
"property": {
"type": "string",
"description": "avatar property on which the aggregate is computed"
},
"function": {
"type": "string",
"description": "readable name of the function used for the aggregate e.g. maximum, minimum, sum..."
}
},
"description": "Data object containing aggregate values (e.g. maximum, minimum...) for a set of avatars ",
"example": {
"name": "myAggregateExample",
"value": 70,
"property": "http://knoesis.wright.edu/ssw/ont/sensor-observation.owl#distance",
"function": "maximum"
}
},
"DataModelValidationReport": {
"type": "object",
"properties": {
"conflicts": {
"type": "array",
"items": {
"type": "string",
"description": "conflict"
}
}
},
"description": "List of consistency conflicts based on RDFS ",
"example": "{\n\"conflicts\": [\"cause\": Error (dtRange): Property http://www.hpl.hp.com/semweb/2003/eg#bar has a typed range Datatype[http://www.w3.org/2001/XMLSchema#integer -> class java.math.BigInteger]that is not compatible with 25.5:http://www.w3.org/2001/XMLSchema#decimal \"]}"
},
"DataModelSparqlXML": {
"type": "string",
"description": "Result of the SPARQL SELECT query in XML format",
"example": "<?xml version=\"1.0\"?>\n<sparql xmlns=\"http://www.w3.org/2005/sparql-results#\">\n <head>\n <variable name=\"subject\"/>\n <variable name=\"predicate\"/>\n <variable name=\"object\"/>\n </head>\n <results>\n <result>\n <binding name=\"subject\">\n <uri>http://example.com/ns#Alice</uri>\n </binding>\n <binding name=\"predicate\">\n <uri>http://www.w3.org/1999/02/22-rdf-syntax-ns#type</uri>\n </binding>\n <binding name=\"object\">\n <uri>http://example.com/ns#Person</uri>\n </binding>\n </result>\n <result>\n <binding name=\"subject\">\n <uri>http://example.com/ns#Alice</uri>\n </binding>\n <binding name=\"predicate\">\n <uri>http://example.com/ns#ssn</uri>\n </binding>\n <binding name=\"object\">\n <literal>987-65-432A</literal>\n </binding>\n </result>\n <result>\n <binding name=\"subject\">\n <uri>http://example.com/ns#Bob</uri>\n </binding>\n <binding name=\"predicate\">\n <uri>http://www.w3.org/1999/02/22-rdf-syntax-ns#type</uri>\n </binding>\n <binding name=\"object\">\n <uri>http://example.com/ns#Person</uri>\n </binding>\n </result>\n <result>\n <binding name=\"subject\">\n <uri>http://example.com/ns#Bob</uri>\n </binding>\n <binding name=\"predicate\">\n <uri>http://example.com/ns#ssn</uri>\n </binding>\n <binding name=\"object\">\n <literal>123-45-6789</literal>\n </binding>\n </result>\n <result>\n <binding name=\"subject\">\n <uri>http://example.com/ns#Bob</uri>\n </binding>\n <binding name=\"predicate\">\n <uri>http://example.com/ns#ssn</uri>\n </binding>\n <binding name=\"object\">\n <literal>124-35-6789</literal>\n </binding>\n </result>\n <result>\n <binding name=\"subject\">\n <uri>http://example.com/ns#Calvin</uri>\n </binding>\n <binding name=\"predicate\">\n <uri>http://example.com/ns#worksFor</uri>\n </binding>\n <binding name=\"object\">\n <uri>http://example.com/ns#UntypedCompany</uri>\n </binding>\n </result>\n <result>\n <binding name=\"subject\">\n <uri>http://example.com/ns#Calvin</uri>\n </binding>\n <binding name=\"predicate\">\n <uri>http://www.w3.org/1999/02/22-rdf-syntax-ns#type</uri>\n </binding>\n <binding name=\"object\">\n <uri>http://example.com/ns#Person</uri>\n </binding>\n </result>\n <result>\n <binding name=\"subject\">\n <uri>http://example.com/ns#Calvin</uri>\n </binding>\n <binding name=\"predicate\">\n <uri>http://example.com/ns#birthDate</uri>\n </binding>\n <binding name=\"object\">\n <literal datatype=\"http://www.w3.org/2001/XMLSchema#date\">1971-07-07</literal>\n </binding>\n </result>\n </results>\n</sparql>"
},
"DataModelSparqlJSON": {
"type": "object",
"description": "Result of the SPARQL SELECT query in JSON format",
"example": "{\n \"head\": {\n \"vars\": [\n \"subject\",\n \"predicate\",\n \"object\"\n ]\n },\n \"results\": {\n \"bindings\": [\n {\n \"subject\": {\n \"type\": \"uri\",\n \"value\": \"http://example.com/ns#Alice\"\n },\n \"predicate\": {\n \"type\": \"uri\",\n \"value\": \"http://www.w3.org/1999/02/22-rdf-syntax-ns#type\"\n },\n \"object\": {\n \"type\": \"uri\",\n \"value\": \"http://example.com/ns#Person\"\n }\n },\n {\n \"subject\": {\n \"type\": \"uri\",\n \"value\": \"http://example.com/ns#Alice\"\n },\n \"predicate\": {\n \"type\": \"uri\",\n \"value\": \"http://example.com/ns#ssn\"\n },\n \"object\": {\n \"type\": \"literal\",\n \"value\": \"987-65-432A\"\n }\n },\n {\n \"subject\": {\n \"type\": \"uri\",\n \"value\": \"http://example.com/ns#Bob\"\n },\n \"predicate\": {\n \"type\": \"uri\",\n \"value\": \"http://www.w3.org/1999/02/22-rdf-syntax-ns#type\"\n },\n \"object\": {\n \"type\": \"uri\",\n \"value\": \"http://example.com/ns#Person\"\n }\n },\n {\n \"subject\": {\n \"type\": \"uri\",\n \"value\": \"http://example.com/ns#Bob\"\n },\n \"predicate\": {\n \"type\": \"uri\",\n \"value\": \"http://example.com/ns#ssn\"\n },\n \"object\": {\n \"type\": \"literal\",\n \"value\": \"123-45-6789\"\n }\n },\n {\n \"subject\": {\n \"type\": \"uri\",\n \"value\": \"http://example.com/ns#Bob\"\n },\n \"predicate\": {\n \"type\": \"uri\",\n \"value\": \"http://example.com/ns#ssn\"\n },\n \"object\": {\n \"type\": \"literal\",\n \"value\": \"124-35-6789\"\n }\n },\n {\n \"subject\": {\n \"type\": \"uri\",\n \"value\": \"http://example.com/ns#Calvin\"\n },\n \"predicate\": {\n \"type\": \"uri\",\n \"value\": \"http://example.com/ns#worksFor\"\n },\n \"object\": {\n \"type\": \"uri\",\n \"value\": \"http://example.com/ns#UntypedCompany\"\n }\n },\n {\n \"subject\": {\n \"type\": \"uri\",\n \"value\": \"http://example.com/ns#Calvin\"\n },\n \"predicate\": {\n \"type\": \"uri\",\n \"value\": \"http://www.w3.org/1999/02/22-rdf-syntax-ns#type\"\n },\n \"object\": {\n \"type\": \"uri\",\n \"value\": \"http://example.com/ns#Person\"\n }\n },\n {\n \"subject\": {\n \"type\": \"uri\",\n \"value\": \"http://example.com/ns#Calvin\"\n },\n \"predicate\": {\n \"type\": \"uri\",\n \"value\": \"http://example.com/ns#birthDate\"\n },\n \"object\": {\n \"type\": \"literal\",\n \"datatype\": \"http://www.w3.org/2001/XMLSchema#date\",\n \"value\": \"1971-07-07\"\n }\n }\n ]\n }\n}\n<?xml version=\"1.0\"?>\n<sparql xmlns=\"http://www.w3.org/2005/sparql-results#\">\n <head>\n <variable name=\"subject\"/>\n <variable name=\"predicate\"/>\n <variable name=\"object\"/>\n </head>\n <results>\n </results>\n</sparql>\n"
},
"DataModelCSV": {
"type": "string",
"description": "Result of the SPARQL SELECT query in CSV format",
"example": "subject,predicate,object\nhttp://example.com/ns#Alice,http://www.w3.org/1999/02/22-rdf-syntax-ns#type,http://example.com/ns#Person\nhttp://example.com/ns#Alice,http://example.com/ns#ssn,987-65-432A\nhttp://example.com/ns#Bob,http://www.w3.org/1999/02/22-rdf-syntax-ns#type,http://example.com/ns#Person\nhttp://example.com/ns#Bob,http://example.com/ns#ssn,123-45-6789\nhttp://example.com/ns#Bob,http://example.com/ns#ssn,124-35-6789\nhttp://example.com/ns#Calvin,http://example.com/ns#worksFor,http://example.com/ns#UntypedCompany\nhttp://example.com/ns#Calvin,http://www.w3.org/1999/02/22-rdf-syntax-ns#type,http://example.com/ns#Person\nhttp://example.com/ns#Calvin,http://example.com/ns#birthDate,1971-07-07\n"
},
"DataModelTSV": {
"type": "string",
"description": "Result of the SPARQL SELECT query in TSV format",
"example": "?subject\t?predicate\t?object\n<http://example.com/ns#Alice>\t<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>\t<http://example.com/ns#Person>\n<http://example.com/ns#Alice>\t<http://example.com/ns#ssn>\t\"987-65-432A\"\n<http://example.com/ns#Bob>\t<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>\t<http://example.com/ns#Person>\n<http://example.com/ns#Bob>\t<http://example.com/ns#ssn>\t\"123-45-6789\"\n<http://example.com/ns#Bob>\t<http://example.com/ns#ssn>\t\"124-35-6789\"\n<http://example.com/ns#Calvin>\t<http://example.com/ns#worksFor>\t<http://example.com/ns#UntypedCompany>\n<http://example.com/ns#Calvin>\t<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>\t<http://example.com/ns#Person>\n<http://example.com/ns#Calvin>\t<http://example.com/ns#birthDate>\t\"1971-07-07\"^^<http://www.w3.org/2001/XMLSchema#date>\n"
},
"getMLAlgorithmModel": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"description": "uuid of the ML model"
}
}
},
"jenaRulesModel": {
"type": "string",
"description": "Jena Rules described in Jena's specific format, see https://jena.apache.org/documentation/inference/#rules ",
"example": "@prefix hom: urn:hom\\#\n@prefix rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns#\n\n\n[rule1: (?x rdf:type hom:Human) -> (?x rdf:type hom:Mortal)]"
},
"shaclShapesModel": {
"type": "string",
"description": "SHACL shapes described in Turtle format",
"example": "PREFIX fuseki: <http://jena.apache.org/fuseki#>\nPREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>\nPREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\nPREFIX sh: <http://www.w3.org/ns/shacl#>\nPREFIX xsd: <http://www.w3.org/2001/XMLSchema#>\nPREFIX ex: <http://example.com/ns#>\n\nex:PersonShape\n\ta sh:NodeShape ;\n\tsh:targetClass ex:Person ; # Applies to all persons\n\tsh:property [ # _:b1\n\t\tsh:path ex:ssn ; # constrains the values of ex:ssn\n\t\tsh:maxCount 1 ;\n\t\tsh:datatype xsd:string ;\n\t\tsh:pattern \"^\\\\d{3}-\\\\d{2}-\\\\d{4}$\" ;\n\t] ;\n\tsh:property [ # _:b2\n\t\tsh:path ex:worksFor ;\n\t\tsh:class ex:Company ;\n\t\tsh:nodeKind sh:IRI ;\n\t] ;\n\tsh:closed true ;\n\tsh:ignoredProperties ( rdf:type ) ."
},
"graphAlgorithmParamsModel": {
"type": "object",
"properties": {
"maxGSS": {
"type": "string",
"description": "Maximum number of global iterations for this algorithm, see https://www.arangodb.com/docs/stable/graphs-pregel.html#algorithm-parameters"
},
"source": {
"type": "string",
"description": "When executing the single source shortest path algorithm (\"sssp\"), defines the starting avatar IRI in ThingIn. See https://www.arangodb.com/docs/stable/graphs-pregel.html#single-source-shortest-path)"
}
}
},
"avatarIriListForPredictionModel": {
"type": "object",
"properties": {
"avatar_iris": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"getGraphAlgorithmCompleteResultModel": {
"type": "object",
"properties": {
"algorithm_metadata": {
"$ref": "#/components/schemas/getGraphAlgorithmsModel"
},
"avatar_results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/graphAlgorithmAvatarModel"
}
}
}
},
"graphAlgorithmAvatarModel": {
"type": "object",
"description": "embeds the avatar scores for a graph algorithm execution",
"properties": {
"avatarUuid": {
"type": "string",
"description": "uuid of the avatar"
},
"_result": {
"type": "number",
"description": "score of the avatar/node for this algorithm's execution. The actual field name is of the format [algorithm]_result."
}
}
},
"getGraphAlgorithmsModel": {
"type": "object",
"properties": {
"result": {
"type": "object",
"properties": {
"state": {
"description": "state of the algorithm's execution, see https://www.arangodb.com/docs/stable/graphs-pregel.html#status-of-an-algorithm-execution",
"type": "string",
"enum": [
"running",
"in error",
"recovering",
"canceled",
"storing",
"done"
]
},
"totalRuntime": {
"type": "number"
},
"aggregators": {
"description": "aggregators information depending on the pregel algorithm, see https://www.arangodb.com/docs/stable/graphs-pregel.html#",
"type": "object"
},
"sendCount": {
"type": "integer"
},
"receivedCount": {
"type": "integer"
},
"vertexCount": {
"type": "integer"
},
"edgeCount": {
"type": "integer"
}
}
},
"algorithm": {
"description": "name of the algorithm that was run with this id. See doc : https://www.arangodb.com/docs/stable/graphs-pregel.html#available-algorithms",
"type": "string",
"enum": [
"PAGERANK",
"SSSP",
"CONNECTEDCOMPONENTS",
"WCC",
"SCC",
"HITS",
"EFFECTIVECLOSENESS",
"LINERANK",
"LABELPROPAGATION",
"SLPA"
]
},
"domain": {
"type": "string",
"description": "domain on which the algorithm was executed"
},
"uuid": {
"type": "string",
"description": "uuid of this algorithm execution. Can be used to retrieve all results including avatar scores using /inference/graph/uuid."
},
"timestamp": {
"type": "integer",
"description": "epoch of the algorithm execution start date"
},
"execId": {
"type": "string",
"description": "execution id while this algorithm is running. Can be used to check the algorithm status and get its global results using /inference/graph"
}
}
},
"MLAlgorithmReportModel": {
"type": "object",
"properties": {
"algorithm": {
"type": "string"
},
"result": {
"type": "object"
}
}
},
"MLAlgorithmTrainModel": {
"type": "object",
"properties": {
"algorithm": {
"type": "string"
},
"result": {
"type": "object"
}
}
},
"graphAlgorithmRunModel": {
"type": "object",
"properties": {
"algorithm": {
"type": "string"
},
"algorithm_run_id": {
"type": "string"
}
}
},
"pathsModel": {
"type": "object",
"properties": {
"source_iri": {
"type": "string"
},
"target_iri": {
"type": "string"
},
"default_weight": {
"type": "number"
},
"weight_attribute": {
"type": "string"
},
"paths": {
"description": "list of found paths",
"type": "array",
"items": {
"type": "object",
"properties": {
"avatars": {
"description": "avatars in the path (including source avatar)",
"type": "array",
"items": {
"$ref": "#/components/schemas/avatarModel"
}
},
"edges": {
"description": "edges in the path",
"type": "array",
"items": {
"$ref": "#/components/schemas/edgeModel"
}
},
"weight": {
"description": "total weight of the path",
"type": "number"
}
}
}
}
}
},
"createDomainModel": {
"type": "object",
"required": [
"iri"
],
"properties": {
"sources": {
"type": "array",
"description": "list of sources used to construct the domain",
"items": {
"type": "string",
"description": "uuid of a data source"
}
},
"iri": {
"type": "string",
"description": "iri of the domain"
},
"expireAfter": {
"type": "integer",
"description": "Number of SECONDS before removal of the domain and all avatars in it. USE WITH CAUTION. Mainly for temporary domains and tests.",
"default": -1
},
"historized": {
"type": "boolean",
"description": "Enable the historization feature on this domain",
"default": false
}
}
},
"getDomainModel": {
"type": "object",
"properties": {
"sources": {
"type": "array",
"description": "list of sources used to construct the domain",
"items": {
"type": "string",
"description": "uuid of a data source"
}
},
"requests": {
"type": "array",
"description": "list of user requests for this domain",
"items": {
"type": "string",
"description": "uuid of a request"
}
},
"iri": {
"type": "string",
"description": "iri of the domain"
},
"uuid": {
"type": "string",
"description": "uuid of the domain"
},
"owner": {
"type": "string",
"description": "owner of the domain"
},
"securityGroup": {
"type": "string",
"description": "uuid of the securityGroup associated to this domain"
},
"expireAfter": {
"type": "integer",
"description": "number of seconds left before removal (optional)"
},
"creationDate": {
"type": "integer",
"description": "timestamp/number of milliseconds since creation"
},
"conversions": {
"type": "array",
"description": "list of conversions for this domain",
"items": {
"type": "string",
"description": "conversion"
}
},
"avatarCount": {
"type": "integer",
"description": "Number of avatars that belong to this domain"
},
"historized": {
"type": "boolean",
"description": "Activation of the historization feature on this domain"
}
}
},
"listDomainModel": {
"required": [
"items"
],
"type": "object",
"properties": {
"items": {
"type": "array",
"description": "list all domains",
"items": {
"$ref": "#/components/schemas/getDomainModel"
}
}
}
},
"setDomainSGModel": {
"type": "object",
"properties": {
"security_group_id": {
"type": "string",
"description": "uuid of the security group"
}
}
},
"createSdifModel": {
"type": "object",
"required": [
"name",
"query",
"type"
],
"properties": {
"params": {
"type": "array",
"description": "list of params of the sdif",
"items": {
"type": "object",
"description": "a param",
"properties": {
"name": {
"type": "string",
"description": "name of the param"
},
"type": {
"type": "string",
"description": "type of the param",
"enum": [
"NUMBER",
"NUMBER_LIST",
"STRING",
"STRING_LIST",
"BOOLEAN",
"BOOLEAN_LIST"
]
},
"desc": {
"type": "string",
"description": "description of the param"
}
}
}
},
"name": {
"type": "string",
"description": "name of the sdif"
},
"query": {
"type": "string",
"description": "query of the sdif"
},
"type": {
"type": "string",
"description": "result type of the sdif",
"enum": [
"AVATAR",
"AVATAR_LIST",
"NUMBER",
"NUMBER_LIST",
"STRING",
"STRING_LIST",
"BOOLEAN",
"BOOLEAN_LIST"
]
},
"desc": {
"type": "string",
"description": "description of the sdif"
}
}
},
"updateSdifModel": {
"type": "object",
"properties": {
"params": {
"type": "array",
"description": "list of params of the sdif",
"items": {
"type": "object",
"description": "a param",
"properties": {
"name": {
"type": "string",
"description": "name of the param"
},
"type": {
"type": "string",
"description": "type of the param",
"enum": [
"NUMBER",
"NUMBER_LIST",
"STRING",
"STRING_LIST",
"BOOLEAN",
"BOOLEAN_LIST"
]
},
"desc": {
"type": "string",
"description": "description of the param"
}
}
}
},
"name": {
"type": "string",
"description": "name of the sdif"
},
"query": {
"type": "string",
"description": "query of the sdif"
},
"type": {
"type": "string",
"description": "type od result of the sdif",
"enum": [
"AVATAR",
"AVATAR_LIST",
"NUMBER",
"NUMBER_LIST",
"STRING",
"STRING_LIST",
"BOOLEAN",
"BOOLEAN_LIST"
]
},
"desc": {
"type": "string",
"description": "description of the sdif"
}
}
},
"getSdifModel": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"description": "uuid of the sdif"
},
"params": {
"type": "array",
"description": "list of params of the sdif",
"items": {
"type": "object",
"description": "a param",
"properties": {
"name": {
"type": "string",
"description": "name of the param"
},
"type": {
"type": "string",
"description": "type of the param",
"enum": [
"NUMBER",
"NUMBER_LIST",
"STRING",
"STRING_LIST",
"BOOLEAN",
"BOOLEAN_LIST"
]
},
"desc": {
"type": "string",
"description": "description of the param"
}
}
}
},
"name": {
"type": "string",
"description": "name of the sdif"
},
"query": {
"type": "string",
"description": "query of the sdif"
},
"type": {
"type": "string",
"description": "type od result of the sdif",
"enum": [
"AVATAR",
"AVATAR_LIST",
"NUMBER",
"NUMBER_LIST",
"STRING",
"STRING_LIST",
"BOOLEAN",
"BOOLEAN_LIST"
]
},
"desc": {
"type": "string",
"description": "description of the sdif"
}
}
},
"listSdifModel": {
"required": [
"items"
],
"type": "object",
"properties": {
"items": {
"type": "array",
"description": "list all sdifs",
"items": {
"$ref": "#/components/schemas/getSdifModel"
}
}
}
},
"execSdifModel": {
"type": "object",
"properties": {
"params": {
"type": "array",
"description": "list of params and value to exec the sdif",
"items": {
"type": "object",
"description": "a param value",
"properties": {
"name": {
"type": "string",
"description": "name of the param"
},
"value": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "array"
}
],
"description": "value of the param"
}
}
}
}
}
},
"createSourceModel": {
"type": "object",
"properties": {
"tags": {
"type": "array",
"description": "list of tags",
"items": {
"type": "string",
"description": "tag"
}
},
"file": {
"type": "object",
"description": "file information to retrieve (url) and parse data (encoding)",
"properties": {
"url": {
"type": "string",
"description": "URL of the file containing avatars. Can be an extarnal url(http://,https://) or a blob (blob://)"
},
"description": {
"type": "string",
"description": "description of the file content"
},
"contentEncoding": {
"type": "string",
"description": "Encoding of the file. Let empty if not gzipped. ",
"enum": [
"gzip",
""
]
}
}
},
"origin": {
"type": "string",
"description": "origin of this data source (e.g. website, company...)"
}
}
},
"getSourceModel": {
"type": "object",
"properties": {
"domains": {
"type": "array",
"description": "list of domains that use this source",
"items": {
"type": "string",
"description": "uuid of a domain"
}
},
"tags": {
"type": "array",
"description": "list of tags",
"items": {
"type": "string",
"description": "tag"
}
},
"injection": {
"type": "object",
"description": "injection type and metadata"
},
"uuid": {
"type": "string",
"description": "uuid of the domain"
},
"owner": {
"type": "string",
"description": "owner of the domain"
},
"creationDate": {
"type": "integer",
"description": "timestamp/number of milliseconds since creation"
}
}
},
"listSourceModel": {
"required": [
"items"
],
"type": "object",
"properties": {
"items": {
"type": "array",
"description": "list all sources",
"items": {
"$ref": "#/components/schemas/getSourceModel"
}
}
}
},
"listValidationModel": {
"required": [
"items"
],
"type": "object",
"properties": {
"items": {
"type": "array",
"description": "list all validation schemas",
"items": {
"oneOf": [
{
"$ref": "#/components/schemas/SHACLSchemaModel"
},
{
"$ref": "#/components/schemas/ShExSchemaModel"
},
{
"$ref": "#/components/schemas/jsonSchemaModel"
}
]
}
}
}
},
"avatarAndValuesReturnModel": {
"oneOf": [
{
"type": "object"
},
{
"type": "array"
},
{
"type": "string"
}
]
},
"SHACLSchemaModel": {
"type": "object",
"properties": {
"uuid": {
"type": "string"
},
"owner": {
"type": "string"
},
"creationDate": {
"type": "number"
},
"domains": {
"type": "array",
"items": {
"type": "string"
}
},
"schema": {
"type": "string"
},
"format": {
"type": "string"
}
}
},
"ShExSchemaModel": {
"type": "object",
"properties": {
"uuid": {
"type": "string"
},
"owner": {
"type": "string"
},
"creationDate": {
"type": "number"
},
"domains": {
"type": "array",
"items": {
"type": "string"
}
},
"schema": {
"type": "string"
},
"format": {
"type": "string"
}
}
},
"jsonSchemaModel": {
"type": "object",
"properties": {
"uuid": {
"type": "string"
},
"owner": {
"type": "string"
},
"creationDate": {
"type": "number"
},
"domains": {
"type": "array",
"items": {
"type": "string"
}
},
"schema": {
"type": "object",
"properties": {
"$schema": {
"enum": [
"https://json-schema.org/draft/2020-12/schema",
"http://json-schema.org/draft/2019-09/schema",
"http://json-schema.org/draft-07/schema#",
"http://json-schema.org/draft-04/schema#"
]
},
"title": {
"type": "string"
},
"properties": {
"type": "object"
},
"$id": {
"type": "string"
}
}
},
"format": {
"type": "string"
}
}
},
"createRequestModel": {
"type": "object",
"properties": {
"payload": {
"type": "string",
"description": "ThingIn query payload"
},
"name": {
"type": "string",
"description": "Request name"
},
"description": {
"type": "string",
"description": "Request short description"
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of tags"
},
"method": {
"type": "string",
"description": "Request's HTTP method"
},
"url": {
"type": "string",
"description": "URL of the request"
},
"public": {
"type": "boolean",
"description": "Request is public (true) or private (false)"
},
"options": {
"type": "object"
}
}
},
"getRequestModel": {
"type": "object",
"properties": {
"requestTI": {
"type": "object",
"description": "ThingIn request as json"
},
"requestDB": {
"type": "object",
"description": "Actual database request (updated automatically with latest usage)"
},
"requestReport": {
"type": "object",
"description": "Last request report metadata (updated automatically with latest usage)"
},
"domains": {
"type": "array",
"description": "list of domains this request fetches data from",
"items": {
"type": "string",
"description": "uuid of a request"
}
},
"uuid": {
"type": "string",
"description": "uuid of the domain"
},
"owner": {
"type": "string",
"description": "owner of the domain"
},
"lastUsed": {
"type": "integer",
"description": "timestamp of last usage"
},
"creationDate": {
"type": "integer",
"description": "timestamp/number of milliseconds since creation"
},
"options": {
"type": "object",
"description": "options for portal usage (UI, format, comments, ...)"
}
}
},
"listRequestModel": {
"required": [
"items"
],
"type": "object",
"properties": {
"items": {
"type": "array",
"description": "list all requests",
"items": {
"$ref": "#/components/schemas/getRequestModel"
}
}
}
},
"countAvatarModel": {
"type": "object",
"properties": {
"query": {
"type": "object",
"properties": {},
"description": "Query for the matching"
},
"view": {
"type": "object",
"properties": {},
"description": "Filter the attributes in response"
}
}
},
"countFederatedAvatarModel": {
"type": "object",
"properties": {
"from": {
"type": "array",
"description": "list of tipod IDs",
"items": {
"type": "string",
"description": "tipod ID"
}
},
"query": {
"type": "object",
"properties": {},
"description": "Query for the matching"
},
"view": {
"type": "object",
"properties": {},
"description": "Filter the attributes in response"
}
}
},
"countFederatedDataModel": {
"type": "object",
"properties": {
"local_result": {
"type": "object",
"description": "local results for this tipod",
"$ref": "#/components/schemas/countAvatarResultModel"
},
"remote_results": {
"type": "array",
"items": {
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/countAvatarResultModel"
},
{
"type": "object"
}
]
}
}
}
},
"securityGroupCreateModel": {
"required": [
"desc"
],
"type": "object",
"properties": {
"users": {
"type": "array",
"description": "list of user uuids in this security group",
"items": {
"type": "string",
"description": "uuid of user"
}
},
"desc": {
"type": "string",
"description": "description"
}
}
},
"clusterManagerRemoveModel": {
"type": "object",
"properties": {
"managers": {
"type": "array",
"description": "list of manager uuid",
"items": {
"type": "string",
"description": "uuid of user"
}
}
}
},
"accesscontrolManagerModel": {
"type": "object",
"properties": {
"managers": {
"type": "array",
"description": "list of manager roles",
"items": {
"type": "string",
"description": "role of the manager"
}
}
}
},
"akListModel": {
"type": "object",
"properties": {
"accesskeys": {
"type": "array",
"items": {
"$ref": "#/components/schemas/akitem"
}
}
}
},
"addOntologiesModel": {
"type": "object",
"properties": {
"ontologies": {
"type": "array",
"description": "list of ontology checksums",
"items": {
"type": "string",
"description": "ontology checksum"
}
}
}
},
"ontologiesListModel": {
"type": "object",
"properties": {
"ontologies": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ontologyitem"
}
}
}
},
"ontologyitem": {
"required": [
"iri",
"checksum"
],
"type": "object",
"properties": {
"iri": {
"type": "string",
"description": "iri of the ontology"
},
"checksum": {
"type": "string",
"description": "checksum of the ontology"
}
}
},
"actionModel": {
"required": [
"data",
"type"
],
"type": "object",
"properties": {
"data": {
"type": "string",
"description": "The content to accomplish of the action"
},
"type": {
"type": "string",
"description": "The type of the action itself"
}
}
},
"taskModel": {
"required": [
"status_type",
"task_type",
"uuid"
],
"type": "object",
"properties": {
"actions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/actionModel"
}
},
"task_type": {
"type": "string",
"description": "Either \"ASPECT_CLEANUP\" or \"ONTOLOGY_NOTIFICATION\""
},
"uuid": {
"type": "string",
"description": "The identifier of the task"
},
"status_type": {
"type": "string",
"description": "Either \"SUCCESS\", \"RUNNING\" or \"FAILURE\""
}
}
},
"securityGroupUserRemoveModel": {
"type": "object",
"properties": {
"users": {
"type": "array",
"description": "list of user uuid in this security group",
"items": {
"type": "string",
"description": "uuid of user"
}
}
}
},
"userCreateModel": {
"required": [
"domains",
"roles",
"token"
],
"type": "object",
"properties": {
"roles": {
"type": "array",
"description": "list of roles",
"items": {
"type": "string",
"description": "name of role"
}
},
"token": {
"type": "string",
"description": "token of the user from the external provider"
},
"domains": {
"type": "array",
"description": "domains of reference, default []",
"items": {
"type": "string",
"description": "a domain"
}
},
"external_provider": {
"type": "string",
"description": "code name of the external provider (default : Thing'in)"
}
}
},
"BatchError": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/errorModel"
}
}
}
},
"idpListModel": {
"type": "object",
"properties": {
"idps": {
"type": "array",
"items": {
"$ref": "#/components/schemas/idpCreateModel"
}
}
}
},
"aclModel": {
"required": [
"desc",
"owner",
"statements",
"uuid"
],
"type": "object",
"properties": {
"owner": {
"type": "string",
"description": "uuid of the owner"
},
"timestamp": {
"minimum": 0,
"type": "integer",
"description": "timestamp of the last update"
},
"statements": {
"type": "array",
"description": "list of statements",
"items": {
"$ref": "#/components/schemas/statementModel"
}
},
"uuid": {
"type": "string",
"description": "unique id of the acl"
},
"desc": {
"type": "string",
"description": "description"
}
}
},
"aspectModel": {
"required": [
"aspect",
"ori",
"rdf_resource_identifier",
"rdf_resource_type"
],
"type": "object",
"properties": {
"rdf_resource_identifier": {
"type": "string",
"description": "Identifier of a resource, it may be a class, datatype or object property"
},
"rdf_resource_type": {
"type": "string",
"description": "Either \"class\", \"datatype_property\" or \"object_property\""
},
"aspect": {
"type": "string",
"description": "Either \"time_series\", \"embedded\", \"indexed\" or \"spatial\"",
"default": "time_series"
},
"ori": {
"type": "string",
"description": "The data of the ontology you want to add, it must respect the OWL format. The ontology may include individual but the system will guess they are to be used by everyone, thus, their namespace will be declared as the default one."
}
}
},
"errorModel": {
"type": "object",
"properties": {
"code": {
"type": "integer"
},
"label": {
"type": "string"
}
}
},
"batchDeletedAvatarModel": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"findAvatarModel": {
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "object",
"properties": {},
"description": "Query for the matching"
},
"edges": {
"type": "boolean",
"description": "Include the links in the response",
"default": true
},
"view": {
"type": "object",
"properties": {},
"description": "Filter the attributes in response"
},
"vars": {
"type": "object",
"properties": {},
"description": "Define variables used in the query. The variables can be used in any string of the query and will be replaced at execution time. In the string, the name of a variable should be surrounded by %."
},
"return": {
"type": "string",
"description": "Return only avatars within this alias"
}
}
},
"findAvatarAndValuesModel": {
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "object",
"properties": {},
"description": "Query for the matching"
},
"edges": {
"type": "boolean",
"description": "Include the links in the response",
"default": true
},
"view": {
"type": "object",
"properties": {},
"description": "Filter the attributes in response"
},
"vars": {
"type": "object",
"properties": {},
"description": "Define variables used in the query. The variables can be used in any string of the query and will be replaced at execution time. In the string, the name of a variable should be surrounded by %."
},
"return": {
"description": "Return avatars and/or values formatted according to this payload",
"$ref": "#/components/schemas/avatarAndValuesReturnModel"
}
}
},
"findAvatarCypherModel": {
"type": "object",
"required": [
"cypher"
],
"properties": {
"cypher": {
"type": "object",
"properties": {},
"description": "Query for the matching in cypher format"
},
"edges": {
"type": "boolean",
"description": "Include the links in the response",
"default": true
},
"view": {
"type": "object",
"properties": {},
"description": "Filter the attributes in response"
}
}
},
"tfindAvatarModel": {
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "object",
"properties": {},
"description": "Query for the matching"
},
"edges": {
"type": "boolean",
"description": "Include the links in the response",
"default": true
},
"view": {
"type": "object",
"properties": {},
"description": "Filter the attributes in response"
},
"vars": {
"type": "object",
"properties": {},
"description": "Define variables used in the query. The variables can be used in any string of the query and will be replaced at execution time. In the string, the name of a variable should be surrounded by %."
},
"targeted_domains": {
"type": "array",
"description": "list of domains impacted by this tfind",
"items": {
"type": "string",
"description": "domain IRI"
}
}
}
},
"findAndUpdateAvatarModel": {
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "object",
"properties": {},
"description": "Query for the matching"
},
"vars": {
"type": "object",
"properties": {},
"description": "Define variables used in the query. The variables can be used in any string of the query and will be replaced at execution time. In the string, the name of a variable should be surrounded by %."
},
"return": {
"type": "string",
"description": "Return only avatars within this alias"
}
}
},
"findFederatedAvatarModel": {
"type": "object",
"required": [
"query"
],
"properties": {
"from": {
"type": "array",
"description": "list of tipod IDs",
"items": {
"type": "string",
"description": "tipod ID"
}
},
"query": {
"type": "object",
"properties": {},
"description": "Query for the matching"
},
"edges": {
"type": "boolean",
"description": "Include the links in the response",
"default": true
},
"view": {
"type": "object",
"properties": {},
"description": "Filter the attributes in response"
},
"vars": {
"type": "object",
"properties": {},
"description": "Define variables used in the query. The variables can be used in any string of the query and will be replaced at execution time. In the string, the name of a variable should be surrounded by %."
},
"return": {
"type": "string",
"description": "Return only avatars within this alias"
}
}
},
"aclListModel": {
"type": "object",
"properties": {
"acls": {
"type": "array",
"description": "list of acl",
"items": {
"$ref": "#/components/schemas/aclModel"
}
}
}
},
"aclCreateModel": {
"required": [
"desc",
"statements"
],
"type": "object",
"properties": {
"statements": {
"type": "array",
"description": "list of statements",
"items": {
"$ref": "#/components/schemas/statementModel"
}
},
"desc": {
"type": "string",
"description": "description"
}
}
},
"acFindModelItem": {
"required": [
"uuid"
],
"type": "object",
"properties": {
"rev": {
"type": "string",
"description": "version of this access control to track changes about its rights"
},
"uuid": {
"type": "string",
"description": "uuid of the access control (unique)"
}
}
},
"clusterCreateModel": {
"required": [
"desc",
"label"
],
"type": "object",
"properties": {
"subClusters": {
"type": "array",
"description": "list of cluster uuid nested in this cluster",
"items": {
"type": "string",
"description": "uuid of cluster"
}
},
"label": {
"type": "string",
"description": "label"
},
"managers": {
"type": "array",
"description": "list of user uuids managing this cluster",
"items": {
"type": "string",
"description": "uuid of user"
}
},
"avatars": {
"type": "array",
"description": "list of avatar iri of this cluster",
"items": {
"type": "string",
"description": "iri of avatar"
}
},
"desc": {
"type": "string",
"description": "description"
}
}
},
"roleModel": {
"required": [
"name"
],
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "name of the role (unique)"
},
"description": {
"type": "string",
"description": "description of the use of this role"
}
}
},
"labelModel": {
"required": [
"name"
],
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "name of the label (unique, should be a URN)"
},
"description": {
"type": "string",
"description": "description of the use of this label"
},
"type": {
"type": "string",
"description": "label application type : instance (on avatar itself), property (as property on avatar or property relation), relationship (on relationship)",
"enum": [
"instance",
"property",
"relation"
]
}
}
},
"relationshipModel": {
"required": [
"sourceIRI",
"targetIRI",
"label"
],
"type": "object",
"properties": {
"sourceIRI": {
"type": "string",
"description": "IRI of the avatar at the start of the relationship"
},
"targetIRI": {
"type": "string",
"description": "IRI of the avatar at the end of the relationship"
},
"label": {
"type": "string",
"description": "label of the relationship (could be an object property or relationship label)"
},
"properties": {
"type": "object",
"description": "key-value maps giving the properties of the relationship"
}
}
},
"relationshipUuidModel": {
"required": [
"sourceUUID",
"targetUUID",
"label"
],
"type": "object",
"properties": {
"sourceUUID": {
"type": "string",
"description": "UUID of the avatar at the start of the relationship"
},
"targetUUID": {
"type": "string",
"description": "UUID of the avatar at the end of the relationship"
},
"label": {
"type": "string",
"description": "label of the relationship (could be an object property or relationship label)"
},
"properties": {
"type": "object",
"description": "key-value maps giving the properties of the relationship"
}
}
},
"updateRelationModel": {
"type": "object",
"properties": {
"properties": {
"type": "object",
"description": "key-value maps giving the properties of the relationship. set a property value to null to remove it"
}
}
},
"clusterAvatarRemoveModel": {
"type": "object",
"properties": {
"avatars": {
"type": "array",
"description": "list of avatar iri.s in this cluster",
"items": {
"type": "string",
"description": "iri of avatar"
}
}
}
},
"batchAvatarRemoveModel": {
"type": "object",
"properties": {
"avatars": {
"type": "array",
"description": "list of avatar uuid.s",
"items": {
"type": "string",
"description": "uuid of avatar"
}
}
}
},
"internalUserUpdateModel": {
"required": [
"desc",
"pwd"
],
"type": "object",
"properties": {
"pwd": {
"type": "string",
"description": "password"
},
"desc": {
"type": "string",
"description": "description"
}
}
},
"aclAvatarLinkModel": {
"type": "object",
"properties": {
"avatar_iri": {
"type": "array",
"description": "list of avatar iri to link to the ACL",
"items": {
"type": "string",
"description": "iri of avatar"
}
},
"avatar_uuid": {
"type": "array",
"description": "list of avatar uuid to link to the ACL",
"items": {
"type": "string",
"description": "uuid of avatar"
}
},
"ignore_conflicts": {
"type": "boolean",
"description": "if true, ignore conflictuous avatars. By default set to false. They will be referenced in response body"
}
}
},
"aclBlobLinkModel": {
"type": "object",
"properties": {
"blob_uuids": {
"type": "array",
"description": "list of blob uuid to link to the ACL",
"items": {
"type": "string",
"description": "uuid of blob"
}
},
"ignore_conflicts": {
"type": "boolean",
"description": "if true, ignore conflictuous blobs. By default set to false. They will be referenced in response body "
}
}
},
"blobUpdate": {
"type": "object",
"properties": {
"tags": {
"type": "array",
"description": "list of tags to a blob",
"items": {
"type": "string",
"description": "uuid of blob"
}
},
"description": {
"type": "string",
"description": "new blob description"
}
}
},
"internalUserModel": {
"required": [
"desc",
"login"
],
"type": "object",
"properties": {
"login": {
"type": "string",
"description": "login"
},
"desc": {
"type": "string",
"description": "description"
}
}
},
"userModel": {
"required": [
"domains",
"external_provider",
"external_uuid",
"uuid"
],
"type": "object",
"properties": {
"domains": {
"type": "array",
"description": "domains of reference",
"items": {
"type": "string",
"description": "a domain"
}
},
"uuid": {
"type": "string",
"description": "unique id of a user"
},
"roles": {
"type": "array",
"description": "list of roles",
"items": {
"type": "string",
"description": "name of role"
}
},
"rev": {
"type": "string",
"description": "version of this user to track changes about his roles"
},
"external_uuid": {
"type": "string",
"description": "uuid of the user inside the external provider"
},
"external_provider": {
"type": "string",
"description": "code name of the external provider"
},
"display_name": {
"type": "string",
"description": "name in web portail"
}
}
},
"rightModel": {
"required": [
"action",
"role",
"type"
],
"type": "object",
"properties": {
"action": {
"type": "string",
"description": "action name"
},
"type": {
"type": "string",
"description": "type of the role (DENIED | ALLOW | SELF | OWNER | DOMAIN)"
},
"role": {
"type": "string",
"description": "name of the role"
}
}
},
"ruleModel": {
"required": [
"resources"
],
"type": "object",
"properties": {
"action": {
"type": "array",
"description": "list of actions",
"items": {
"type": "string",
"description": "an action name",
"example": "Read",
"enum": [
"Read",
"Update",
"Delete"
]
}
},
"params": {
"type": "object",
"properties": {},
"description": "params of the effect function"
},
"effect": {
"type": "string",
"description": "an effect name",
"example": "Allow",
"enum": [
"Allow",
"Deny",
"Blur"
]
},
"resources": {
"type": "array",
"description": "list of resources",
"items": {
"type": "string",
"description": "a resource name pattern"
}
}
}
},
"akRevokeModel": {
"required": [
"accesskey"
],
"type": "object",
"properties": {
"accesskey": {
"type": "string",
"description": "jwt"
}
}
},
"securityGroupUserAddModel": {
"type": "object",
"properties": {
"users": {
"type": "array",
"description": "list of user uuid in this security group",
"items": {
"type": "string",
"description": "uuid of user"
}
}
}
},
"securityGroupListModel": {
"type": "object",
"properties": {
"securityGroups": {
"type": "array",
"description": "list of security groups",
"items": {
"$ref": "#/components/schemas/securityGroupModel"
}
}
}
},
"clusterListModel": {
"type": "object",
"properties": {
"clusters": {
"type": "array",
"description": "list of clusters",
"items": {
"$ref": "#/components/schemas/clusterModel"
}
}
}
},
"securityGroupModel": {
"required": [
"desc",
"owner",
"uuid"
],
"type": "object",
"properties": {
"owner": {
"type": "string",
"description": "uuid of the owner of this security group"
},
"avatars": {
"type": "array",
"description": "list of avatar iri in this security group",
"items": {
"type": "string",
"description": "iri of avatar"
}
},
"users": {
"type": "array",
"description": "list of user uuids in this security group",
"items": {
"type": "string",
"description": "uuid of user"
}
},
"uuid": {
"type": "string",
"description": "unique id of a security group"
},
"desc": {
"type": "string",
"description": "description"
}
}
},
"serverErrorModel": {
"type": "object",
"properties": {
"error": {
"type": "string",
"description": "The detail about the error message",
"default": "Something wrong happened"
}
}
},
"error": {
"type": "object",
"properties": {
"message": {
"type": "string",
"description": "The detail about the error message"
},
"reason": {
"type": "string",
"description": "Reason of the error"
},
"status": {
"type": "integer",
"description": "Reason of the error"
}
}
},
"acFindModel": {
"type": "object",
"properties": {
"accesscontrols": {
"type": "array",
"description": "list of access control id",
"items": {
"$ref": "#/components/schemas/acFindModelItem"
}
}
}
},
"acModel": {
"required": [
"uuid"
],
"type": "object",
"properties": {
"rev": {
"type": "string",
"description": "version of this access control to track changes about its rights"
},
"uuid": {
"type": "string",
"description": "uuid of the access control (unique)"
},
"rights": {
"type": "array",
"description": "list of rights to give by this access control",
"items": {
"$ref": "#/components/schemas/rightModel"
}
}
}
},
"SizeFormat": {
"type": "object",
"properties": {
"size": {
"type": "number"
},
"unit": {
"type": "string",
"enum": [
"bytes",
"KB",
"MB",
"GB",
"TB"
]
}
}
},
"blobstats": {
"type": "object",
"properties": {
"number_of_files": {
"type": "integer"
},
"total_size": {
"$ref": "#/components/schemas/SizeFormat"
},
"smallest_file_size": {
"$ref": "#/components/schemas/SizeFormat"
},
"largest_file_size": {
"$ref": "#/components/schemas/SizeFormat"
}
}
},
"blob": {
"required": [
"contentLength",
"contentType",
"mimetype",
"owner",
"timestamp",
"url",
"uuid"
],
"type": "object",
"properties": {
"uuid": {
"type": "string",
"description": "uuid of the blob"
},
"owner": {
"type": "string",
"description": "uuid of the owner of the blob"
},
"description": {
"type": "string",
"description": "a description of the blob"
},
"mimetype": {
"type": "string",
"description": "The mimetype as detected by the server"
},
"contentType": {
"type": "string",
"description": "The content type as detected by the server"
},
"contentLength": {
"type": "number",
"description": "The size of the blob in octets"
},
"url": {
"type": "string",
"description": "An URL where the blob can be downloaded"
},
"timestamp": {
"type": "number",
"description": "timestamp of the registration of the blob"
}
}
},
"blobs": {
"required": [
"index",
"items",
"size"
],
"type": "object",
"properties": {
"index": {
"type": "integer",
"description": "index of the page"
},
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/blob"
}
},
"size": {
"type": "integer",
"description": "number of items in this page"
}
},
"description": "A blob list"
},
"BlobAvatarIRIs": {
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"avatar_iris": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"description": "List of iris of avatars linked to a blob"
},
"avatarBlobLinkModel": {
"required": [
"blob_uuid"
],
"type": "object",
"properties": {
"blob_uuid": {
"type": "string",
"description": "the uuid of the blob"
},
"avatar_iris": {
"type": "array",
"description": "list of avatar iris to link to the blob",
"items": {
"type": "string"
}
},
"avatar_uuids": {
"type": "array",
"description": "list of avatar uuids to link to the blob",
"items": {
"type": "string"
}
},
"ignore_conflicts": {
"type": "boolean",
"description": "if true, ignore conflictuous avatar/blob link. By default set to false. Conflictuous avatars uuids and iri will be referenced in response body"
}
},
"description": "Payload model to link avatars to a blob. At least one of avatar_uuids and avatar_iris should be non empty"
},
"avatarBlobUnlinkModel": {
"required": [
"blob_uuid"
],
"type": "object",
"properties": {
"blob_uuid": {
"type": "string",
"description": "the uuid of the blob"
},
"avatar_iris": {
"type": "array",
"description": "list of avatar iris to link to the blob",
"items": {
"type": "string"
}
},
"avatar_uuids": {
"type": "array",
"description": "list of avatar uuids to link to the blob",
"items": {
"type": "string"
}
}
},
"description": "Payload model to unlink avatars to a blob. At least one of avatar_uuids and avatar_iris should be non empty"
},
"userPageModel": {
"required": [
"index",
"items",
"size"
],
"type": "object",
"properties": {
"index": {
"type": "integer",
"description": "index of the page"
},
"items": {
"type": "array",
"description": "user items of this page",
"items": {
"$ref": "#/components/schemas/userModel"
}
},
"size": {
"type": "integer",
"description": "number of items in this page"
}
}
},
"akitem": {
"required": [
"jwt",
"uuid"
],
"type": "object",
"properties": {
"jwt": {
"type": "string",
"description": "java web token"
},
"uuid": {
"type": "string",
"description": "ak id"
}
}
},
"roleListModel": {
"type": "object",
"properties": {
"roles": {
"type": "array",
"description": "list of roles",
"items": {
"type": "string",
"description": "name of role"
}
},
"domains": {
"type": "array",
"description": "list of domains",
"items": {
"type": "string",
"description": "domain"
}
}
}
},
"akCreateModel": {
"type": "object",
"properties": {
"domains": {
"type": "array",
"description": "domain allowed by the access key",
"items": {
"type": "string",
"description": "domain"
}
},
"scopes": {
"type": "array",
"description": "roles of the user",
"items": {
"type": "string",
"description": "role"
}
}
}
},
"findAndDeleteAvatarModel": {
"type": "object",
"properties": {
"query": {
"type": "object",
"properties": {},
"description": "Query for the matching"
}
}
},
"userDomainModel": {
"required": [
"domains"
],
"type": "object",
"properties": {
"domains": {
"type": "array",
"description": "domains of reference",
"items": {
"type": "string",
"description": "a domain"
}
}
}
},
"clusterAvatarAddModel": {
"type": "object",
"properties": {
"avatars": {
"type": "array",
"description": "list of avatar iri in this cluster",
"items": {
"type": "string",
"description": "iri of avatar"
}
}
}
},
"rolePageModel": {
"required": [
"index",
"items",
"size",
"total_items"
],
"type": "object",
"properties": {
"total_items": {
"type": "integer",
"description": "total number of items"
},
"index": {
"type": "integer",
"description": "index of the page"
},
"items": {
"type": "array",
"description": "role items of this page",
"items": {
"$ref": "#/components/schemas/roleModel"
}
},
"size": {
"type": "integer",
"description": "number of items in this page"
}
}
},
"labelPageModel": {
"required": [
"index",
"items",
"size"
],
"type": "object",
"properties": {
"index": {
"type": "integer",
"description": "offset of the first item"
},
"items": {
"type": "array",
"description": "label items of this page",
"items": {
"$ref": "#/components/schemas/labelModel"
}
},
"size": {
"type": "integer",
"description": "number of items in this page"
}
}
},
"rightListModel": {
"type": "object",
"properties": {
"rights": {
"type": "array",
"description": "list of rights to give by this access control",
"items": {
"$ref": "#/components/schemas/rightModel"
}
}
}
},
"statementModel": {
"required": [
"condition",
"rules"
],
"type": "object",
"properties": {
"rules": {
"type": "array",
"description": "list of rules",
"items": {
"$ref": "#/components/schemas/ruleModel"
}
},
"condition": {
"type": "object",
"properties": {},
"description": "condition expression. See documentation"
}
}
},
"clusterModel": {
"required": [
"desc",
"label",
"owner",
"uuid"
],
"type": "object",
"properties": {
"managers": {
"type": "array",
"description": "list of user uuids managing this cluster",
"items": {
"type": "string",
"description": "uuid of user"
}
},
"uuid": {
"type": "string",
"description": "unique id of a cluster"
},
"subClusters": {
"type": "array",
"description": "list of cluster uuid nested in this cluster",
"items": {
"type": "string",
"description": "uuid of cluster"
}
},
"avatars": {
"type": "array",
"description": "list of avatar iri of this cluster",
"items": {
"type": "string",
"description": "iri of avatar"
}
},
"label": {
"type": "string",
"description": "label"
},
"owner": {
"type": "string",
"description": "uuid of the owner of this cluster"
},
"desc": {
"type": "string",
"description": "description"
}
}
},
"idpCreateModel": {
"required": [
"auth_url",
"name",
"validation_endpoint"
],
"type": "object",
"properties": {
"validation_endpoint": {
"type": "string",
"description": "validation endpoint of token coming from this idp"
},
"auth_url": {
"type": "string",
"description": "auth url"
},
"name": {
"type": "string",
"description": "name of the idp"
}
}
},
"securityGroupAvatarAddModel": {
"required": [
"force"
],
"type": "object",
"properties": {
"force": {
"type": "boolean",
"description": "true => move the avatar if it already has a security group"
},
"avatars": {
"type": "array",
"description": "list of avatar iri in this security group",
"items": {
"type": "string",
"description": "iri of avatar"
}
}
}
},
"securityGroupAvatarRemoveModel": {
"type": "object",
"properties": {
"avatars": {
"type": "array",
"description": "list of avatar iri in this security group",
"items": {
"type": "string",
"description": "iri of avatar"
}
}
}
},
"aclAvatarUnlinkModel": {
"type": "object",
"properties": {
"avatar_iri": {
"type": "array",
"description": "list of avatar iri to unlink",
"items": {
"type": "string",
"description": "iri of avatar"
}
},
"avatar_uuid": {
"type": "array",
"description": "list of avatar uuid to unlink to the ACL",
"items": {
"type": "string",
"description": "uuid of avatar"
}
}
}
},
"aclBlobUnlinkModel": {
"type": "object",
"properties": {
"blob_uuids": {
"type": "array",
"description": "list of blob uuids to unlink",
"items": {
"type": "string",
"description": "uuid of a blob"
}
}
}
},
"internalUserkListModel": {
"required": [
"index",
"items",
"size",
"page_size"
],
"type": "object",
"properties": {
"page_size": {
"type": "integer",
"description": "max size of a response page."
},
"index": {
"type": "integer",
"description": "index of the page"
},
"items": {
"type": "array",
"description": "user items of this page",
"items": {
"$ref": "#/components/schemas/internalUserModel"
}
},
"size": {
"type": "integer",
"description": "number of items in this page"
}
}
},
"triggerModel": {
"required": [
"response",
"target",
"trigger_type",
"user_data",
"validity"
],
"type": "object",
"properties": {
"trigger_type": {
"type": "string",
"description": "Id to refer the notifications into the websocket channel.",
"enum": [
"AvatarCreated",
"AvatarUpdated",
"AvatarDeleted",
"ObjectPropertyTimeout"
]
},
"validity": {
"type": "integer",
"description": "Trigger validity delay in milliseconds, between 10000 (10s) and 86400000 (24h).",
"example": 20000
},
"user_data": {
"type": "string",
"description": "A field for your own use which will be sent back in notifications",
"example": "my date for example an internal reference"
},
"target": {
"required": [
"domain"
],
"type": "object",
"properties": {
"domain": {
"type": "string",
"description": "Avatars domain from which you want to receive notifications. It takes into account all domains starting with the specified value",
"example": "http://www.example.com"
},
"iri": {
"type": "string",
"description": "if you want to focus on a particular avatar IRI. This iri must of course belongs to the specified domain"
}
},
"description": "Scope of the trigger, domain or avatar to focus on."
},
"response": {
"required": [
"with_data"
],
"type": "object",
"properties": {
"with_data": {
"type": "boolean",
"description": "true if you want each notification to contain full avatar description with object properties target avatar description",
"example": false
}
},
"description": "Level of desired details for sent notifications."
},
"webhook": {
"required": [
"url"
],
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "The URL of your listening webhook",
"example": "https://my-wonderful-http-server/xx-42-yy"
}
},
"description": "If provided, it describes the target URL to which the Thing in platform will send the notification. If not provided, the trigger is assumed to be a websocket one, and you'll get the websocket endpoint information in the response."
},
"object_property_target": {
"required": [
"iri",
"timeout"
],
"type": "object",
"properties": {
"iri": {
"type": "string",
"description": "Object properties iri to be notified if an avatar spent too much time on it. Only http://orange-labs.fr/fog/ont/transport.owl#isIn is supported.",
"example": "http://orange-labs.fr/fog/ont/transport.owl#isIn"
},
"timeout": {
"type": "integer",
"description": "Maximum amount of time in milliseconds, and avatar can stay with given object properties iri.",
"example": 3600000
}
},
"description": "Only for trigger_type == ObjectPropertyTimeout, it allows to provide the relationship parameters from which to receive timeout notifications."
}
}
},
"triggerResponseModel": {
"description": "Trigger detailed information",
"allOf": [
{
"$ref": "#/components/schemas/triggerModel"
},
{
"required": [
"created_on",
"expires_on",
"uuid"
],
"type": "object",
"properties": {
"uuid": {
"type": "string",
"description": "Trigger generated universal unique identifier",
"example": "5c2367d8-74b0-43c8-b08b-10293973c580"
},
"created_on": {
"type": "integer",
"description": "Epoch in milliseconds when it has been created"
},
"expires_on": {
"type": "integer",
"description": "Epoch in milliseconds when it will expired"
},
"websocket": {
"required": [
"url",
"uuid"
],
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "websocket endpoint",
"example": "ws://90.84.192.62:8888/connect/5c2367d8-74b0-43c8-b08b-10293973c580"
},
"uuid": {
"type": "string",
"description": "websocket identifier which is equal to the trigger one",
"example": "5c2367d8-74b0-43c8-b08b-10293973c580"
}
}
}
}
}
]
},
"triggerListResponseModel": {
"type": "array",
"items": {
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/triggerResponseModel"
},
{
"type": "object"
}
]
}
},
"clusterManagerAddModel": {
"type": "object",
"properties": {
"managers": {
"type": "array",
"description": "list of manager uuid",
"items": {
"type": "string",
"description": "uuid of user"
}
}
}
},
"internalUserCreateModel": {
"required": [
"desc",
"domains",
"login",
"pwd",
"roles"
],
"type": "object",
"properties": {
"roles": {
"type": "array",
"description": "list of roles",
"items": {
"type": "string",
"description": "name of role"
}
},
"login": {
"type": "string",
"description": "user login"
},
"pwd": {
"type": "string",
"description": "password, should contain at least 8 characters, with at least 1 lowercase, 1 uppercase, 1 digit, 1 special_char in _#&$!?%, no space or other character"
},
"domains": {
"type": "array",
"description": "domains of reference, default []",
"items": {
"type": "string",
"description": "a domain"
}
},
"desc": {
"type": "string",
"description": "description"
}
}
},
"federatedModel": {
"type": "object",
"properties": {
"local_result": {
"type": "object",
"description": "local results for this tipod",
"$ref": "#/components/schemas/DataModel"
},
"remote_results": {
"type": "array",
"items": {
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/DataModel"
},
{
"type": "object"
}
]
}
}
}
},
"DataModel": {
"required": [
"page_size",
"size"
],
"type": "object",
"properties": {
"index": {
"type": "integer",
"description": "index of the first element in the whole response list."
},
"page_size": {
"type": "integer",
"description": "max size of a response page."
},
"size": {
"type": "integer",
"description": "number of avatar in this response."
},
"next": {
"type": "string",
"description": "url to get the next page."
},
"items": {
"type": "array",
"description": "list of avatars",
"items": {
"$ref": "#/components/schemas/avatarModel"
}
},
"nodes": {
"type": "array",
"description": "list of avatars in ziggy-json",
"items": {
"$ref": "#/components/schemas/avatarModelZiggy"
}
},
"links": {
"type": "array",
"description": "list of links in ziggy-json",
"items": {
"$ref": "#/components/schemas/linkModel"
}
}
}
},
"avatarModel": {
"required": [
"_classes",
"_depth",
"_domain",
"_iri",
"_static",
"_uuid",
"_visibility"
],
"type": "object",
"additionalProperties": true,
"properties": {
"_depth": {
"type": "integer",
"description": "Depth of the avatar in the graph analysis"
},
"_uuid": {
"type": "string",
"description": "UUID of the avatar"
},
"_iri": {
"type": "string",
"description": "IRI of the avatar"
},
"_domain": {
"type": "string",
"description": "Domain of the avatar"
},
"_classes": {
"type": "array",
"description": "list of classes of the avatar",
"items": {
"type": "string",
"description": "class name"
}
},
"_creationDate": {
"type": "integer",
"format": "int64",
"description": "Timestamp of the creation of the avatar"
},
"_last_updated": {
"type": "integer",
"format": "int64",
"description": "Timestamp of the last update of the avatar"
},
"_static": {
"type": "boolean",
"description": "true if the avatar is defined in an ontology"
},
"_visibility": {
"type": "integer",
"description": "visibility of the avatar"
},
"_hasBlobs": {
"type": "integer",
"description": "Number of blobs linked to this avatar"
},
"_owner": {
"type": "string",
"description": "Uuid of the owner of the avatar"
},
"_group": {
"type": "string",
"description": "Uuid of the Security Group of the avatar"
},
"_acl": {
"type": "string",
"description": "Uuid of the ACL linked to this avatar"
},
"_clusters": {
"type": "array",
"description": "Clusters associated to this avatar",
"items": {
"type": "string",
"description": "cluster uuid"
}
},
"_outE": {
"type": "array",
"description": "outgoing edges from the avatar",
"items": {
"$ref": "#/components/schemas/edgeModel"
}
}
},
"description": "the avatar in a json format. All the defined properties are listed here. Nevertheless, any other properties (data properties or object properties) could be referenced according to the avatar classes."
},
"avatarModelZiggy": {
"required": [
"_classes",
"_depth",
"_domain",
"_iri",
"_static",
"_uuid",
"_visibility"
],
"type": "object",
"additionalProperties": true,
"properties": {
"_depth": {
"type": "integer",
"description": "Depth of the avatar in the graph analysis"
},
"_uuid": {
"type": "string",
"description": "UUID of the avatar"
},
"_iri": {
"type": "string",
"description": "IRI of the avatar"
},
"_domain": {
"type": "string",
"description": "Domain of the avatar"
},
"_classes": {
"type": "array",
"description": "list of classes of the avatar",
"items": {
"type": "string",
"description": "class name"
}
},
"_creationDate": {
"type": "integer",
"format": "int64",
"description": "Timestamp of the creation of the avatar"
},
"_last_updated": {
"type": "integer",
"format": "int64",
"description": "Timestamp of the last update of the avatar"
},
"_static": {
"type": "boolean",
"description": "true if the avatar is defined in an ontology"
},
"_visibility": {
"type": "integer",
"description": "visibility of the avatar"
},
"_hasBlobs": {
"type": "integer",
"description": "Number of blobs linked to this avatar"
},
"_owner": {
"type": "string",
"description": "Uuid of the owner of the avatar"
},
"_group": {
"type": "string",
"description": "Uuid of the Security Group of the avatar"
},
"_acl": {
"type": "string",
"description": "Uuid of the ACL linked to this avatar"
},
"_clusters": {
"type": "array",
"description": "Clusters associated to this avatar",
"items": {
"type": "string",
"description": "cluster uuid"
}
}
},
"description": "the avatar in a json format without edges. All the defined properties is listed here. Nevertheless, any other properties (data properties or object properties) could be referenced according the avatar classes."
},
"edgeModel": {
"required": [
"_targetIRI",
"_label",
"_targetUUID",
"_id"
],
"type": "object",
"properties": {
"_label": {
"type": "string",
"description": "IRI of the object property"
},
"_targetUUID": {
"type": "string",
"description": "UUID of the target avatar"
},
"_targetIRI": {
"type": "string",
"description": "IRI of the target avatar"
},
"_id": {
"type": "string",
"description": "id of the edge"
}
},
"description": "list of avatars to create"
},
"linkModel": {
"required": [
"source",
"target",
"value",
"id"
],
"type": "object",
"properties": {
"source": {
"type": "string",
"description": "UUID of the source avatar"
},
"target": {
"type": "string",
"description": "UUID of the target avatar"
},
"value": {
"type": "string",
"description": "IRI of the object property"
},
"id": {
"type": "string",
"description": "id of the edge"
}
},
"description": "list of links"
},
"DataModel2": {
"type": "array",
"description": "list of avatars to create",
"items": {
"$ref": "#/components/schemas/createAvatarModel"
}
},
"DataModel3": {
"type": "array",
"description": "list of avatars to update",
"items": {
"$ref": "#/components/schemas/updateAvatarModel"
}
},
"DataModelTurtle": {
"type": "string",
"description": "list of avatars to create",
"example": "@prefix eric: <http://www.w3.org/People/EM/contact#> .\n@prefix contact: <http://www.w3.org/2000/10/swap/pim/contact#> .\n@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .\n\neric:me contact:fullName \"Eric Miller\" .\neric:me contact:mailbox <mailto:e.miller123(at)example> .\neric:me contact:personalTitle \"Dr.\" .\neric:me rdf:type contact:Person ."
},
"DataModelNt": {
"type": "string",
"description": "list of avatars to create",
"example": "<http://www.w3.org/People/EM/contact#me> <http://www.w3.org/2000/10/swap/pim/contact#fullName> \"Eric Miller\" .\n<http://www.w3.org/People/EM/contact#me> <http://www.w3.org/2000/10/swap/pim/contact#mailbox> <mailto:e.miller123(at)example> .\n<http://www.w3.org/People/EM/contact#me> <http://www.w3.org/2000/10/swap/pim/contact#personalTitle> \"Dr.\" .\n<http://www.w3.org/People/EM/contact#me> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2000/10/swap/pim/contact#Person> ."
},
"DataModelNq": {
"type": "string",
"description": "list of avatars to create",
"example": "<http://one.example/subject1> <http://one.example/predicate1> <http://one.example/object1> <http://example.org/graph3> . # comments here\n# or on a line by themselves\n_:subject1 <http://an.example/predicate1> \"object1\" <http://example.org/graph1> .\n_:subject2 <http://an.example/predicate2> \"object2\" <http://example.org/graph5> ."
},
"DataModelTrig": {
"type": "string",
"description": "list of avatars to create",
"example": " @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .\n @prefix xsd: <http://www.w3.org/2001/XMLSchema#> .\n @prefix swp: <http://www.w3.org/2004/03/trix/swp-1/> .\n @prefix dc: <http://purl.org/dc/elements/1.1/> .\n @prefix ex: <http://www.example.org/vocabulary#> .\n @prefix : <http://www.example.org/exampleDocument#> .\n \n :G1 { :Monica ex:name \"Monica Murphy\" . \n :Monica ex:homepage <http://www.monicamurphy.org> .\n :Monica ex:email <mailto:monica@monicamurphy.org> .\n :Monica ex:hasSkill ex:Management }\n \n :G2 { :Monica rdf:type ex:Person .\n :Monica ex:hasSkill ex:Programming }\n \n :G3 { :G1 swp:assertedBy _:w1 .\n _:w1 swp:authority :Chris .\n _:w1 dc:date \"2003-10-02\"^^xsd:date . \n :G2 swp:quotedBy _:w2 .\n :G3 swp:assertedBy _:w2 .\n _:w2 dc:date \"2003-09-03\"^^xsd:date .\n _:w2 swp:authority :Chris .\n :Chris rdf:type ex:Person .\n :Chris ex:email <mailto:chris@bizer.de> }"
},
"DataModelTTLStar": {
"type": "string",
"description": "list of avatars to create",
"example": "@base <http://example.org/> .\n@prefix : <#> .\n_:a :name \"Alice\" .\n<< _:a :name \"Alice\" >> :statedBy :bob ."
},
"DataModelJsonLD": {
"type": "object",
"description": "list of avatars to create",
"properties": {
"@context": {
"type": "string",
"example": "https://json-ld.org/contexts/person.jsonld"
},
"@id": {
"type": "string",
"example": "http://dbpedia.org/resource/John_Lennon"
},
"@graph": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DataModelJsonLDNode"
}
}
}
},
"DataModelJsonLDNode": {
"type": "object",
"description": "a jsonld node with attributes",
"properties": {
"@context": {
"type": "string",
"example": "https://json-ld.org/contexts/person.jsonld"
},
"@id": {
"type": "string",
"example": "http://dbpedia.org/resource/John_Lennon"
}
}
},
"DataModelRdfXML": {
"type": "string",
"description": "list of avatars to create",
"example": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<rdf:RDF xmlns:contact=\"http://www.w3.org/2000/10/swap/pim/contact#\" xmlns:eric=\"http://www.w3.org/People/EM/contact#\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n <rdf:Description rdf:about=\"http://www.w3.org/People/EM/contact#me\">\n <contact:fullName>Eric Miller</contact:fullName>\n </rdf:Description>\n <rdf:Description rdf:about=\"http://www.w3.org/People/EM/contact#me\">\n <contact:mailbox rdf:resource=\"mailto:e.miller123(at)example\"/>\n </rdf:Description>\n <rdf:Description rdf:about=\"http://www.w3.org/People/EM/contact#me\">\n <contact:personalTitle>Dr.</contact:personalTitle>\n </rdf:Description>\n <rdf:Description rdf:about=\"http://www.w3.org/People/EM/contact#me\">\n <rdf:type rdf:resource=\"http://www.w3.org/2000/10/swap/pim/contact#Person\"/>\n </rdf:Description>\n</rdf:RDF>"
},
"checkAvatarListResponseModel": {
"type": "array",
"description": "list of avatars with errors",
"items": {
"$ref": "#/components/schemas/checkAvatarResponseModel"
}
},
"accesscontrolGetManagerModel": {
"type": "array",
"description": "list of roles allowed to manage the accesscontrol",
"items": {
"type": "string",
"description": "role"
}
},
"createAvatarModel": {
"required": [
"_iri"
],
"type": "object",
"additionalProperties": true,
"properties": {
"_iri": {
"type": "string",
"description": "IRI of the avatar"
},
"_classes": {
"type": "array",
"description": "list of classes of the avatar",
"items": {
"type": "string",
"description": "class name"
}
}
},
"description": "the avatar in a json format to create. All the defined properties is listed here. Nevertheless, any other properties (data properties or object properties) could be referenced according the avatar classes."
},
"updateAvatarModel": {
"required": [
"_iri"
],
"type": "object",
"additionalProperties": true,
"properties": {
"_iri": {
"type": "string",
"description": "IRI of the avatar"
},
"_uuid": {
"type": "string",
"description": "UUID of the avatar"
},
"_classes": {
"type": "array",
"description": "list of classes of the avatar",
"items": {
"type": "string",
"description": "class name"
}
}
},
"description": "the avatar in a json format to update. Only required properties are listed here. Nevertheless, any other properties (data properties or object properties) could be referenced according the avatar classes."
},
"processModel": {
"required": [
"avatarNumber",
"contentEncoding",
"format",
"createdAvatarNumber",
"createdRelationshipNumber",
"defaultVisibility",
"domains",
"downloadedSize",
"fileSize",
"id",
"description",
"ignoreDuplicateOnCreation",
"lifeTime",
"log",
"registerTime",
"relationshipNumber",
"requesterId",
"resumeTime",
"runner",
"setup",
"status",
"step",
"stopTime",
"unzippedFileSize",
"url"
],
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "the identifier of the process."
},
"description": {
"type": "string",
"description": "description of the process."
},
"requesterId": {
"type": "string",
"description": "the user identifier of the process creator."
},
"domains": {
"type": "array",
"description": "list of domains.",
"items": {
"type": "string",
"description": "a domain name."
}
},
"ignoreDuplicateOnCreation": {
"type": "boolean",
"default": false,
"description": "true if the duplicates should be ignored."
},
"url": {
"type": "string",
"description": "the url of the file that contains the avatars to create."
},
"contentEncoding": {
"type": "string",
"description": "could be gzip | zip if the file is compressed."
},
"format": {
"type": "string",
"description": "the file format. It could be TURTLE | TRIG | N3."
},
"targetDomain": {
"type": "string",
"description": "the domain in which the avatars will be created if their IRIs are relative (and not absolutely defined)"
},
"replaceDomain": {
"type": "array",
"items": {
"type": "array",
"description": "a replacement",
"items": {
"type": "string",
"description": "a domain path"
}
},
"description": "replacement list for avatar domain"
},
"defaultVisibility": {
"type": "integer",
"description": "the visibility to give to created avatars if it is not given by its data properties."
},
"status": {
"type": "string",
"description": "status of the process (STOPPED, RUNNING)."
},
"setup": {
"type": "string",
"description": "the status of setup step (PENDING, QUEUED, DOWNLOADING, UNZIPPING, READY, FAILED)."
},
"step": {
"type": "string",
"description": "the step in which is the running process (INIT, CREATING_AVATARS, CREATING_RELATIONSHIPS, CLEANING, SUCCEED, FAILED)."
},
"runner": {
"type": "string",
"description": "the identifier of the runner of the process."
},
"registerTime": {
"type": "integer",
"description": "timestamp of the creation of the process."
},
"resumeTime": {
"type": "integer",
"description": "timestamp of the last resume of the process."
},
"stopTime": {
"type": "integer",
"description": "timestamp of the last stop of the process."
},
"lifeTime": {
"type": "integer",
"description": "timestamp of the last update of the process (used to verify if the process in not stuck)."
},
"fileSize": {
"type": "integer",
"description": "the size of the file given by its storage server."
},
"downloadedSize": {
"type": "integer",
"description": "the current size of the file (start from 0 to fileSize during the download step). Could bed use by the client to follow the download progress."
},
"unzippedFileSize": {
"type": "integer",
"description": "the current size of the decompressed file (increasing during the unzip step). Could be used by the client to follow the unzip progress."
},
"avatarNumber": {
"type": "integer",
"description": "the total number of avatars to create (computed after the analyze of the file)."
},
"relationshipNumber": {
"type": "integer",
"description": "the total number of relationships to create (computed after the analyze of the file)."
},
"createdAvatarNumber": {
"type": "integer",
"description": "the number of avatars effectively created at CREATING_AVATARS step. Could be used by the client to follow the avatar creation progress."
},
"createdRelationshipNumber": {
"type": "integer",
"description": "the number of relationships effectively created at CREATING_RELATIONSHIPS step. Could be used by the client to follow the relationships creation progress."
},
"log": {
"type": "array",
"description": "log of the process",
"items": {
"type": "string",
"description": "long line"
}
}
},
"description": "the process that manage the creation of avatars in asynchronous way."
},
"createProcessModel": {
"required": [
"url",
"contentEncoding"
],
"type": "object",
"properties": {
"ignoreDuplicateOnCreation": {
"type": "boolean",
"default": false,
"description": "Ignore avatars that already exist"
},
"url": {
"type": "string",
"description": "url of the file in turtle format (can be gzipped)"
},
"description": {
"type": "string",
"description": "description of the process"
},
"defaultVisibility": {
"type": "integer",
"description": "the default visibility if the visibility is not defined in the avatar data properties"
},
"contentEncoding": {
"type": "string",
"description": "should be empty or gzip if the file is gzipped or zip if the file is zipped"
},
"format": {
"type": "string",
"default": "TURTLE",
"description": "should be TURTLE | TRIG | N3"
},
"targetDomain": {
"type": "string",
"description": "the domain in which the avatars will be created if their IRIs are relative (and not absolutely defined)"
},
"replaceDomain": {
"type": "string",
"description": "replace expression for avatar domain. ex : http://dom1/>http://domA/;http://dom2/>http://domB/"
},
"srcUuid": {
"type": "string",
"description": "UUID of an existing source in Thingin. If present this source will be used and other source parameters ignored"
}
},
"description": "the parameters to create a process."
},
"conversionModel": {
"required": [
"code",
"isDeterministic",
"name"
],
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of the function, must respect the following syntax: \"namespace::objectPropertyToBeConverted::domain\" (see https://www.arangodb.com/docs/stable/aql/extending-conventions.html)"
},
"code": {
"type": "string",
"description": "Source code of the function. Minimal structure: \"function(avatar){... return value}\""
},
"isDeterministic": {
"type": "boolean",
"description": "Whether the function is deterministic or not (currently only true is accepted)"
}
},
"description": "arangoDB JS function model (see https://www.arangodb.com/docs/stable/aql/extending.html)"
},
"countAvatarResultModel": {
"required": [
"total_items"
],
"type": "object",
"properties": {
"total_items": {
"type": "integer",
"description": "total number of avatars"
}
},
"description": "Response to an avatar count request"
},
"checkAvatarResponseModel": {
"required": [
"uuid",
"iri",
"property",
"value",
"error"
],
"type": "object",
"properties": {
"uuid": {
"type": "string",
"description": "UUID of the avatar"
},
"iri": {
"type": "string",
"description": "IRI of the avatar"
},
"property": {
"type": "string",
"description": "Name of the property with error"
},
"value": {
"description": "Value of the property with error"
},
"error": {
"type": "string",
"description": "Error description"
}
},
"description": "the avatar in a json format. All the defined properties are listed here. Nevertheless, any other properties (data properties or object properties) could be referenced according to the avatar classes."
},
"getDtInfoModel": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The digital twin UUID",
"readOnly": true
},
"id_on_thingin": {
"type": "string",
"description": "Id of the avatar on thingin"
},
"id_on_platform": {
"type": "string",
"description": "Id of the object on the target platform"
},
"dt_type": {
"type": "string",
"description": "The type of the object"
},
"platform_name": {
"type": "string",
"description": "The name of the platform",
"example": "live_object",
"enum": [
"live_object",
"iotm",
"other"
]
},
"synchronisation": {
"$ref": "#/components/schemas/Synchronisation"
}
}
},
"Synchronisation": {
"required": [
"iot_attributes",
"thingin_attributes"
],
"properties": {
"iot_attributes": {
"type": "array",
"items": {
"$ref": "#/components/schemas/IotAttribute"
}
},
"thingin_attributes": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ThinginAttribute"
}
}
},
"type": "object"
},
"IotAttribute": {
"required": [
"name",
"value"
],
"properties": {
"name": {
"type": "string",
"description": "Name given for the extracted attribute"
},
"value": {
"type": "string",
"description": "JsonPath to extract the value of the attribute"
}
},
"type": "object"
},
"ThinginAttribute": {
"required": [
"frequency_sec",
"name",
"value"
],
"properties": {
"name": {
"type": "string",
"description": "Name of the DP to synchronize in Thingin"
},
"value": {
"type": "string",
"description": "Template to build value"
},
"frequency_sec": {
"type": "number",
"description": "Frequency of the update in sec",
"default": 0
}
},
"type": "object"
},
"createPlatformModel": {
"required": [
"authentication",
"base_url",
"data_get_prefix",
"data_get_suffix",
"description",
"name",
"token_header"
],
"properties": {
"name": {
"type": "string",
"description": "Name of the platform (must be unique)"
},
"description": {
"type": "string",
"description": "Description of the platform"
},
"base_url": {
"type": "string",
"description": "Base URL to access the platform"
},
"data_get_suffix": {
"type": "string",
"description": "Suffix to add to the uuid to access data"
},
"data_get_prefix": {
"type": "string",
"description": "Prefix before the uuid and after the base url to access data"
},
"authentication": {
"type": "string",
"description": "The type of authentication",
"example": "api_key",
"enum": [
"api_key",
"login_password",
"none"
]
},
"token_header": {
"type": "string",
"description": "Header name for token"
}
},
"type": "object"
},
"BackendException": {
"required": [
"errorCode"
],
"type": "object",
"properties": {
"errorCode": {
"type": "string"
}
}
},
"BadFormatException": {
"required": [
"querySyntaxError"
],
"type": "object",
"properties": {
"querySyntaxError": {
"type": "string"
}
}
},
"Envelope": {
"description": "TCypher query results",
"oneOf": [
{
"$ref": "#/components/schemas/EnvelopeFull"
},
{
"$ref": "#/components/schemas/EnvelopeSimple"
}
]
},
"EnvelopeFull": {
"required": [
"header",
"response"
],
"type": "object",
"properties": {
"header": {
"$ref": "#/components/schemas/Header"
},
"response": {
"$ref": "#/components/schemas/ResponseFull"
}
},
"description": "TCYPHER response full format"
},
"EnvelopeSimple": {
"required": [
"header",
"response"
],
"type": "object",
"properties": {
"header": {
"$ref": "#/components/schemas/Header"
},
"response": {
"$ref": "#/components/schemas/ResponseSimple"
}
},
"description": "TCYPHER response simple format"
},
"Format": {
"required": [
"version",
"kind"
],
"type": "object",
"properties": {
"version": {
"type": "string"
},
"kind": {
"type": "string"
}
}
},
"Header": {
"required": [
"format",
"query"
],
"type": "object",
"properties": {
"format": {
"$ref": "#/components/schemas/Format"
},
"query": {
"$ref": "#/components/schemas/Query"
},
"userData": {
"type": "string"
}
},
"description": "Meta data about the executed query and the used response format"
},
"Map_Json": {
"type": "object",
"additionalProperties": {}
},
"Map_ReturnedInstance": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/ReturnedInstance"
}
},
"Map_ReturnedTimedInstance": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/ReturnedTimedInstance"
}
},
"Query": {
"required": [
"timestamp"
],
"type": "object",
"properties": {
"timestamp": {
"type": "string",
"description": "When the query has been executed",
"format": "date-time"
},
"correlationId": {
"type": "string",
"description": "unused",
"format": "uuid"
},
"snapshotTimestamps": {
"type": "array",
"items": {
"type": "string",
"format": "date-time"
},
"description": "The timestamps specified in the TCYPHER query, empty if the query is not a SNAPSHOT query"
},
"timeRangeSlices": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TimeRange"
},
"description": "The time ranges specified in the TCYPHER query, empty if the query is not a RANGE_SLICE query"
},
"leftSliceTimestamp": {
"type": "string",
"description": "the timestamp specified in the TCYPHER QUERY, not set if the query is not a LEFT_SLICE query",
"format": "date-time"
},
"rightSliceTimestamp": {
"type": "string",
"description": "the timestamp specified in the TCYPHER QUERY, not set if the query is not a RIGHT_SLICE query",
"format": "date-time"
}
}
},
"ResponseFull": {
"required": [
"timestamp",
"size"
],
"type": "object",
"properties": {
"timestamp": {
"type": "string",
"description": "When the query has been executed",
"format": "date-time"
},
"size": {
"type": "integer",
"description": "How many results returned in this response",
"format": "int64"
},
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Map_ReturnedTimedInstance"
},
"description": "Query results"
}
},
"description": "Response content in full format"
},
"ResponseSimple": {
"required": [
"timestamp",
"size"
],
"type": "object",
"properties": {
"timestamp": {
"type": "string",
"description": "When the query has been executed",
"format": "date-time"
},
"size": {
"type": "integer",
"description": "How many results returned in this response",
"format": "int64"
},
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Map_ReturnedInstance"
},
"description": "Query results"
}
},
"description": "Response content in simple format"
},
"ReturnedAvatar": {
"required": [
"uuid",
"iri",
"domain",
"source",
"creationDate",
"properties"
],
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"iri": {
"type": "string"
},
"domain": {
"type": "string"
},
"classes": {
"type": "array",
"items": {
"type": "string"
}
},
"labels": {
"type": "array",
"items": {
"type": "string"
}
},
"source": {
"type": "string",
"format": "uuid"
},
"creationDate": {
"type": "string",
"format": "date-time"
},
"properties": {
"$ref": "#/components/schemas/Map_Json"
}
}
},
"ReturnedEdge": {
"required": [
"uuid",
"label",
"originUUID",
"originIRI",
"targetUUID",
"targetIRI",
"properties"
],
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid"
},
"label": {
"type": "string"
},
"originUUID": {
"type": "string",
"format": "uuid"
},
"originIRI": {
"type": "string"
},
"targetUUID": {
"type": "string",
"format": "uuid"
},
"targetIRI": {
"type": "string"
},
"properties": {
"$ref": "#/components/schemas/Map_Json"
}
}
},
"ReturnedInstance": {
"oneOf": [
{
"$ref": "#/components/schemas/ReturnedAvatar"
},
{
"$ref": "#/components/schemas/ReturnedEdge"
},
{
"$ref": "#/components/schemas/ReturnedNumber"
}
]
},
"ReturnedNumber": {
"required": [
"value"
],
"type": "object",
"properties": {
"value": {
"type": "integer",
"format": "int64"
}
}
},
"ReturnedTimedAvatar": {
"required": [
"range",
"avatar"
],
"type": "object",
"properties": {
"range": {
"$ref": "#/components/schemas/TimeRange"
},
"avatar": {
"$ref": "#/components/schemas/ReturnedAvatar"
}
}
},
"ReturnedTimedEdge": {
"required": [
"range",
"edge"
],
"type": "object",
"properties": {
"range": {
"$ref": "#/components/schemas/TimeRange"
},
"edge": {
"$ref": "#/components/schemas/ReturnedEdge"
}
}
},
"ReturnedTimedInstance": {
"oneOf": [
{
"$ref": "#/components/schemas/ReturnedTimedAvatar"
},
{
"$ref": "#/components/schemas/ReturnedTimedEdge"
},
{
"$ref": "#/components/schemas/ReturnedTimedNumber"
}
]
},
"ReturnedTimedNumber": {
"required": [
"range",
"value"
],
"type": "object",
"properties": {
"range": {
"$ref": "#/components/schemas/TimeRange"
},
"value": {
"type": "integer",
"format": "int64"
}
}
},
"TCountResponse": {
"required": [
"total_items"
],
"type": "object",
"properties": {
"total_items": {
"type": "integer",
"description": "Total number of results",
"format": "int64"
}
}
},
"TCypherQuery": {
"required": [
"tcypher"
],
"type": "object",
"properties": {
"tcypher": {
"type": "string",
"description": "The TCYPHER query to execute"
},
"userData": {
"type": "string",
"description": "Some user data which will be available back in the response, not yet implemented"
}
}
},
"TFindPaginatedResponse": {
"required": [
"page_size",
"index",
"next",
"size",
"items"
],
"type": "object",
"properties": {
"page_size": {
"type": "integer",
"description": "Number of items per page",
"format": "int32"
},
"index": {
"type": "integer",
"description": "Retrieved page index",
"format": "int32"
},
"next": {
"type": "string",
"description": "Next page URL link"
},
"size": {
"type": "integer",
"description": "Total number of results or -1 if unknown",
"format": "int32"
},
"items": {
"$ref": "#/components/schemas/Envelope"
}
}
},
"TimeRange": {
"required": [
"start"
],
"type": "object",
"properties": {
"start": {
"type": "string",
"format": "date-time"
},
"end": {
"type": "string",
"format": "date-time"
}
}
}
},
"responses": {
"MaskError": {
"description": "When any error occurs on mask",
"content": {}
},
"ParseError": {
"description": "When a mask can't be parsed",
"content": {}
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment