2026-01-08 10:40:37 +01:00
{
"swagger" : "2.0" ,
"info" : {
"title" : "oc-datacenter" ,
"description" : "Monitor owned datacenter activity\n" ,
"version" : "1.0.0" ,
"termsOfService" : "http://cloud.o-forge.io/" ,
"contact" : {
"email" : "admin@o-cloud.io"
} ,
"license" : {
"name" : "AGPL" ,
"url" : "https://www.gnu.org/licenses/agpl-3.0.html"
}
} ,
2026-04-09 07:49:35 +02:00
"basePath" : "/oc" ,
2026-01-08 10:40:37 +01:00
"paths" : {
"/" : {
"get" : {
"tags" : [
"oc-datacenter/controllersDatacenterController"
] ,
"description" : "find booking by id\n\u003cbr\u003e" ,
"operationId" : "DatacenterController.GetAll" ,
"parameters" : [
2026-04-09 07:49:35 +02:00
{
"in" : "path" ,
"name" : "type" ,
"description" : "the word type you want to get" ,
"required" : true ,
"type" : "string"
} ,
2026-01-08 10:40:37 +01:00
{
"in" : "query" ,
"name" : "is_draft" ,
"description" : "draft wished" ,
"type" : "string"
2026-04-09 07:49:35 +02:00
} ,
2026-01-08 10:40:37 +01:00
{
2026-04-09 07:49:35 +02:00
"in" : "query" ,
"name" : "offset" ,
"description" : "false" ,
2026-01-08 10:40:37 +01:00
"type" : "string"
2026-04-09 07:49:35 +02:00
} ,
2026-01-08 10:40:37 +01:00
{
2026-04-09 07:49:35 +02:00
"in" : "query" ,
"name" : "limit" ,
"description" : "false" ,
2026-01-08 10:40:37 +01:00
"type" : "string"
}
] ,
"responses" : {
"200" : {
2026-04-09 07:49:35 +02:00
"description" : "{booking} models.booking"
2026-01-08 10:40:37 +01:00
}
}
}
} ,
2026-04-09 07:49:35 +02:00
"/allowed-image/" : {
2026-01-08 10:40:37 +01:00
"get" : {
"tags" : [
2026-04-09 07:49:35 +02:00
"allowed-image"
2026-01-08 10:40:37 +01:00
] ,
2026-04-09 07:49:35 +02:00
"description" : "Retourne toutes les images autorisées à persister sur ce peer\n\u003cbr\u003e" ,
"operationId" : "AllowedImageController.GetAll" ,
2026-01-08 10:40:37 +01:00
"parameters" : [
{
2026-04-09 07:49:35 +02:00
"in" : "query" ,
"name" : "offset" ,
"description" : "false" ,
"type" : "string"
} ,
{
"in" : "query" ,
"name" : "limit" ,
"description" : "false" ,
2026-01-08 10:40:37 +01:00
"type" : "string"
}
] ,
"responses" : {
"200" : {
2026-04-09 07:49:35 +02:00
"description" : "" ,
"schema" : {
"type" : "array" ,
"items" : {
"$ref" : "#/definitions/allowed_image.AllowedImage"
}
}
2026-01-08 10:40:37 +01:00
}
}
} ,
"post" : {
"tags" : [
2026-04-09 07:49:35 +02:00
"allowed-image"
2026-01-08 10:40:37 +01:00
] ,
2026-04-09 07:49:35 +02:00
"description" : "Ajoute une image à la liste des images autorisées (peer admin uniquement)\n\u003cbr\u003e" ,
"operationId" : "AllowedImageController.Post" ,
2026-01-08 10:40:37 +01:00
"parameters" : [
{
"in" : "body" ,
2026-04-09 07:49:35 +02:00
"name" : "body" ,
"description" : "Image à autoriser" ,
2026-01-08 10:40:37 +01:00
"required" : true ,
"schema" : {
2026-04-09 07:49:35 +02:00
"$ref" : "#/definitions/allowed_image.AllowedImage"
2026-01-08 10:40:37 +01:00
}
}
] ,
"responses" : {
2026-04-09 07:49:35 +02:00
"200" : {
"description" : "" ,
"schema" : {
"$ref" : "#/definitions/allowed_image.AllowedImage"
}
2026-01-08 10:40:37 +01:00
}
}
}
} ,
2026-04-09 07:49:35 +02:00
"/allowed-image/{id}" : {
"get" : {
2026-01-08 10:40:37 +01:00
"tags" : [
2026-04-09 07:49:35 +02:00
"allowed-image"
2026-01-08 10:40:37 +01:00
] ,
2026-04-09 07:49:35 +02:00
"description" : "Retourne une image autorisée par son ID\n\u003cbr\u003e" ,
"operationId" : "AllowedImageController.Get" ,
2026-01-08 10:40:37 +01:00
"parameters" : [
{
"in" : "path" ,
2026-04-09 07:49:35 +02:00
"name" : "id" ,
"description" : "ID de l'image autorisée" ,
2026-01-08 10:40:37 +01:00
"required" : true ,
"type" : "string"
}
] ,
"responses" : {
2026-04-09 07:49:35 +02:00
"200" : {
"description" : "" ,
"schema" : {
"$ref" : "#/definitions/allowed_image.AllowedImage"
}
2026-01-08 10:40:37 +01:00
}
}
2026-04-09 07:49:35 +02:00
} ,
"delete" : {
2026-01-08 10:40:37 +01:00
"tags" : [
2026-04-09 07:49:35 +02:00
"allowed-image"
2026-01-08 10:40:37 +01:00
] ,
2026-04-09 07:49:35 +02:00
"description" : "Supprime une image de la liste des images autorisées (peer admin uniquement, entrées bootstrap non supprimables)\n\u003cbr\u003e" ,
"operationId" : "AllowedImageController.Delete" ,
2026-01-08 10:40:37 +01:00
"parameters" : [
{
"in" : "path" ,
2026-04-09 07:49:35 +02:00
"name" : "id" ,
"description" : "ID de l'image autorisée" ,
2026-01-08 10:40:37 +01:00
"required" : true ,
"type" : "string"
}
] ,
"responses" : {
"200" : {
2026-04-09 07:49:35 +02:00
"description" : "" ,
"schema" : {
"$ref" : "#/definitions/allowed_image.AllowedImage"
}
2026-01-08 10:40:37 +01:00
}
}
}
} ,
2026-04-09 07:49:35 +02:00
"/logs/{id}" : {
2026-01-08 10:40:37 +01:00
"get" : {
"tags" : [
2026-04-09 07:49:35 +02:00
"oc-datacenter/controllersDatacenterController"
2026-01-08 10:40:37 +01:00
] ,
2026-04-09 07:49:35 +02:00
"description" : "find booking by id\n\u003cbr\u003e" ,
"operationId" : "DatacenterController.Log" ,
2026-01-08 10:40:37 +01:00
"parameters" : [
{
"in" : "path" ,
"name" : "id" ,
2026-04-09 07:49:35 +02:00
"description" : "the id you want to get" ,
2026-01-08 10:40:37 +01:00
"required" : true ,
"type" : "string"
}
] ,
"responses" : {
"200" : {
2026-04-09 07:49:35 +02:00
"description" : "{booking} models.booking"
2026-01-08 10:40:37 +01:00
}
}
}
} ,
2026-04-09 07:49:35 +02:00
"/session/token/{id}/{duration}" : {
2026-01-08 10:40:37 +01:00
"get" : {
"tags" : [
2026-04-09 07:49:35 +02:00
"session"
2026-01-08 10:40:37 +01:00
] ,
"description" : "find booking by id\n\u003cbr\u003e" ,
2026-04-09 07:49:35 +02:00
"operationId" : "SessionController.GetToken" ,
2026-01-08 10:40:37 +01:00
"parameters" : [
{
2026-04-09 07:49:35 +02:00
"in" : "path" ,
"name" : "id" ,
"description" : "id of the datacenter" ,
2026-01-08 10:40:37 +01:00
"type" : "string"
} ,
{
2026-04-09 07:49:35 +02:00
"in" : "path" ,
"name" : "duration" ,
"description" : "duration of the token" ,
2026-01-08 10:40:37 +01:00
"type" : "string"
}
] ,
"responses" : {
"200" : {
2026-04-09 07:49:35 +02:00
"description" : "{booking} models.booking"
2026-01-08 10:40:37 +01:00
}
}
}
} ,
2026-04-09 07:49:35 +02:00
"/version/" : {
2026-01-08 10:40:37 +01:00
"get" : {
"tags" : [
2026-04-09 07:49:35 +02:00
"version"
2026-01-08 10:40:37 +01:00
] ,
2026-04-09 07:49:35 +02:00
"description" : "get version\n\u003cbr\u003e" ,
"operationId" : "VersionController.GetAll" ,
2026-01-08 10:40:37 +01:00
"responses" : {
"200" : {
2026-04-09 07:49:35 +02:00
"description" : ""
2026-01-08 10:40:37 +01:00
}
}
}
} ,
2026-04-09 07:49:35 +02:00
"/version/status" : {
2026-01-08 10:40:37 +01:00
"get" : {
"tags" : [
2026-04-09 07:49:35 +02:00
"version"
2026-01-08 10:40:37 +01:00
] ,
2026-04-09 07:49:35 +02:00
"description" : "get status\n\u003cbr\u003e" ,
"operationId" : "VersionController.Status" ,
2026-01-08 10:40:37 +01:00
"responses" : {
"200" : {
2026-04-09 07:49:35 +02:00
"description" : ""
2026-01-08 10:40:37 +01:00
}
}
}
} ,
2026-04-10 15:20:41 +02:00
"/{type}" : {
"post" : {
"tags" : [
"oc-datacenter/controllersDatacenterController"
] ,
"description" : "search resources across all types\n\u003cbr\u003e" ,
"operationId" : "DatacenterController.Post" ,
"parameters" : [
{
"in" : "path" ,
"name" : "type" ,
"description" : "the type you want to get" ,
"required" : true ,
"type" : "string"
} ,
{
"in" : "body" ,
"name" : "data" ,
"description" : "body for data content (Json format)" ,
"required" : true ,
"schema" : {
"$ref" : "#/definitions/json"
}
}
] ,
"responses" : {
"200" : {
"description" : "{resource} models.resource"
}
}
}
} ,
"/{type}/extended/search" : {
"post" : {
"tags" : [
"oc-datacenter/controllersDatacenterController"
] ,
"description" : "search workspace\n\u003cbr\u003e" ,
"operationId" : "DatacenterController.Search" ,
"parameters" : [
{
"in" : "query" ,
"name" : "is_draft" ,
"description" : "false" ,
"type" : "string"
} ,
{
"in" : "query" ,
"name" : "offset" ,
"description" : "false" ,
"type" : "string"
} ,
{
"in" : "query" ,
"name" : "limit" ,
"description" : "false" ,
"type" : "string"
} ,
{
"in" : "body" ,
"name" : "data" ,
"description" : "body for data content (Json format)" ,
"required" : true ,
"schema" : {
"$ref" : "#/definitions/json"
}
}
] ,
"responses" : {
"200" : {
"description" : "{workspace} models.workspace"
}
}
}
} ,
2026-04-09 07:49:35 +02:00
"/{type}/search/{search}" : {
2026-01-08 10:40:37 +01:00
"get" : {
"tags" : [
2026-04-09 07:49:35 +02:00
"oc-datacenter/controllersDatacenterController"
2026-01-08 10:40:37 +01:00
] ,
2026-04-09 07:49:35 +02:00
"description" : "search datacenter\n\u003cbr\u003e" ,
"operationId" : "DatacenterController.Search" ,
2026-01-08 10:40:37 +01:00
"parameters" : [
{
"in" : "path" ,
2026-04-09 07:49:35 +02:00
"name" : "type" ,
"description" : "the type you want to get" ,
2026-01-08 10:40:37 +01:00
"required" : true ,
"type" : "string"
} ,
{
"in" : "path" ,
2026-04-09 07:49:35 +02:00
"name" : "search" ,
2026-01-08 10:40:37 +01:00
"description" : "the word search you want to get" ,
"required" : true ,
"type" : "string"
} ,
{
"in" : "query" ,
"name" : "is_draft" ,
"description" : "draft wished" ,
"type" : "string"
2026-04-09 07:49:35 +02:00
} ,
{
"in" : "query" ,
"name" : "offset" ,
"description" : "false" ,
"type" : "string"
} ,
{
"in" : "query" ,
"name" : "limit" ,
"description" : "false" ,
"type" : "string"
2026-01-08 10:40:37 +01:00
}
] ,
"responses" : {
"200" : {
"description" : "{workspace} models.workspace"
}
}
}
} ,
2026-04-09 07:49:35 +02:00
"/{type}/{id}" : {
2026-01-08 10:40:37 +01:00
"get" : {
"tags" : [
2026-04-09 07:49:35 +02:00
"oc-datacenter/controllersDatacenterController"
2026-01-08 10:40:37 +01:00
] ,
"description" : "find booking by id\n\u003cbr\u003e" ,
2026-04-09 07:49:35 +02:00
"operationId" : "DatacenterController.Get" ,
2026-01-08 10:40:37 +01:00
"parameters" : [
{
"in" : "path" ,
"name" : "id" ,
"description" : "the id you want to get" ,
"required" : true ,
"type" : "string"
} ,
{
"in" : "path" ,
2026-04-09 07:49:35 +02:00
"name" : "type" ,
"description" : "the word type you want to get" ,
"required" : true ,
2026-01-08 10:40:37 +01:00
"type" : "string"
} ,
{
2026-04-09 07:49:35 +02:00
"in" : "query" ,
"name" : "is_draft" ,
"description" : "draft wished" ,
2026-01-08 10:40:37 +01:00
"type" : "string"
}
] ,
"responses" : {
"200" : {
"description" : "{booking} models.booking"
}
}
2026-04-09 07:49:35 +02:00
} ,
"delete" : {
2026-01-08 10:40:37 +01:00
"tags" : [
"oc-datacenter/controllersDatacenterController"
] ,
"description" : "find booking by id\n\u003cbr\u003e" ,
2026-04-09 07:49:35 +02:00
"operationId" : "DatacenterController.Delete" ,
2026-01-08 10:40:37 +01:00
"parameters" : [
{
"in" : "path" ,
"name" : "id" ,
"description" : "the id you want to get" ,
"required" : true ,
"type" : "string"
} ,
2026-04-09 07:49:35 +02:00
{
"in" : "path" ,
"name" : "type" ,
"description" : "the word type you want to get" ,
"required" : true ,
"type" : "string"
} ,
2026-01-08 10:40:37 +01:00
{
"in" : "query" ,
"name" : "is_draft" ,
"description" : "draft wished" ,
"type" : "string"
}
] ,
"responses" : {
"200" : {
"description" : "{booking} models.booking"
}
}
}
}
} ,
"definitions" : {
2026-04-09 07:49:35 +02:00
"allowed_image.AllowedImage" : {
"title" : "AllowedImage" ,
2026-01-08 10:40:37 +01:00
"type" : "object"
2026-04-10 15:20:41 +02:00
} ,
"json" : {
"title" : "json" ,
"type" : "object"
2026-01-08 10:40:37 +01:00
}
} ,
"tags" : [
{
"name" : "oc-datacenter/controllersDatacenterController" ,
"description" : "Operations about workspace\n"
} ,
{
"name" : "version" ,
"description" : "VersionController operations for Version\n"
} ,
{
2026-04-09 07:49:35 +02:00
"name" : "allowed-image" ,
"description" : "AllowedImageController gère la liste locale des images autorisées à persister\nsur ce peer après l'exécution d'un workflow.\n\nGET /allowed-image/ → tous les utilisateurs authentifiés\nGET /allowed-image/:id → tous les utilisateurs authentifiés\nPOST /allowed-image/ → peer admin uniquement\nDELETE /allowed-image/:id → peer admin uniquement (bloqué si IsDefault)\n"
2026-01-08 10:40:37 +01:00
}
]
}