{ "openapi": "3.0.1", "info": { "title": "Infrahub-API", "version": "1.0" }, "servers": [ { "url": "https://infrahub-api.nexgencloud.com/v1" } ], "tags": [ { "name": "auth", "description": "Authentication APIs using authentik" }, { "name": "organization", "description": "Organizations API" }, { "name": "api key", "description": "API Key" }, { "name": "invite", "description": "Invite APIs" }, { "name": "permission", "description": "Permission APIs" }, { "name": "user permission", "description": "User Permission APIs" }, { "name": "internal", "description": "Internal APIs" }, { "name": "policy", "description": "Policy APIs" }, { "name": "rbac role", "description": "RBAC Role APIs" }, { "name": "assigning member role", "description": "Assigning Member Role APIs" }, { "name": "admin", "description": "API Key" }, { "name": "dashboard", "description": "Dashboard APIs" }, { "name": "stock", "description": "Stock APIs" }, { "name": "environment", "description": "Environment APIs" }, { "name": "virtual machine events", "description": "Virtual Machine Event APIs" }, { "name": "virtual machine", "description": "Virtual Machine APIs" }, { "name": "flavor", "description": "Flavor APIs" }, { "name": "image", "description": "Image APIs" }, { "name": "keypair", "description": "Keypair APIs" }, { "name": "vnc url", "description": "VNC Console Link APIs" }, { "name": "volume", "description": "Volume APIs" }, { "name": "volume attachment", "description": "Volume Attachment APIs" }, { "name": "gpu", "description": "GPU APIs" }, { "name": "callbacks", "description": "Callback APIs" }, { "name": "floating ip", "description": "Floating IP APIs" }, { "name": "internal", "description": "Callback Test" }, { "name": "region", "description": "Region APIs" }, { "name": "template", "description": "Templates APIs" }, { "name": "deployment", "description": "Deployment APIs" }, { "name": "security-rules", "description": "Security Rule APIs" }, { "name": "profile", "description": "Profile APIs" }, { "name": "admin", "description": "Admin APIs" }, { "name": "compliance", "description": "Compliance APIs" }, { "name": "Pricebook", "description": "Pricebook APIs" }, { "name": "Discount", "description": "Discount APIs" }, { "name": "Calculate", "description": "Calculate APIs" }, { "name": "alive" }, { "name": "admin" }, { "name": "billing" }, { "name": "credit" }, { "name": "payment" } ], "paths": { "/api-key": { "get": { "tags": [ "api key" ], "summary": "Get API Key", "operationId": "Get API Key", "responses": { "200": { "description": "Getting API Key success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/API%20Key" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] } }, "/api-key/generate": { "post": { "tags": [ "api key" ], "summary": "Generate API Key", "operationId": "Generate API Key", "responses": { "200": { "description": "API Key generated successfully", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/API%20Key%20generation" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] } ] } }, "/api-key/verify": {}, "/auth/admin/credit-warning-mail/{org_id}": {}, "/auth/admin/data-usages-warning-mail/{org_id}": {}, "/auth/admin/organizations": {}, "/auth/admin/organizations/{id}": {}, "/auth/admin/termination-warning-mail/{org_id}": {}, "/auth/invites": { "get": { "tags": [ "invite" ], "summary": "List Invites", "operationId": "List Invites", "responses": { "200": { "description": "Getting invites successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Invites" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] }, "post": { "tags": [ "invite" ], "summary": "Invite an user to organization", "operationId": "Invite an user to organization", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Invite%20User" } } }, "required": true }, "responses": { "201": { "description": "Inviting user successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Invite" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ], "x-codegen-request-body-name": "payload" } }, "/auth/invites/{id}": { "delete": { "tags": [ "invite" ], "summary": "Delete Invite", "operationId": "Delete Invite", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "Invite deleted successfully", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResponseModel" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] } }, "/auth/logout": {}, "/auth/me": { "get": { "tags": [ "auth" ], "summary": "Get me information", "operationId": "Auth user information", "responses": { "200": { "description": "User Information", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/User%20Info%20Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] } }, "/auth/organizations": { "get": { "tags": [ "organization" ], "summary": "Organization Info", "operationId": "Get organization info", "responses": { "200": { "description": "Successfully retrieved organizations info", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Organization%20Model" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] } }, "/auth/organizations/remove-member": { "post": { "tags": [ "organization" ], "summary": "Remove a member from organization", "operationId": "Remove a member from organization", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Remove%20member" } } }, "required": true }, "responses": { "200": { "description": "The member was removed from your organization", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Remove%20Member%20Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ], "x-codegen-request-body-name": "payload" } }, "/auth/permissions": { "get": { "tags": [ "permission" ], "summary": "List Permissions", "operationId": "List Permissions", "responses": { "200": { "description": "Getting permissions success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Permissions" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] } }, "/auth/permissions/{id}": {}, "/auth/policies": { "get": { "tags": [ "policy" ], "summary": "List Policies", "operationId": "List Policies", "responses": { "200": { "description": "Getting policies success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Policies" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] } }, "/auth/policies/{id}": {}, "/auth/refresh": {}, "/auth/request-login": {}, "/auth/roles": { "get": { "tags": [ "rbac role" ], "summary": "List RBAC Roles", "operationId": "List RBAC Roles", "responses": { "200": { "description": "Getting RBAC roles success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RBAC%20Roles" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] }, "post": { "tags": [ "rbac role" ], "summary": "Create RBAC Role", "operationId": "Create RBAC Role", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RBAC%20Role%20Payload" } } }, "required": true }, "responses": { "201": { "description": "Creating RBAC role success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RBAC%20Role" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ], "x-codegen-request-body-name": "payload" } }, "/auth/roles/{id}": { "get": { "tags": [ "rbac role" ], "summary": "Get a RBAC Role Detail", "operationId": "Get a RBAC Role Detail", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "Getting RBAC role detail success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RBAC%20Role" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] }, "put": { "tags": [ "rbac role" ], "summary": "Update a RBAC Role", "operationId": "Update a RBAC Role", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RBAC%20Role%20Payload" } } }, "required": true }, "responses": { "200": { "description": "RBAC Role updated successfully", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RBAC%20Role" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ], "x-codegen-request-body-name": "payload" }, "delete": { "tags": [ "rbac role" ], "summary": "Delete a RBAC Role", "operationId": "Delete a RBAC Role", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "RBAC Role deleted successfully", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResponseModel" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] } }, "/auth/sendgrid-webhook": {}, "/auth/token": {}, "/auth/users/me/permissions": { "get": { "tags": [ "user permission" ], "summary": "List Current User Permissions", "operationId": "List Current User Permissions", "responses": { "200": { "description": "Getting my permissions successfully", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Permissions%20for%20UserPermission" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] } }, "/auth/users/{id}/permissions": { "get": { "tags": [ "user permission" ], "summary": "List User Permissions", "operationId": "List User Permissions", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "Getting user permissions successfully", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Permissions%20for%20UserPermission" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "405": { "description": "Method Not Allowed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] } }, "/auth/users/{user_id}/assign-roles": { "put": { "tags": [ "assigning member role" ], "summary": "Assign RBAC Roles", "operationId": "Assign RBAC Roles", "parameters": [ { "name": "user_id", "in": "path", "required": true, "schema": { "type": "integer" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Assign%20RBAC%20Role%20Payload" } } }, "required": true }, "responses": { "200": { "description": "Assigning RBAC Role success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RBAC%20Role" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ], "x-codegen-request-body-name": "payload" } }, "/auth/users/{user_id}/roles": { "delete": { "tags": [ "assigning member role" ], "summary": "Remove role from a user", "operationId": "Remove role from a user", "parameters": [ { "name": "user_id", "in": "path", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "RBAC member role deleted successfully", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResponseModel" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] } }, "/internal/users/{id}/permissions": {}, "/core/admin/keypairs": {}, "/core/admin/organizations/{id}/hibernate": {}, "/core/admin/resources": {}, "/core/admin/resources/{id}": {}, "/core/admin/virtual-machines": {}, "/core/admin/virtual-machines/{id}": {}, "/core/admin/virtual-machines/{id}/stop": {}, "/core/admin/virtual-machines/{virtual_machine_id}/events": {}, "/core/admin/virtual-machines/{virtual_machine_id}/hibernate": {}, "/core/admin/virtual-machines/{virtual_machine_id}/hibernate-restore": {}, "/core/compliance": { "get": { "tags": [ "compliance" ], "summary": "Get Compliance List", "operationId": "Get Compliance List", "parameters": [ { "name": "gpu", "in": "query", "description": "This is for gpu model", "schema": {} } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ComplianceResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "406": { "description": "Not Acceptable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] }, "put": { "tags": [ "compliance" ], "summary": "Update a compliance", "operationId": "Update a compliance", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CompliancePayload" } } }, "required": true }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateUpdateComplianceResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "405": { "description": "Method Not Allowed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ], "x-codegen-request-body-name": "payload" }, "post": { "tags": [ "compliance" ], "summary": "Create Compliance", "operationId": "Create Compliance", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CompliancePayload" } } }, "required": true }, "responses": { "201": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateUpdateComplianceResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "405": { "description": "Method Not Allowed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ], "x-codegen-request-body-name": "payload" } }, "/core/compliance/{gpu_model}": { "delete": { "tags": [ "compliance" ], "summary": "Delete a compliance", "operationId": "Delete a compliance", "parameters": [ { "name": "gpu_model", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResponseModel" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] } }, "/core/dashboard": { "get": { "tags": [ "dashboard" ], "summary": "Get Instances, Containers and Volumes Overview", "operationId": "Get Instances, Containers and Volumes Overview", "responses": { "200": { "description": "Getting dashboard info success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Dashboard%20Info%20Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] } }, "/core/environments": { "get": { "tags": [ "environment" ], "summary": "List Environments", "operationId": "List Environments", "responses": { "200": { "description": "Getting environments successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Environments" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] }, "post": { "tags": [ "environment" ], "summary": "Create Environment", "operationId": "Create Environment", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Create%20Environment" } } }, "required": true }, "responses": { "200": { "description": "Environment is created successfully", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Environment" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ], "x-codegen-request-body-name": "payload" } }, "/core/environments/{id}": { "get": { "tags": [ "environment" ], "summary": "Get an environment detail", "operationId": "Get an environment details", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "Getting detail successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Environment" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] }, "put": { "tags": [ "environment" ], "summary": "Update Environment", "operationId": "Update an environment", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Update%20Environment" } } }, "required": true }, "responses": { "200": { "description": "Update an environment success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Environment" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ], "x-codegen-request-body-name": "payload" }, "delete": { "tags": [ "environment" ], "summary": "Delete an environment", "operationId": "Delete an environment", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResponseModel" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] } }, "/core/flavors": { "get": { "tags": [ "flavor" ], "summary": "Retrieve Flavors", "operationId": "Retrieve Flavors", "parameters": [ { "name": "region", "in": "query", "description": "Region Name", "schema": {} } ], "responses": { "200": { "description": "Getting flavors successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Flavor%20List%20Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] } }, "/core/gpus": { "get": { "tags": [ "gpu" ], "summary": "Get GPU List", "operationId": "Get GPU List", "responses": { "200": { "description": "Getting GPU list successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GPU%20List" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] } }, "/core/gpus/{id}": {}, "/core/image-logos": {}, "/core/images": { "get": { "tags": [ "image" ], "summary": "Retrieve Images", "operationId": "Retrieve Images", "parameters": [ { "name": "region", "in": "query", "description": "Region Name", "schema": {} } ], "responses": { "200": { "description": "Getting images successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Images" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "406": { "description": "Not Acceptable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] } }, "/core/internal/callbacks/test": {}, "/core/internal/virtual-machines": {}, "/core/internal/volumes": {}, "/core/keypair/{id}": { "put": { "tags": [ "keypair" ], "summary": "Update Keypair name", "operationId": "Update Keypair name", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Update%20Keypair%20Name" } } }, "required": true }, "responses": { "200": { "description": "Keypair name updated successfully", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Update%20Keypair%20name%20response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ], "x-codegen-request-body-name": "payload" }, "delete": { "tags": [ "keypair" ], "summary": "Delete Keypair", "operationId": "Delete Keypair", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResponseModel" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] } }, "/core/keypairs": { "get": { "tags": [ "keypair" ], "summary": "Retrieve Keypairs", "operationId": "Retrieve User Keypairs", "responses": { "200": { "description": "Getting user keypairs successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Keypairs" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] }, "post": { "tags": [ "keypair" ], "summary": "Import Keypair", "operationId": "Import Keypair", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Import%20Keypair%20Payload" } } }, "required": true }, "responses": { "200": { "description": "Keypair is imported successfully", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Import%20Keypair%20Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ], "x-codegen-request-body-name": "payload" } }, "/core/marketplace/deployments": { "get": { "tags": [ "deployment" ], "summary": "List Deployments", "operationId": "List Deployments", "responses": { "200": { "description": "Getting deployments success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Deployments" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] }, "post": { "tags": [ "deployment" ], "summary": "Start Deployment", "operationId": "Start Deployment", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Start%20Deployment%20Payload" } } }, "required": true }, "responses": { "200": { "description": "Deployment created successfully", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Start%20Deployment" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ], "x-codegen-request-body-name": "payload" } }, "/core/marketplace/deployments/{id}": { "get": { "tags": [ "deployment" ], "summary": "Details of Deployment by ID", "operationId": "Details of Deployment by ID", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "Getting deployment detail success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Start%20Deployment" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] }, "delete": { "tags": [ "deployment" ], "summary": "Delete Deployment", "operationId": "Delete Deployment", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } } ], "responses": { "202": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResponseModel" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] } }, "/core/marketplace/templates": { "get": { "tags": [ "template" ], "summary": "List Templates", "operationId": "List Templates", "parameters": [ { "name": "visibility", "in": "query", "description": "visibility: public/private", "schema": {} } ], "responses": { "200": { "description": "Getting templates success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Templates" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "406": { "description": "Not Acceptable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] }, "post": { "tags": [ "template" ], "summary": "Create Template", "operationId": "Create Template", "requestBody": { "content": { "multipart/form-data": { "schema": { "required": [ "content", "description", "is_public", "name" ], "properties": { "name": { "type": "string", "description": "name is required" }, "description": { "type": "string", "description": "description is required" }, "is_public": { "type": "string", "description": "is_public is required" }, "content": { "type": "string", "description": "YAML file is required", "format": "binary" } } } } }, "required": true }, "responses": { "201": { "description": "Template added successfully", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Template" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] } }, "/core/marketplace/templates/{id}": { "get": { "tags": [ "template" ], "summary": "Details of a Template by ID", "operationId": "Details of a Template by ID", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "Getting template detail success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Template" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] }, "put": { "tags": [ "template" ], "summary": "Update Template", "operationId": "Update Template", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Update%20Template" } } }, "required": true }, "responses": { "200": { "description": "Template updated successfully", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Template" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ], "x-codegen-request-body-name": "payload" }, "delete": { "tags": [ "template" ], "summary": "Delete a Template", "operationId": "Delete a Template", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResponseModel" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] } }, "/core/profiles": { "get": { "tags": [ "profile" ], "summary": "Get Profile List", "operationId": "Get Profile List", "responses": { "200": { "description": "Getting profiles success.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Profile%20List%20Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] }, "post": { "tags": [ "profile" ], "summary": "Create a profile", "operationId": "Create Profile", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Create%20Profile%20Payload" } } }, "required": true }, "responses": { "201": { "description": "Profile created successfully", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Create%20Profile%20Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ], "x-codegen-request-body-name": "payload" } }, "/core/profiles/{id}": { "get": { "tags": [ "profile" ], "summary": "Get a Profile Detail", "operationId": "Get a Profile Detail", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "Getting profile detail success.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Create%20Profile%20Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] }, "delete": { "tags": [ "profile" ], "summary": "Delete Profile", "operationId": "Delete Profile", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResponseModel" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] } }, "/core/regions": { "get": { "tags": [ "region" ], "summary": "Getting regions", "operationId": "Getting regions", "responses": { "200": { "description": "Getting regions successful.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Regions" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] } }, "/core/regions/{id}": {}, "/core/sg-rules-protocols": { "get": { "tags": [ "security-rules" ], "summary": "Retrieve Security Rule Protocols", "operationId": "Retrieve Security Rule Protocols", "responses": { "200": { "description": "Getting security rule protocols successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Security%20Rules%20Protocol%20Fields" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] } }, "/core/stocks": { "get": { "tags": [ "stock" ], "operationId": "Retrieve Stocks", "responses": { "200": { "description": "Stocks Retrived Successfully.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/New%20Stock%20Retrive%20Response" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Stocks Not Found", "content": {} }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] } }, "/core/stocks/details": {}, "/core/stocks/upcoming": {}, "/core/stocks/upcoming/{id}": {}, "/core/stocks/upcoming/{node_id}/stock": {}, "/core/stocks/upcoming/{node_id}/stock/{stock_id}": {}, "/core/stocks/visibility": {}, "/core/stocks/visibility/add-users": {}, "/core/stocks/visibility/remove-users": {}, "/core/virtual-machines": { "get": { "tags": [ "virtual machine" ], "summary": "List Instances", "operationId": "List Instances", "responses": { "200": { "description": "Getting instances successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Instances" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] }, "post": { "tags": [ "virtual machine" ], "summary": "Create Instances", "operationId": "Create Instances", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Create%20Instances%20Payload" } } }, "required": true }, "responses": { "200": { "description": "Instances are created successfully", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Instances" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "405": { "description": "Method Not Allowed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ], "x-codegen-request-body-name": "payload" } }, "/core/virtual-machines/{id}": { "get": { "tags": [ "virtual machine" ], "summary": "Get an instance details", "operationId": "Get an instance details", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "Getting instance detail successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Instance" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] }, "delete": { "tags": [ "virtual machine" ], "summary": "Delete an instance", "operationId": "Delete an instance", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResponseModel" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] } }, "/core/virtual-machines/{id}/attach-callback": { "post": { "tags": [ "callbacks" ], "summary": "Attach a callback to an instance", "operationId": "Attach a callback to an instance", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Attach%20Callback%20Payload" } } }, "required": true }, "responses": { "200": { "description": "Callback URL successfully attached to your instance. Any action events on your instance will be posted to the provided URL", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Attach%20Callback%20Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ], "x-codegen-request-body-name": "payload" } }, "/core/virtual-machines/{id}/attach-floatingip": { "post": { "tags": [ "floating ip" ], "summary": "Attach Floating IP to Instance", "operationId": "Attach Floating IP to Instance", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResponseModel" } } } }, "400": { "description": "Insufficient balance to create the resource", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] } }, "/core/virtual-machines/{id}/delete-callback": { "delete": { "tags": [ "callbacks" ], "summary": "Delete a callback URL for an instance", "operationId": "Delete a callback URL for an instance", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResponseModel" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] } }, "/core/virtual-machines/{id}/detach-floatingip": { "post": { "tags": [ "floating ip" ], "summary": "Detach Floating IP to Instance", "operationId": "Detach Floating IP to Instance", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResponseModel" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] } }, "/core/virtual-machines/{id}/hard-reboot": { "get": { "tags": [ "virtual machine" ], "summary": "Hard Reboot Instance", "operationId": "Hard Reboot Instance", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResponseModel" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] } }, "/core/virtual-machines/{id}/request-console": { "get": { "tags": [ "vnc url" ], "summary": "Request Instance Console", "operationId": "Request Console", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "Please wait a few seconds and visit the below link to access your VNC console URL", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Request%20Console" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] } }, "/core/virtual-machines/{id}/sg-rules": { "post": { "tags": [ "virtual machine" ], "summary": "Add Security Rule", "operationId": "Add Security Rule", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Create%20Security%20Rule%20Payload" } } }, "required": true }, "responses": { "200": { "description": "Security Rule created successfully", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Security%20Group%20Rule" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ], "x-codegen-request-body-name": "payload" } }, "/core/virtual-machines/{id}/start": { "get": { "tags": [ "virtual machine" ], "summary": "Start Instance", "operationId": "Start Instance", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResponseModel" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] } }, "/core/virtual-machines/{id}/stop": { "get": { "tags": [ "virtual machine" ], "summary": "Stop Instance", "operationId": "Stop Instance", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResponseModel" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] } }, "/core/virtual-machines/{id}/update-callback": { "put": { "tags": [ "callbacks" ], "summary": "Update a callback URL", "operationId": "Update a callback URL", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Attach%20Callback%20Payload" } } }, "required": true }, "responses": { "200": { "description": "Callback URL successfully updated.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Attach%20Callback%20Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ], "x-codegen-request-body-name": "payload" } }, "/core/virtual-machines/{virtual_machine_id}/attach-volumes": { "post": { "tags": [ "volume attachment" ], "summary": "Attach Volumes", "operationId": "Attach Volumes", "parameters": [ { "name": "virtual_machine_id", "in": "path", "required": true, "schema": { "type": "integer" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Attach%20Volumes%20Payload" } } }, "required": true }, "responses": { "200": { "description": "Volumes attaching now.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Attach%20Volumes" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "405": { "description": "Method Not Allowed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ], "x-codegen-request-body-name": "payload" } }, "/core/virtual-machines/{virtual_machine_id}/console/{job_id}": { "get": { "tags": [ "vnc url" ], "summary": "Get VNC Console Link", "operationId": "Get VNC Console Link", "parameters": [ { "name": "virtual_machine_id", "in": "path", "required": true, "schema": { "type": "integer" } }, { "name": "job_id", "in": "path", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "Get VNC Console Link Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/VNC%20URL" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] } }, "/core/virtual-machines/{virtual_machine_id}/detach-volumes": { "post": { "tags": [ "volume attachment" ], "summary": "Detach Volumes", "operationId": "Detach Volumes", "parameters": [ { "name": "virtual_machine_id", "in": "path", "required": true, "schema": { "type": "integer" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Detach%20Volumes%20Payload" } } }, "required": true }, "responses": { "200": { "description": "Volumes detaching now.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Detach%20Volumes" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "405": { "description": "Method Not Allowed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ], "x-codegen-request-body-name": "payload" } }, "/core/virtual-machines/{virtual_machine_id}/events": { "get": { "tags": [ "virtual machine events" ], "summary": "Fetch all of the instance events", "operationId": "Fetch all of the instance events", "parameters": [ { "name": "virtual_machine_id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Getting instance events success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InstanceEvents" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] } }, "/core/virtual-machines/{virtual_machine_id}/hibernate": { "get": { "tags": [ "virtual machine" ], "summary": "Hibernate Instance", "operationId": "Hibernate Instance", "parameters": [ { "name": "virtual_machine_id", "in": "path", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResponseModel" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] } }, "/core/virtual-machines/{virtual_machine_id}/hibernate-restore": { "get": { "tags": [ "virtual machine" ], "summary": "Restore Instance from Hibernation", "operationId": "Restore Instance from Hibernation", "parameters": [ { "name": "virtual_machine_id", "in": "path", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResponseModel" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] } }, "/core/virtual-machines/{virtual_machine_id}/metrics": { "get": { "tags": [ "virtual machine" ], "summary": "Get instance metrics", "operationId": "Retrieved metrics successfully", "parameters": [ { "name": "virtual_machine_id", "in": "path", "required": true, "schema": { "type": "integer" } }, { "name": "duration", "in": "query", "schema": { "type": "string", "enum": [ "1h", "2h", "4h", "6h", "12h", "1d", "3d", "7d", "15d", "30d" ] } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResponseModel" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "406": { "description": "Not Acceptable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] } }, "/core/virtual-machines/{virtual_machine_id}/resize": { "post": { "tags": [ "virtual machine" ], "summary": "Resize Virtual Machine", "operationId": "Resize Virtual Machine", "parameters": [ { "name": "virtual_machine_id", "in": "path", "required": true, "schema": { "type": "integer" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InstanceResizePayload" } } }, "required": true }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResponseModel" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "405": { "description": "Method Not Allowed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ], "x-codegen-request-body-name": "payload" } }, "/core/virtual-machines/{virtual_machine_id}/sg-rules/{sg_rule_id}": { "delete": { "tags": [ "virtual machine" ], "summary": "Delete a security group rule", "operationId": "Delete a Security Rule", "parameters": [ { "name": "virtual_machine_id", "in": "path", "required": true, "schema": { "type": "integer" } }, { "name": "sg_rule_id", "in": "path", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResponseModel" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] } }, "/core/volume-types": { "get": { "tags": [ "volume" ], "summary": "GET Volume Types", "operationId": "Get Volume Types", "responses": { "200": { "description": "Retrieved Volume Types.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Volume%20Types" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] } }, "/core/volumes": { "get": { "tags": [ "volume" ], "summary": "List Volumes", "operationId": "List Volumes", "responses": { "200": { "description": "Getting volumes successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Volumes" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] }, "post": { "tags": [ "volume" ], "summary": "Create Volume", "operationId": "Create Volume", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Create%20Volume%20Payload" } } }, "required": true }, "responses": { "200": { "description": "Volume created successfully", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Volume" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "405": { "description": "Method Not Allowed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ], "x-codegen-request-body-name": "payload" } }, "/core/volumes/{id}": { "delete": { "tags": [ "volume" ], "summary": "Delete Volume", "operationId": "Delete Volume", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResponseModel" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] } }, "/core/volumes/{id}/attach-callback": { "post": { "tags": [ "callbacks" ], "summary": "Attach a callback to a volume", "operationId": "Attach a callback to a volume", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Attach%20Callback%20Payload" } } }, "required": true }, "responses": { "200": { "description": "Callback URL successfully attached to your volume. Any action events on your volume will be posted to the provided URL", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Attach%20Callback%20Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ], "x-codegen-request-body-name": "payload" } }, "/core/volumes/{id}/delete-callback": { "delete": { "tags": [ "callbacks" ], "summary": "Delete callback URL for a volume", "operationId": "Delete callback URL for a volume", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResponseModel" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] } }, "/core/volumes/{id}/update-callback": { "put": { "tags": [ "callbacks" ], "summary": "Update callback URL for volume", "operationId": "Update callback URL for volume", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Attach%20Callback%20Payload" } } }, "required": true }, "responses": { "200": { "description": "Callback URL successfully updated.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Attach%20Callback%20Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ], "x-codegen-request-body-name": "payload" } }, "/pricebook": { "get": { "tags": [ "Pricebook" ], "operationId": "Retrive Pricebook", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Pricebook%20Model" } } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "405": { "description": "Method Not Allowed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] } }, "/pricebook/calculate": {}, "/pricebook/calculate/{id}": {}, "/pricebook/discounts/flat-per-resource": {}, "/pricebook/discounts/flat-per-resource/{org_id}": {}, "/pricebook/discounts/flat-per-resource/{org_id}/update-status": {}, "/billing/admin/add_organization": {}, "/billing/admin/credit/{organization_id}": {}, "/billing/admin/recharge_history/{organization_id}": {}, "/billing/admin/threshold/{organization_id}": {}, "/billing/admin/usage/{organization_id}": {}, "/billing/alive": { "get": { "tags": [ "alive" ], "summary": "GET: Alive", "operationId": "get_alive", "responses": { "200": { "description": "Success", "content": {} } } } }, "/billing/billing/last-day-cost": { "get": { "tags": [ "billing" ], "summary": "GET: Last Day Cost", "operationId": "get_last_day_cost", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Last%20day%20cost%20response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] } }, "/billing/billing/usage": { "get": { "tags": [ "billing" ], "summary": "GET: Billing usage", "operationId": "get_usage", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Billing%20metrices%20response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] } }, "/billing/payment/payment-details": { "get": { "tags": [ "payment" ], "summary": "GET: View payment details", "operationId": "get_details", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Payment%20Details%20Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] } }, "/billing/payment/payment-initiate": { "post": { "tags": [ "payment" ], "summary": "POST: Initiate payment", "operationId": "post_payment", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Payment%20Initiate%20Payload" } } }, "required": true }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Payment%20Initiate%20Response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ], "x-codegen-request-body-name": "payload" } }, "/billing/user-credit/credit": { "get": { "tags": [ "credit" ], "summary": "GET: View credit and threshold", "operationId": "Check balance as an organization", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Get%20credit%20and%20threshold%20info%20in%20response" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseModel" } } } }, "500": { "description": "Internal Server Error", "content": {} } }, "security": [ { "accessToken": [] }, { "apiKey": [] } ] } } }, "components": { "schemas": { "Request Login Response": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "data": { "$ref": "#/components/schemas/Request Login Data Response" } } }, "Request Login Data Response": { "type": "object", "properties": { "authorization_url": { "type": "string" }, "session_id": { "type": "string" } } }, "ErrorResponseModel": { "type": "object", "properties": { "status": { "type": "boolean", "default": false }, "message": { "type": "string" }, "error_reason": { "type": "string" } } }, "Get Token": { "required": [ "callback_code", "session_id" ], "type": "object", "properties": { "session_id": { "type": "string" }, "callback_code": { "type": "string" } } }, "Get Token Response": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "token": { "$ref": "#/components/schemas/Token Fields" } } }, "Token Fields": { "type": "object", "properties": { "access_token": { "type": "string" }, "id_token": { "type": "string" }, "refresh_token": { "type": "string" } } }, "Refresh Token": { "required": [ "id_token", "refresh_token" ], "type": "object", "properties": { "id_token": { "type": "string" }, "refresh_token": { "type": "string" } } }, "Logout": { "required": [ "refresh_token" ], "type": "object", "properties": { "refresh_token": { "type": "string" } } }, "User Info Response": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "user": { "$ref": "#/components/schemas/User Fields" } } }, "User Fields": { "type": "object", "properties": { "email": { "type": "string" }, "name": { "type": "string" }, "username": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" } } }, "Organization Model": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "organization": { "$ref": "#/components/schemas/Organization Info Model" } } }, "Organization Info Model": { "required": [ "id", "name" ], "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "users": { "type": "array", "items": { "$ref": "#/components/schemas/Organization User Model" } }, "created_at": { "type": "string", "format": "date-time" } } }, "Organization User Model": { "type": "object", "properties": { "id": { "type": "integer" }, "sub": { "type": "string" }, "email": { "type": "string" }, "username": { "type": "string" }, "name": { "type": "string" }, "role": { "type": "string" }, "rbac_roles": { "type": "array", "items": { "$ref": "#/components/schemas/RBAC Role Field for Organization" } }, "joined_at": { "type": "string", "format": "date-time" } } }, "RBAC Role Field for Organization": { "type": "object", "properties": { "name": { "type": "string" } } }, "Remove member": { "required": [ "email" ], "type": "object", "properties": { "email": { "type": "string" } } }, "Remove Member Response": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" } } }, "API Key": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "api_key": { "$ref": "#/components/schemas/API Key Fields" } } }, "API Key Fields": { "type": "object", "properties": { "key": { "type": "string" } } }, "API Key generation": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "api_key": { "type": "string" } } }, "API Key Payload": { "type": "object", "properties": { "api_key": { "type": "string" } } }, "ApiKeyVerifyResponse": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "api_key": { "$ref": "#/components/schemas/ApiKeyVerifyFields" } } }, "ApiKeyVerifyFields": { "type": "object", "properties": { "user_id": { "type": "integer" }, "org_id": { "type": "integer" }, "user_role": { "type": "string" }, "sub": { "type": "string" } } }, "Invite User": { "required": [ "email" ], "type": "object", "properties": { "email": { "type": "string" } } }, "Invites": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "invites": { "type": "array", "items": { "$ref": "#/components/schemas/Invite Fields" } } } }, "Invite Fields": { "type": "object", "properties": { "id": { "type": "integer" }, "email": { "type": "string" }, "status": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" } } }, "Invite": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "invite": { "$ref": "#/components/schemas/Invite Fields" } } }, "ResponseModel": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" } } }, "PermissionPayload": { "required": [ "endpoint", "method", "permission", "resource" ], "type": "object", "properties": { "resource": { "type": "string" }, "permission": { "type": "string" }, "method": { "type": "string" }, "endpoint": { "type": "string" } } }, "Permissions": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "permissions": { "type": "array", "items": { "$ref": "#/components/schemas/Permission Fields" } } } }, "Permission Fields": { "type": "object", "properties": { "id": { "type": "integer" }, "resource": { "type": "string" }, "permission": { "type": "string" }, "method": { "type": "string" }, "endpoint": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" } } }, "PermissionResponse": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "permission": { "$ref": "#/components/schemas/Permission Fields" } } }, "Permissions for UserPermission": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "permissions": { "type": "array", "items": { "$ref": "#/components/schemas/Permission Fields for UserPermission" } } } }, "Permission Fields for UserPermission": { "type": "object", "properties": { "id": { "type": "integer" }, "resource": { "type": "string" }, "permission": { "type": "string" } } }, "PolicyPayload": { "required": [ "description", "is_public", "name", "permissions" ], "type": "object", "properties": { "name": { "type": "string" }, "description": { "type": "string" }, "is_public": { "type": "boolean" }, "permissions": { "type": "array", "items": { "type": "integer" } } } }, "Policies": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "policies": { "type": "array", "items": { "$ref": "#/components/schemas/Policy Fields" } } } }, "Policy Fields": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "description": { "type": "string" }, "permissions": { "type": "array", "items": { "$ref": "#/components/schemas/Policy Permission Fields" } }, "created_at": { "type": "string", "format": "date-time" } } }, "Policy Permission Fields": { "type": "object", "properties": { "id": { "type": "integer" }, "resource": { "type": "string" }, "permission": { "type": "string" } } }, "PolicyResponse": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "policy": { "$ref": "#/components/schemas/Policy Fields" } } }, "RBAC Role Payload": { "required": [ "description", "name" ], "type": "object", "properties": { "name": { "type": "string" }, "description": { "type": "string" }, "policies": { "type": "array", "items": { "type": "integer" } }, "permissions": { "type": "array", "items": { "type": "integer" } } } }, "RBAC Roles": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "roles": { "type": "array", "items": { "$ref": "#/components/schemas/RBAC Role Fields" } } } }, "RBAC Role Fields": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "description": { "type": "string" }, "policies": { "type": "array", "items": { "$ref": "#/components/schemas/Role Policy Fields" } }, "permissions": { "type": "array", "items": { "$ref": "#/components/schemas/Role Permission Fields" } }, "created_at": { "type": "string", "format": "date-time" } } }, "Role Policy Fields": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "description": { "type": "string" } } }, "Role Permission Fields": { "type": "object", "properties": { "id": { "type": "integer" }, "resource": { "type": "string" }, "permission": { "type": "string" } } }, "RBAC Role": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "role": { "$ref": "#/components/schemas/RBAC Role Fields" } } }, "Assign RBAC Role Payload": { "required": [ "role_id" ], "type": "object", "properties": { "role_id": { "type": "integer" } } }, "OrganizationsResponseModel": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "organizations": { "type": "array", "items": { "$ref": "#/components/schemas/Organization Info Model" } } } }, "OrganizationResponseModel": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "organizations": { "$ref": "#/components/schemas/Organization Info Model" } } }, "Dashboard Info Response": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "overview": { "$ref": "#/components/schemas/Overview Info" } } }, "Overview Info": { "type": "object", "properties": { "instance": { "$ref": "#/components/schemas/Instance Overview Fields" }, "container": { "$ref": "#/components/schemas/Container Overview Fields" }, "volume": { "$ref": "#/components/schemas/Volume Overview Fields" } } }, "Instance Overview Fields": { "type": "object", "properties": { "count": { "type": "integer" }, "vcpus": { "type": "integer" }, "gpus": { "type": "integer" }, "ram": { "type": "integer" }, "cost_per_hour": { "type": "number" } } }, "Container Overview Fields": { "type": "object", "properties": { "count": { "type": "integer" }, "vcpus": { "type": "integer" }, "gpus": { "type": "integer" }, "ram": { "type": "integer" }, "cost_per_hour": { "type": "number" } } }, "Volume Overview Fields": { "type": "object", "properties": { "count": { "type": "integer" }, "using": { "type": "integer" }, "cost_per_hour": { "type": "number" } } }, "New Stock Retrive Response": { "type": "object", "properties": { "stocks": { "type": "array", "items": { "$ref": "#/components/schemas/New Stock Response" } } } }, "New Stock Response": { "type": "object", "properties": { "region": { "type": "string" }, "stock-type": { "type": "string" }, "models": { "type": "array", "items": { "$ref": "#/components/schemas/New Model Response" } } } }, "New Model Response": { "type": "object", "properties": { "model": { "type": "string" }, "available": { "type": "string" }, "planned_7_days": { "type": "string" }, "planned_30_days": { "type": "string" }, "planned_100_days": { "type": "string" }, "configurations": { "$ref": "#/components/schemas/New Configurations Response" } } }, "New Configurations Response": { "type": "object", "properties": { "1x": { "type": "integer" }, "2x": { "type": "integer" }, "4x": { "type": "integer" }, "8x": { "type": "integer" }, "10x": { "type": "integer" } } }, "Stock Visibility User List Response": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "users": { "type": "array", "items": { "$ref": "#/components/schemas/Single Visibility User Response" } } } }, "Single Visibility User Response": { "required": [ "id", "stock_visible", "user_id" ], "type": "object", "properties": { "id": { "type": "integer" }, "user_id": { "type": "integer" }, "stock_visible": { "type": "boolean" } } }, "Stock Visibility User Payload": { "type": "object", "properties": { "user_ids": { "type": "array", "items": { "type": "integer" } } } }, "Node Stock Payload Model": { "type": "object", "properties": { "stocks": { "type": "array", "items": { "$ref": "#/components/schemas/Node Payload Model" } } } }, "Node Payload Model": { "type": "object", "properties": { "region": { "type": "string" }, "nodes": { "type": "array", "items": { "$ref": "#/components/schemas/Node Power Usage Model" } } } }, "Node Power Usage Model": { "required": [ "openstack_id" ], "type": "object", "properties": { "openstack_id": { "type": "string" }, "openstack_name": { "type": "string" }, "nexgen_name": { "type": "string" }, "status": { "type": "string" }, "provision_date": { "type": "string", "format": "date-time" }, "sunset_date": { "type": "string", "format": "date-time" }, "stocks": { "type": "array", "items": { "$ref": "#/components/schemas/Node Stocks Payload" } }, "power_usages": { "$ref": "#/components/schemas/Power Usage Model" } } }, "Node Stocks Payload": { "required": [ "in_use", "total", "type" ], "type": "object", "properties": { "name": { "type": "string" }, "type": { "type": "string" }, "total": { "type": "integer" }, "in_use": { "type": "integer" } } }, "Power Usage Model": { "required": [ "unit", "value" ], "type": "object", "properties": { "value": { "type": "number" }, "unit": { "type": "string" } } }, "Node Stock Response Model": { "type": "object", "properties": { "stocks": { "type": "array", "items": { "$ref": "#/components/schemas/Node Response Model" } } } }, "Node Response Model": { "type": "object", "properties": { "region": { "type": "string" }, "nodes": { "type": "array", "items": { "$ref": "#/components/schemas/Node Model" } } } }, "Node Model": { "required": [ "openstack_id" ], "type": "object", "properties": { "openstack_id": { "type": "string" }, "openstack_name": { "type": "string" }, "nexgen_name": { "type": "string" }, "status": { "type": "string" }, "provision_date": { "type": "string", "format": "date-time" }, "sunset_date": { "type": "string", "format": "date-time" }, "stocks": { "type": "array", "items": { "$ref": "#/components/schemas/Node Stocks Payload" } } } }, "Future Nodes Stock Model": { "type": "object", "properties": { "future_stocks": { "type": "array", "items": { "$ref": "#/components/schemas/Future Node Response Model" } } } }, "Future Node Response Model": { "type": "object", "properties": { "region": { "type": "string" }, "nodes": { "type": "array", "items": { "$ref": "#/components/schemas/Future Node Model" } } } }, "Future Node Model": { "required": [ "expected_provision_date" ], "type": "object", "properties": { "id": { "type": "integer", "readOnly": true }, "openstack_name": { "type": "string" }, "nexgen_name": { "type": "string" }, "expected_provision_date": { "type": "string", "format": "date-time" }, "stocks": { "type": "array", "items": { "$ref": "#/components/schemas/Future Node Stock Model" } } } }, "Future Node Stock Model": { "required": [ "expected_amount" ], "type": "object", "properties": { "id": { "type": "integer", "readOnly": true }, "name": { "type": "string" }, "expected_amount": { "type": "integer" } } }, "New Stock Update Response Model": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" } } }, "Future Node Update Model": { "required": [ "expected_provision_date", "nexgen_name", "openstack_name" ], "type": "object", "properties": { "id": { "type": "integer", "readOnly": true }, "region_id": { "type": "integer" }, "openstack_name": { "type": "string" }, "nexgen_name": { "type": "string" }, "expected_provision_date": { "type": "string", "format": "date-time" } } }, "Create Environment": { "required": [ "name", "region" ], "type": "object", "properties": { "name": { "type": "string" }, "region": { "type": "string" } } }, "Environments": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "environments": { "type": "array", "items": { "$ref": "#/components/schemas/Environment Fields" } } } }, "Environment Fields": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "region": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" } } }, "Environment": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "environment": { "$ref": "#/components/schemas/Environment Fields" } } }, "Update Environment": { "required": [ "name" ], "type": "object", "properties": { "name": { "type": "string" } } }, "InstanceEvents": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "instance_events": { "type": "array", "items": { "$ref": "#/components/schemas/InstanceEventsFields" } } } }, "InstanceEventsFields": { "type": "object", "properties": { "instance_id": { "type": "integer" }, "user_id": { "type": "integer" }, "org_id": { "type": "integer" }, "time": { "type": "string", "format": "date-time" }, "type": { "type": "string" }, "reason": { "type": "string" }, "object": { "type": "string" }, "message": { "type": "string" } } }, "Create Instances Payload": { "required": [ "count", "environment_name", "key_name", "name" ], "type": "object", "properties": { "name": { "type": "string" }, "environment_name": { "type": "string" }, "image_name": { "type": "string" }, "volume_name": { "type": "string" }, "create_bootable_volume": { "type": "boolean" }, "flavor_name": { "type": "string" }, "flavor": { "$ref": "#/components/schemas/Flavor Object Fields" }, "key_name": { "type": "string" }, "user_data": { "type": "string" }, "callback_url": { "type": "string" }, "assign_floating_ip": { "type": "boolean" }, "profile": { "$ref": "#/components/schemas/Profile Object Fields" }, "count": { "type": "integer" } } }, "Flavor Object Fields": { "type": "object", "properties": { "cpu": { "type": "integer" }, "ram": { "type": "number" }, "disk": { "type": "integer" }, "gpu": { "type": "string" }, "gpu_count": { "type": "integer" } } }, "Profile Object Fields": { "required": [ "name" ], "type": "object", "properties": { "name": { "type": "string" }, "description": { "type": "string" } } }, "Instances": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "instances": { "type": "array", "items": { "$ref": "#/components/schemas/Instance Admin Fields" } }, "instance_count": { "type": "integer" } } }, "Instance Admin Fields": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "status": { "type": "string" }, "environment": { "$ref": "#/components/schemas/Instance Environment Fields" }, "image": { "$ref": "#/components/schemas/Instance Image Fields" }, "flavor": { "$ref": "#/components/schemas/Instance Flavor Fields" }, "keypair": { "$ref": "#/components/schemas/Instance Keypair Fields" }, "volume_attachments": { "type": "array", "items": { "$ref": "#/components/schemas/Volume Attachment Fields" } }, "security_rules": { "type": "array", "items": { "$ref": "#/components/schemas/Security Rules Fields for Instance" } }, "power_state": { "type": "string" }, "vm_state": { "type": "string" }, "fixed_ip": { "type": "string" }, "floating_ip": { "type": "string" }, "floating_ip_status": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "openstack_id": { "type": "string" } } }, "Instance Environment Fields": { "type": "object", "properties": { "name": { "type": "string" }, "org_id": { "type": "integer" }, "region": { "type": "string" } } }, "Instance Image Fields": { "type": "object", "properties": { "name": { "type": "string" } } }, "Instance Flavor Fields": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "cpu": { "type": "integer" }, "ram": { "type": "integer" }, "disk": { "type": "integer" }, "gpu": { "type": "string" }, "gpu_count": { "type": "integer" } } }, "Instance Keypair Fields": { "type": "object", "properties": { "name": { "type": "string" } } }, "Volume Attachment Fields": { "type": "object", "properties": { "volume": { "$ref": "#/components/schemas/Volume Fields for Instance" }, "status": { "type": "string" }, "device": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" } } }, "Volume Fields for Instance": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "description": { "type": "string" }, "volume_type": { "type": "string" }, "size": { "type": "integer" } } }, "Security Rules Fields for Instance": { "type": "object", "properties": { "id": { "type": "integer" }, "direction": { "type": "string" }, "protocol": { "type": "string" }, "port_range_min": { "type": "integer" }, "port_range_max": { "type": "integer" }, "ethertype": { "type": "string" }, "remote_ip_prefix": { "type": "string" }, "status": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" } } }, "Instance": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "instance": { "$ref": "#/components/schemas/Instance Admin Fields" } } }, "Create Security Rule Payload": { "required": [ "direction", "ethertype", "protocol", "remote_ip_prefix" ], "type": "object", "properties": { "direction": { "type": "string" }, "protocol": { "type": "string" }, "ethertype": { "type": "string" }, "remote_ip_prefix": { "type": "string" } } }, "Security Group Rule": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "security_rule": { "$ref": "#/components/schemas/Security Group Rule Fields" } } }, "Security Group Rule Fields": { "type": "object", "properties": { "id": { "type": "integer" }, "direction": { "type": "string" }, "protocol": { "type": "string" }, "port_range_min": { "type": "integer" }, "port_range_max": { "type": "integer" }, "ethertype": { "type": "string" }, "remote_ip_prefix": { "type": "string" }, "status": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" } } }, "InstanceResizePayload": { "type": "object", "properties": { "flavor_name": { "type": "string" }, "flavor": { "$ref": "#/components/schemas/Flavor Object Fields" } } }, "FlavorPayload": { "required": [ "cpu", "disk", "gpu", "gpu_count", "is_public", "name", "ram", "region_name" ], "type": "object", "properties": { "name": { "type": "string" }, "region_name": { "type": "string" }, "cpu": { "type": "integer" }, "ram": { "type": "number" }, "disk": { "type": "integer" }, "gpu": { "type": "string" }, "gpu_count": { "type": "integer" }, "is_public": { "type": "boolean" } } }, "Flavor List Response": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/Flavor Item Get Response" } } } }, "Flavor Item Get Response": { "type": "object", "properties": { "gpu": { "type": "string" }, "region_name": { "type": "string" }, "flavors": { "type": "array", "items": { "$ref": "#/components/schemas/Flavor Fields" } } } }, "Flavor Fields": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "region_name": { "type": "string" }, "cpu": { "type": "integer" }, "ram": { "type": "integer" }, "disk": { "type": "integer" }, "gpu": { "type": "string" }, "gpu_count": { "type": "integer" }, "stock_available": { "type": "boolean" }, "created_at": { "type": "string", "format": "date-time" } } }, "FlavorResponse": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "flavor": { "$ref": "#/components/schemas/Flavor Fields" } } }, "Images": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "images": { "type": "array", "items": { "$ref": "#/components/schemas/Image Get Response" } } } }, "Image Get Response": { "type": "object", "properties": { "region_name": { "type": "string" }, "type": { "type": "string" }, "logo": { "type": "string" }, "images": { "type": "array", "items": { "$ref": "#/components/schemas/Image Fields" } } } }, "Image Fields": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "region_name": { "type": "string" }, "type": { "type": "string" }, "version": { "type": "string" }, "size": { "type": "integer" }, "display_size": { "type": "string" } } }, "Image Logos": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "logos": { "type": "array", "items": { "$ref": "#/components/schemas/Logo Get Response" } } } }, "Logo Get Response": { "type": "object", "properties": { "id": { "type": "integer" }, "type": { "type": "string" }, "url": { "type": "string" } } }, "Import Keypair Payload": { "required": [ "environment_name", "name", "public_key" ], "type": "object", "properties": { "name": { "type": "string" }, "environment_name": { "type": "string" }, "public_key": { "type": "string" } } }, "Keypairs": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "Keypairs": { "type": "array", "items": { "$ref": "#/components/schemas/Keypair Fields" } } } }, "Keypair Fields": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "environment": { "type": "string" }, "public_key": { "type": "string" }, "fingerprint": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" } } }, "Import Keypair Response": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "keypair": { "$ref": "#/components/schemas/Keypair Fields" } } }, "Update Keypair Name": { "required": [ "name" ], "type": "object", "properties": { "name": { "type": "string" } } }, "Update Keypair name response": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "keypair": { "$ref": "#/components/schemas/Keypair Fields" } } }, "Request Console": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "url": { "type": "string" } } }, "VNC URL": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "vnc_url": { "$ref": "#/components/schemas/VNC URL Fields" } } }, "VNC URL Fields": { "type": "object", "properties": { "id": { "type": "integer" }, "vnc_url": { "type": "string" } } }, "Create Volume Payload": { "type": "object", "properties": { "name": { "type": "string" }, "environment_name": { "type": "string" }, "description": { "type": "string" }, "volume_type": { "type": "string" }, "size": { "type": "integer" }, "image_id": { "type": "integer" }, "callback_url": { "type": "string" } } }, "Volumes": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "volumes": { "type": "array", "items": { "$ref": "#/components/schemas/Volume Fields" } } } }, "Volume Fields": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "environment": { "$ref": "#/components/schemas/Environment Fields for Volume" }, "description": { "type": "string" }, "volume_type": { "type": "string" }, "size": { "type": "string" }, "status": { "type": "string" }, "bootable": { "type": "boolean" }, "image_id": { "type": "integer" }, "callback_url": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } }, "Environment Fields for Volume": { "type": "object", "properties": { "name": { "type": "string" } } }, "Volume": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "volume": { "$ref": "#/components/schemas/Volume Fields" } } }, "Volume Types": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "volume_types": { "type": "array", "items": { "type": "string" } } } }, "Attach Volumes Payload": { "type": "object", "properties": { "volume_ids": { "type": "array", "items": { "type": "integer" } } } }, "Attach Volumes": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "volume_attachments": { "type": "array", "items": { "$ref": "#/components/schemas/Attach Volume Fields" } } } }, "Attach Volume Fields": { "type": "object", "properties": { "id": { "type": "integer" }, "instance_id": { "type": "integer" }, "volume_id": { "type": "integer" }, "status": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" } } }, "Detach Volumes Payload": { "type": "object", "properties": { "volume_ids": { "type": "array", "items": { "type": "integer" } } } }, "Detach Volumes": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "volume_attachments": { "type": "array", "items": { "$ref": "#/components/schemas/Attach Volume Fields" } } } }, "Create GPU": { "required": [ "name" ], "type": "object", "properties": { "name": { "type": "string" }, "regions": { "type": "array", "items": { "type": "string" } }, "example_metadata": { "type": "string" } } }, "GPU List": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "gpu_list": { "type": "array", "items": { "$ref": "#/components/schemas/GPU Fields" } } } }, "GPU Fields": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "regions": { "type": "array", "items": { "$ref": "#/components/schemas/GPU Region Fields" } }, "example_metadata": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } }, "GPU Region Fields": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" } } }, "GPU": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "gpu": { "$ref": "#/components/schemas/GPU Fields" } } }, "Update GPU": { "type": "object", "properties": { "name": { "type": "string" }, "regions": { "type": "array", "items": { "type": "string" } }, "example_metadata": { "type": "string" } } }, "Attach Callback Payload": { "required": [ "url" ], "type": "object", "properties": { "url": { "type": "string" } } }, "Attach Callback Response": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "url": { "type": "string" } } }, "InternalInstancesResponse": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "instances": { "type": "array", "items": { "$ref": "#/components/schemas/InternalInstanceFields" } } } }, "InternalInstanceFields": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "openstack_id": { "type": "string" }, "status": { "type": "string" }, "environment": { "$ref": "#/components/schemas/InternalEnvironmentFields" }, "image": { "$ref": "#/components/schemas/InternalInstanceImageFields" }, "flavor": { "$ref": "#/components/schemas/InternalInstanceFlavorFields" }, "keypair": { "$ref": "#/components/schemas/InternalInstanceKeypairFields" }, "volume_attachments": { "type": "array", "items": { "$ref": "#/components/schemas/InternalVolumeAttachmentFields" } }, "boot_source": { "type": "string" }, "power_state": { "type": "string" }, "vm_state": { "type": "string" }, "fixed_ip": { "type": "string" }, "floating_ip": { "type": "string" }, "floating_ip_status": { "type": "string" }, "user_data": { "type": "string" }, "security_rules": { "type": "array", "items": { "$ref": "#/components/schemas/InternalSecurityRulesFieldsForInstance" } }, "callback_url": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" } } }, "InternalEnvironmentFields": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "region": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" } } }, "InternalInstanceImageFields": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "region_name": { "type": "string" }, "type": { "type": "string" }, "version": { "type": "string" } } }, "InternalInstanceFlavorFields": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "region_name": { "type": "string" }, "cpu": { "type": "integer" }, "ram": { "type": "integer" }, "disk": { "type": "integer" }, "gpu": { "type": "string" }, "gpu_count": { "type": "integer" }, "created_at": { "type": "string", "format": "date-time" } } }, "InternalInstanceKeypairFields": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "environment": { "type": "string" }, "public_key": { "type": "string" }, "fingerprint": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" } } }, "InternalVolumeAttachmentFields": { "type": "object", "properties": { "volume": { "$ref": "#/components/schemas/InternalVolumeFields" }, "status": { "type": "string" }, "device": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" } } }, "InternalVolumeFields": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "description": { "type": "string" }, "volume_type": { "type": "string" }, "size": { "type": "string" } } }, "InternalSecurityRulesFieldsForInstance": { "type": "object", "properties": { "id": { "type": "integer" }, "direction": { "type": "string" }, "protocol": { "type": "string" }, "port_range_min": { "type": "integer" }, "port_range_max": { "type": "integer" }, "ethertype": { "type": "string" }, "remote_ip_prefix": { "type": "string" }, "status": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" } } }, "InternalVolumesResponse": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "volumes": { "type": "array", "items": { "$ref": "#/components/schemas/InternalVolumeFields" } } } }, "RegionPayload": { "required": [ "name" ], "type": "object", "properties": { "name": { "type": "string" }, "description": { "type": "string" } } }, "Regions": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "regions": { "type": "array", "items": { "$ref": "#/components/schemas/Region Fields" } } } }, "Region Fields": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "description": { "type": "string" } } }, "RegionResponse": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "region": { "$ref": "#/components/schemas/Region Fields" } } }, "Templates": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "templates": { "type": "array", "items": { "$ref": "#/components/schemas/Template Fields" } } } }, "Template Fields": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "description": { "type": "string" }, "content": { "type": "string" }, "is_public": { "type": "boolean" }, "created_at": { "type": "string", "format": "date-time" } } }, "Template": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "template": { "$ref": "#/components/schemas/Template Fields" } } }, "Update Template": { "type": "object", "properties": { "name": { "type": "string" }, "description": { "type": "string" }, "is_public": { "type": "boolean" } } }, "Start Deployment Payload": { "required": [ "description", "name", "template_id" ], "type": "object", "properties": { "name": { "type": "string" }, "description": { "type": "string" }, "template_id": { "type": "integer" }, "variables": { "type": "object", "additionalProperties": { "type": "string" } } } }, "Deployments": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "deployments": { "type": "array", "items": { "$ref": "#/components/schemas/Deployment Fields" } } } }, "Deployment Fields": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "description": { "type": "string" }, "template": { "type": "string" }, "status": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" } } }, "Start Deployment": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "deployment": { "$ref": "#/components/schemas/Deployment Fields for start deployments" } } }, "Deployment Fields for start deployments": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "description": { "type": "string" }, "template": { "type": "string" }, "status": { "type": "string" }, "variables": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" } } }, "Security Rules Protocol Fields": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "protocols": { "type": "array", "items": { "type": "string" } } } }, "Create Profile Payload": { "required": [ "data", "name" ], "type": "object", "properties": { "name": { "type": "string" }, "description": { "type": "string" }, "data": { "type": "object", "additionalProperties": { "type": "string" } } } }, "Profile List Response": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "profiles": { "type": "array", "items": { "$ref": "#/components/schemas/Profile Fields" } } } }, "Profile Fields": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "description": { "type": "string" }, "data": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" } } }, "Create Profile Response": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "profile": { "$ref": "#/components/schemas/Profile Fields" } } }, "Organization Resource List": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "organizations": { "type": "array", "items": { "$ref": "#/components/schemas/Organization Resources" } } } }, "Organization Resources": { "type": "object", "properties": { "organization_id": { "type": "integer" }, "environments": { "type": "array", "items": { "$ref": "#/components/schemas/Envrionment Resources" } } } }, "Envrionment Resources": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "region": { "type": "string" }, "instances": { "type": "array", "items": { "$ref": "#/components/schemas/Instance Resources" } }, "volumes": { "type": "array", "items": { "$ref": "#/components/schemas/Volume Resource" } }, "containers": { "type": "array", "items": { "$ref": "#/components/schemas/Container Resource" } }, "clusters": { "type": "array", "items": { "$ref": "#/components/schemas/Cluster Resource" } }, "created_at": { "type": "string", "format": "date-time" } } }, "Instance Resources": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "host": { "type": "string" }, "status": { "type": "string" }, "flavor": { "$ref": "#/components/schemas/Flavor Resource" }, "image_id": { "type": "integer" }, "volume_id": { "type": "integer" }, "keypair_name": { "type": "string" }, "fixed_ip": { "type": "string" }, "floating_ip": { "type": "string" }, "floating_ip_status": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" } } }, "Flavor Resource": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "cpu": { "type": "integer" }, "ram": { "type": "number" }, "disk": { "type": "integer" }, "gpu": { "type": "string" }, "gpu_count": { "type": "integer" } } }, "Volume Resource": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "type": { "type": "string" }, "size": { "type": "integer" }, "status": { "type": "string" }, "bootable": { "type": "boolean" }, "created_at": { "type": "string", "format": "date-time" } } }, "Container Resource": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "flavor": { "$ref": "#/components/schemas/Flavor Resource" }, "status": { "type": "string" }, "image": { "type": "string" }, "fixed_ip": { "type": "string" }, "floating_ip": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" } } }, "Cluster Resource": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "kubernetes_version": { "type": "string" }, "status": { "type": "string" }, "master_count": { "type": "integer" }, "node_count": { "type": "integer" }, "node_flavor": { "$ref": "#/components/schemas/Flavor Resource" }, "enable_public_ip": { "type": "boolean" }, "created_at": { "type": "string", "format": "date-time" } } }, "Organization Resource Response": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "organization": { "$ref": "#/components/schemas/Organization Resources" } } }, "CompliancePayload": { "required": [ "base_value", "gpu_model", "resource_type", "variation_max", "variation_min", "variation_unit" ], "type": "object", "properties": { "gpu_model": { "type": "string" }, "resource_type": { "type": "string" }, "base_value": { "type": "integer" }, "variation_min": { "type": "integer" }, "variation_max": { "type": "integer" }, "variation_unit": { "type": "integer" } } }, "ComplianceResponse": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "compliance": { "$ref": "#/components/schemas/ComplianceFields" } } }, "ComplianceFields": { "type": "object", "properties": { "gpu_model": { "type": "string" }, "cpu": { "type": "array", "items": { "type": "integer" } }, "ram": { "type": "array", "items": { "type": "integer" } }, "hdd": { "type": "array", "items": { "type": "integer" } } } }, "CreateUpdateComplianceResponse": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "compliance": { "$ref": "#/components/schemas/ComplianceModelFields" } } }, "ComplianceModelFields": { "type": "object", "properties": { "id": { "type": "integer" }, "gpu_model": { "type": "string" }, "resource_type": { "type": "string" }, "base_value": { "type": "integer" }, "variation_min": { "type": "integer" }, "variation_max": { "type": "integer" }, "variation_unit": { "type": "integer" } } }, "Pricebook Model": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "value": { "type": "number" }, "original_value": { "type": "number" }, "discount_applied": { "type": "boolean" }, "start_time": { "type": "string", "format": "date-time" }, "end_time": { "type": "string", "format": "date-time" } } }, "CreateDiscountsPayload": { "required": [ "discount_resources", "discount_status", "org_id" ], "type": "object", "properties": { "org_id": { "type": "integer" }, "discount_resources": { "type": "array", "items": { "$ref": "#/components/schemas/ResourcePayload" } }, "start_date": { "type": "string", "format": "date-time" }, "end_date": { "type": "string", "format": "date-time" }, "discount_status": { "type": "string" } } }, "ResourcePayload": { "required": [ "discount_percent", "resource_id" ], "type": "object", "properties": { "resource_id": { "type": "integer" }, "discount_percent": { "type": "number" } } }, "CreateDiscountResponse": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "discount_plan": { "$ref": "#/components/schemas/InsertDiscountPlanFields" } } }, "InsertDiscountPlanFields": { "type": "object", "properties": { "org_id": { "type": "integer" }, "org_name": { "type": "string" }, "discount_resources": { "type": "array", "items": { "$ref": "#/components/schemas/DiscountResourceFields" } }, "start_date": { "type": "string", "format": "date-time" }, "end_date": { "type": "string", "format": "date-time" }, "discount_status": { "type": "string" } } }, "DiscountResourceFields": { "type": "object", "properties": { "resource_id": { "type": "integer" }, "discount_percent": { "type": "number" } } }, "GetAllDiscountForAllOrganizationResponse": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "discount_plans": { "type": "array", "items": { "$ref": "#/components/schemas/InsertDiscountPlanFields" } } } }, "UpdateDiscountsPayload": { "required": [ "discount_resources", "discount_status" ], "type": "object", "properties": { "discount_resources": { "type": "array", "items": { "$ref": "#/components/schemas/ResourcePayload" } }, "start_date": { "type": "string", "format": "date-time" }, "end_date": { "type": "string", "format": "date-time" }, "discount_status": { "type": "string" } } }, "SuccessResponseModel": { "type": "object", "properties": { "status": { "type": "boolean", "default": false }, "message": { "type": "string" } } }, "DiscountDetailResponse": { "type": "object", "properties": { "status": { "type": "boolean" }, "message": { "type": "string" }, "discount_plan": { "type": "array", "items": { "$ref": "#/components/schemas/InsertDiscountPlanFields" } } } }, "UpdateDiscountsStatusPayload": { "required": [ "discount_status" ], "type": "object", "properties": { "discount_status": { "type": "string" } } }, "Billing Response": { "type": "object", "properties": { "type": { "type": "string" }, "calculated_bills": { "type": "array", "items": { "$ref": "#/components/schemas/Organization Object Response" } } } }, "Organization Object Response": { "type": "object", "properties": { "org_id": { "type": "integer" }, "resources": { "type": "array", "items": { "$ref": "#/components/schemas/Infrahub Resource Object Response" } } } }, "Infrahub Resource Object Response": { "type": "object", "properties": { "type": { "type": "string" }, "name": { "type": "string" }, "infrahub_id": { "type": "integer" }, "status": { "type": "string" }, "host": { "type": "string" }, "resources": { "type": "array", "items": { "$ref": "#/components/schemas/Pricebook Resource Object Response" } }, "price": { "type": "number" }, "actual_price": { "type": "number" }, "host_price": { "type": "number" }, "actual_host_price": { "type": "number" }, "nexgen_price": { "type": "number" }, "nexgen_actual_price": { "type": "number" } } }, "Pricebook Resource Object Response": { "type": "object", "properties": { "type": { "type": "string" }, "name": { "type": "string" }, "amount": { "type": "integer" }, "rate": { "type": "number" }, "discounted_rate": { "type": "number" }, "price": { "type": "number" }, "actual_price": { "type": "number" }, "host_price": { "type": "number" }, "host_original_price": { "type": "number" }, "nexgen_price": { "type": "number" }, "nexgen_original_price": { "type": "number" } } }, "Admin add organization payload": { "required": [ "organization_id" ], "type": "object", "properties": { "organization_id": { "type": "integer" } } }, "Admin credit post payload": { "type": "object", "properties": { "credit": { "type": "number" } } }, "Get credit and threshold info in response": { "type": "object", "properties": { "message": { "type": "string" }, "status": { "type": "boolean" }, "data": { "$ref": "#/components/schemas/Get credit and threshold info" } } }, "Get credit and threshold info": { "type": "object", "properties": { "credit": { "type": "number" }, "threshold": { "type": "number" }, "can_create_instance": { "type": "boolean" } } }, "Admin threshold post payload": { "type": "object", "properties": { "threshold": { "type": "number" } } }, "Admin recharge history response": { "type": "object", "properties": { "message": { "type": "string" }, "status": { "type": "boolean" }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/Admin recharge history fields" } } } }, "Admin recharge history fields": { "type": "object", "properties": { "credit": { "type": "number" }, "threshold": { "type": "number" }, "prev_balance": { "type": "number" }, "curr_balance": { "type": "number" }, "medium": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" } } }, "Billing metrices response": { "type": "object", "properties": { "message": { "type": "string" }, "status": { "type": "boolean" }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/Billing metrices fields" } } } }, "Billing metrices fields": { "type": "object", "properties": { "resource_id": { "type": "integer" }, "resource_type": { "type": "string" }, "name": { "type": "string" }, "organization_id": { "type": "integer" }, "bill_per_minute": { "type": "number" }, "create_time": { "type": "string", "format": "date-time" }, "terminate_time": { "type": "string", "format": "date-time" }, "total_up_time": { "type": "number" }, "total_bill": { "type": "number" }, "active": { "type": "boolean" } } }, "Last day cost response": { "type": "object", "properties": { "message": { "type": "string" }, "status": { "type": "boolean" }, "data": { "$ref": "#/components/schemas/Last day cost fields" } } }, "Last day cost fields": { "type": "object", "properties": { "instances_cost": { "type": "number" }, "volumes_cost": { "type": "number" }, "clusters_cost": { "type": "number" }, "total_cost": { "type": "number" } } }, "Payment Initiate Payload": { "type": "object", "properties": { "amount": { "type": "number" } } }, "Payment Initiate Response": { "type": "object", "properties": { "message": { "type": "string" }, "status": { "type": "boolean" }, "data": { "$ref": "#/components/schemas/Payment Initiate Fields" } } }, "Payment Initiate Fields": { "type": "object", "properties": { "payment_id": { "type": "string" } } }, "Payment Details Response": { "type": "object", "properties": { "message": { "type": "string" }, "status": { "type": "boolean" }, "data": { "$ref": "#/components/schemas/Payment Details Fields" } } }, "Payment Details Fields": { "type": "object", "properties": { "amount": { "type": "number" }, "currency": { "type": "string" }, "paid_from": { "type": "string" }, "status": { "type": "string" }, "gateway_response": { "type": "string" }, "description": { "type": "string" }, "transaction_id": { "type": "string" }, "payment_id": { "type": "string" }, "updated_at": { "type": "string" } } } }, "responses": { "MaskError": { "description": "When any error occurs on mask", "content": {} }, "ParseError": { "description": "When a mask can't be parsed", "content": {} } }, "securitySchemes": { "accessToken": { "type": "apiKey", "description": "Bearer Token", "name": "Authorization", "in": "header" }, "apiKey": { "type": "apiKey", "description": "Send it as api_key in header", "name": "api_key", "in": "header" } } } }