{ "openapi": "3.1.0", "info": { "title": "interactEM", "version": "0.1.0" }, "paths": { "/api/v1/login/access-token": { "post": { "tags": ["login"], "summary": "Login Access Token", "description": "OAuth2 compatible token login, get an access token for future requests", "operationId": "login-login_access_token", "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/Body_login-login_access_token" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Token" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/login/external-token": { "post": { "tags": ["login"], "summary": "Login With External Token", "description": "Login with an external token (e.g., distiller)", "operationId": "login-login_with_external_token", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Token" } } } } }, "security": [{ "HTTPBearer": [] }] } }, "/api/v1/login/test-token": { "post": { "tags": ["login"], "summary": "Test Token", "description": "Test access token", "operationId": "login-test_token", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserPublic" } } } } }, "security": [{ "OAuth2PasswordBearer": [] }] } }, "/api/v1/password-recovery/{email}": { "post": { "tags": ["login"], "summary": "Recover Password", "description": "Password Recovery", "operationId": "login-recover_password", "parameters": [ { "name": "email", "in": "path", "required": true, "schema": { "type": "string", "title": "Email" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Message" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/reset-password/": { "post": { "tags": ["login"], "summary": "Reset Password", "description": "Reset password", "operationId": "login-reset_password", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NewPassword" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Message" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/password-recovery-html-content/{email}": { "post": { "tags": ["login"], "summary": "Recover Password Html Content", "description": "HTML Content for Password Recovery", "operationId": "login-recover_password_html_content", "security": [{ "OAuth2PasswordBearer": [] }], "parameters": [ { "name": "email", "in": "path", "required": true, "schema": { "type": "string", "title": "Email" } } ], "responses": { "200": { "description": "Successful Response", "content": { "text/html": { "schema": { "type": "string" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/users/": { "get": { "tags": ["users"], "summary": "Read Users", "description": "Retrieve users.", "operationId": "users-read_users", "security": [{ "OAuth2PasswordBearer": [] }], "parameters": [ { "name": "skip", "in": "query", "required": false, "schema": { "type": "integer", "default": 0, "title": "Skip" } }, { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "default": 100, "title": "Limit" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UsersPublic" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "post": { "tags": ["users"], "summary": "Create User", "description": "Create new user.", "operationId": "users-create_user", "security": [{ "OAuth2PasswordBearer": [] }], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserCreate" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserPublic" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/users/me": { "get": { "tags": ["users"], "summary": "Read User Me", "description": "Get current user.", "operationId": "users-read_user_me", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserPublic" } } } } }, "security": [{ "OAuth2PasswordBearer": [] }] }, "delete": { "tags": ["users"], "summary": "Delete User Me", "description": "Delete own user.", "operationId": "users-delete_user_me", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Message" } } } } }, "security": [{ "OAuth2PasswordBearer": [] }] }, "patch": { "tags": ["users"], "summary": "Update User Me", "description": "Update own user.", "operationId": "users-update_user_me", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserUpdateMe" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserPublic" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [{ "OAuth2PasswordBearer": [] }] } }, "/api/v1/users/me/password": { "patch": { "tags": ["users"], "summary": "Update Password Me", "description": "Update own password.", "operationId": "users-update_password_me", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdatePassword" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Message" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [{ "OAuth2PasswordBearer": [] }] } }, "/api/v1/users/signup": { "post": { "tags": ["users"], "summary": "Register User", "description": "Create new user without the need to be logged in.", "operationId": "users-register_user", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserRegister" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserPublic" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/users/{user_id}": { "get": { "tags": ["users"], "summary": "Read User By Id", "description": "Get a specific user by id.", "operationId": "users-read_user_by_id", "security": [{ "OAuth2PasswordBearer": [] }], "parameters": [ { "name": "user_id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "User Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserPublic" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "patch": { "tags": ["users"], "summary": "Update User", "description": "Update a user.", "operationId": "users-update_user", "security": [{ "OAuth2PasswordBearer": [] }], "parameters": [ { "name": "user_id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "User Id" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserUpdate" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserPublic" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": ["users"], "summary": "Delete User", "description": "Delete a user.", "operationId": "users-delete_user", "security": [{ "OAuth2PasswordBearer": [] }], "parameters": [ { "name": "user_id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "User Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Message" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/utils/test-email/": { "post": { "tags": ["utils"], "summary": "Test Email", "description": "Test emails.", "operationId": "utils-test_email", "security": [{ "OAuth2PasswordBearer": [] }], "parameters": [ { "name": "email_to", "in": "query", "required": true, "schema": { "type": "string", "format": "email", "title": "Email To" } } ], "responses": { "201": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Message" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/pipelines/": { "get": { "tags": ["pipelines"], "summary": "Read Pipelines", "description": "Retrieve pipelines, ordered by last updated. Includes pipeline name.", "operationId": "pipelines-read_pipelines", "security": [{ "OAuth2PasswordBearer": [] }], "parameters": [ { "name": "skip", "in": "query", "required": false, "schema": { "type": "integer", "minimum": 0, "default": 0, "title": "Skip" } }, { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "maximum": 200, "minimum": 1, "default": 100, "title": "Limit" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PipelinesPublic" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "post": { "tags": ["pipelines"], "summary": "Create Pipeline", "description": "Create new pipeline.", "operationId": "pipelines-create_pipeline", "security": [{ "OAuth2PasswordBearer": [] }], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PipelineCreate" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PipelinePublic" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/pipelines/{id}": { "get": { "tags": ["pipelines"], "summary": "Read Pipeline", "description": "Get pipeline by ID.", "operationId": "pipelines-read_pipeline", "security": [{ "OAuth2PasswordBearer": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PipelinePublic" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "patch": { "tags": ["pipelines"], "summary": "Update Pipeline", "description": "Update a pipeline's name.", "operationId": "pipelines-update_pipeline", "security": [{ "OAuth2PasswordBearer": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Id" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PipelineUpdate" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PipelinePublic" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": ["pipelines"], "summary": "Delete Pipeline", "description": "Delete an pipeline.", "operationId": "pipelines-delete_pipeline", "security": [{ "OAuth2PasswordBearer": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Message" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/pipelines/{id}/revisions": { "get": { "tags": ["pipelines"], "summary": "List Pipeline Revisions", "description": "List revisions for a pipeline (paginated).", "operationId": "pipelines-list_pipeline_revisions", "security": [{ "OAuth2PasswordBearer": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Id" } }, { "name": "skip", "in": "query", "required": false, "schema": { "type": "integer", "minimum": 0, "default": 0, "title": "Skip" } }, { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "maximum": 100, "minimum": 1, "default": 20, "title": "Limit" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/PipelineRevisionPublic" }, "title": "Response Pipelines-List Pipeline Revisions" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "post": { "tags": ["pipelines"], "summary": "Add Pipeline Revision", "description": "Add a new revision to a pipeline.", "operationId": "pipelines-add_pipeline_revision", "security": [{ "OAuth2PasswordBearer": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Id" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PipelineRevisionCreate" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PipelineRevisionPublic" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/pipelines/{id}/revisions/{revision_id}": { "get": { "tags": ["pipelines"], "summary": "Read Pipeline Revision", "description": "Get specific revision data for a pipeline.", "operationId": "pipelines-read_pipeline_revision", "security": [{ "OAuth2PasswordBearer": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Id" } }, { "name": "revision_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Revision Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PipelineRevisionPublic" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "patch": { "tags": ["pipelines"], "summary": "Update Pipeline Revision", "description": "Update a specific pipeline revision.", "operationId": "pipelines-update_pipeline_revision", "security": [{ "OAuth2PasswordBearer": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Id" } }, { "name": "revision_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Revision Id" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PipelineRevisionUpdate" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PipelineRevisionPublic" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/pipelines/{id}/revisions/{revision_id}/run": { "post": { "tags": ["pipelines"], "summary": "Run Pipeline", "description": "Run a specific revision of a pipeline.", "operationId": "pipelines-run_pipeline", "security": [{ "OAuth2PasswordBearer": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Id" } }, { "name": "revision_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Revision Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PipelineRevisionPublic" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/pipelines/{id}/revisions/{revision_id}/stop": { "post": { "tags": ["pipelines"], "summary": "Stop Pipeline", "operationId": "pipelines-stop_pipeline", "security": [{ "OAuth2PasswordBearer": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Id" } }, { "name": "revision_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Revision Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PipelineRevisionPublic" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/operators/": { "get": { "tags": ["operators"], "summary": "Read Operators", "description": "Retrieve available operators.", "operationId": "operators-read_operators", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Operators" } } } } }, "security": [{ "OAuth2PasswordBearer": [] }] } }, "/api/v1/agents/launch": { "post": { "tags": ["agents"], "summary": "Launch Agent", "description": "Launch an agent remotely.", "operationId": "agents-launch_agent", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgentCreateEvent" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [{ "OAuth2PasswordBearer": [] }] } } }, "components": { "schemas": { "AgentCreateEvent": { "properties": { "machine": { "$ref": "#/components/schemas/PublicHost" }, "duration": { "type": "string", "format": "duration", "title": "Duration" }, "compute_type": { "$ref": "#/components/schemas/ComputeType" }, "num_nodes": { "type": "integer", "title": "Num Nodes" }, "extra": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Extra" } }, "type": "object", "required": ["machine", "duration", "compute_type", "num_nodes"], "title": "AgentCreateEvent" }, "Body_login-login_access_token": { "properties": { "grant_type": { "anyOf": [ { "type": "string", "pattern": "^password$" }, { "type": "null" } ], "title": "Grant Type" }, "username": { "type": "string", "title": "Username" }, "password": { "type": "string", "title": "Password" }, "scope": { "type": "string", "title": "Scope", "default": "" }, "client_id": { "anyOf": [{ "type": "string" }, { "type": "null" }], "title": "Client Id" }, "client_secret": { "anyOf": [{ "type": "string" }, { "type": "null" }], "title": "Client Secret" } }, "type": "object", "required": ["username", "password"], "title": "Body_login-login_access_token" }, "ComputeType": { "type": "string", "enum": ["gpu", "cpu"], "title": "ComputeType" }, "HTTPValidationError": { "properties": { "detail": { "items": { "$ref": "#/components/schemas/ValidationError" }, "type": "array", "title": "Detail" } }, "type": "object", "title": "HTTPValidationError" }, "Message": { "properties": { "message": { "type": "string", "title": "Message" } }, "type": "object", "required": ["message"], "title": "Message" }, "NewPassword": { "properties": { "token": { "type": "string", "title": "Token" }, "new_password": { "type": "string", "maxLength": 40, "minLength": 8, "title": "New Password" } }, "type": "object", "required": ["token", "new_password"], "title": "NewPassword" }, "Operator": { "properties": { "id": { "type": "string", "format": "uuid", "title": "Id" }, "label": { "type": "string", "title": "Label" }, "description": { "type": "string", "title": "Description" }, "image": { "type": "string", "title": "Image" }, "inputs": { "anyOf": [ { "items": { "$ref": "#/components/schemas/OperatorInput" }, "type": "array" }, { "type": "null" } ], "title": "Inputs" }, "outputs": { "anyOf": [ { "items": { "$ref": "#/components/schemas/OperatorOutput" }, "type": "array" }, { "type": "null" } ], "title": "Outputs" }, "parameters": { "anyOf": [ { "items": { "$ref": "#/components/schemas/OperatorParameter" }, "type": "array" }, { "type": "null" } ], "title": "Parameters" }, "tags": { "anyOf": [ { "items": { "$ref": "#/components/schemas/OperatorTag" }, "type": "array" }, { "type": "null" } ], "title": "Tags" } }, "type": "object", "required": ["id", "label", "description", "image"], "title": "Operator" }, "OperatorInput": { "properties": { "label": { "type": "string", "title": "Label" }, "description": { "type": "string", "title": "Description" } }, "type": "object", "required": ["label", "description"], "title": "OperatorInput" }, "OperatorOutput": { "properties": { "label": { "type": "string", "title": "Label" }, "description": { "type": "string", "title": "Description" } }, "type": "object", "required": ["label", "description"], "title": "OperatorOutput" }, "OperatorParameter": { "properties": { "name": { "type": "string", "title": "Name" }, "label": { "type": "string", "title": "Label" }, "description": { "type": "string", "title": "Description" }, "type": { "$ref": "#/components/schemas/ParameterType" }, "default": { "type": "string", "title": "Default" }, "required": { "type": "boolean", "title": "Required" }, "value": { "anyOf": [{ "type": "string" }, { "type": "null" }], "title": "Value" }, "options": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Options" } }, "type": "object", "required": [ "name", "label", "description", "type", "default", "required" ], "title": "OperatorParameter" }, "OperatorTag": { "properties": { "value": { "type": "string", "title": "Value" }, "description": { "anyOf": [{ "type": "string" }, { "type": "null" }], "title": "Description" } }, "type": "object", "required": ["value"], "title": "OperatorTag" }, "Operators": { "properties": { "data": { "items": { "$ref": "#/components/schemas/Operator" }, "type": "array", "title": "Data" } }, "type": "object", "required": ["data"], "title": "Operators" }, "ParameterType": { "type": "string", "enum": ["str", "int", "float", "bool", "mount", "str-enum"], "title": "ParameterType" }, "PipelineCreate": { "properties": { "data": { "additionalProperties": true, "type": "object", "title": "Data" } }, "type": "object", "required": ["data"], "title": "PipelineCreate" }, "PipelinePublic": { "properties": { "name": { "anyOf": [ { "type": "string", "maxLength": 128 }, { "type": "null" } ], "title": "Name", "default": "New Pipeline" }, "data": { "additionalProperties": true, "type": "object", "title": "Data" }, "running": { "type": "boolean", "title": "Running", "default": false }, "id": { "type": "string", "format": "uuid", "title": "Id" }, "owner_id": { "type": "string", "format": "uuid", "title": "Owner Id" }, "updated_at": { "type": "string", "format": "date-time", "title": "Updated At" }, "created_at": { "type": "string", "format": "date-time", "title": "Created At" }, "current_revision_id": { "type": "integer", "title": "Current Revision Id" } }, "type": "object", "required": [ "data", "id", "owner_id", "updated_at", "created_at", "current_revision_id" ], "title": "PipelinePublic" }, "PipelineRevisionCreate": { "properties": { "data": { "additionalProperties": true, "type": "object", "title": "Data" } }, "type": "object", "required": ["data"], "title": "PipelineRevisionCreate" }, "PipelineRevisionPublic": { "properties": { "pipeline_id": { "type": "string", "format": "uuid", "title": "Pipeline Id" }, "revision_id": { "type": "integer", "title": "Revision Id" }, "data": { "additionalProperties": true, "type": "object", "title": "Data" }, "tag": { "anyOf": [{ "type": "string" }, { "type": "null" }], "title": "Tag" }, "created_at": { "type": "string", "format": "date-time", "title": "Created At" } }, "type": "object", "required": ["pipeline_id", "revision_id", "data", "tag", "created_at"], "title": "PipelineRevisionPublic" }, "PipelineRevisionUpdate": { "properties": { "tag": { "anyOf": [ { "type": "string", "maxLength": 128 }, { "type": "null" } ], "title": "Tag" } }, "type": "object", "title": "PipelineRevisionUpdate" }, "PipelineUpdate": { "properties": { "name": { "anyOf": [ { "type": "string", "maxLength": 128 }, { "type": "null" } ], "title": "Name" } }, "type": "object", "required": ["name"], "title": "PipelineUpdate" }, "PipelinesPublic": { "properties": { "data": { "items": { "$ref": "#/components/schemas/PipelinePublic" }, "type": "array", "title": "Data" }, "count": { "type": "integer", "title": "Count" } }, "type": "object", "required": ["data", "count"], "title": "PipelinesPublic" }, "PublicHost": { "type": "string", "enum": ["dtn01", "dtns", "perlmutter"], "title": "PublicHost" }, "Token": { "properties": { "access_token": { "type": "string", "title": "Access Token" }, "token_type": { "type": "string", "title": "Token Type", "default": "bearer" }, "nats_jwt": { "type": "string", "title": "Nats Jwt" } }, "type": "object", "required": ["access_token", "nats_jwt"], "title": "Token" }, "UpdatePassword": { "properties": { "current_password": { "type": "string", "maxLength": 40, "minLength": 8, "title": "Current Password" }, "new_password": { "type": "string", "maxLength": 40, "minLength": 8, "title": "New Password" } }, "type": "object", "required": ["current_password", "new_password"], "title": "UpdatePassword" }, "UserCreate": { "properties": { "email": { "type": "string", "maxLength": 255, "format": "email", "title": "Email" }, "is_active": { "type": "boolean", "title": "Is Active", "default": true }, "is_superuser": { "type": "boolean", "title": "Is Superuser", "default": false }, "is_external": { "type": "boolean", "title": "Is External", "default": false }, "full_name": { "anyOf": [ { "type": "string", "maxLength": 255 }, { "type": "null" } ], "title": "Full Name" }, "password": { "type": "string", "maxLength": 40, "minLength": 8, "title": "Password" } }, "type": "object", "required": ["email", "password"], "title": "UserCreate" }, "UserPublic": { "properties": { "email": { "type": "string", "maxLength": 255, "format": "email", "title": "Email" }, "is_active": { "type": "boolean", "title": "Is Active", "default": true }, "is_superuser": { "type": "boolean", "title": "Is Superuser", "default": false }, "is_external": { "type": "boolean", "title": "Is External", "default": false }, "full_name": { "anyOf": [ { "type": "string", "maxLength": 255 }, { "type": "null" } ], "title": "Full Name" }, "id": { "type": "string", "format": "uuid", "title": "Id" } }, "type": "object", "required": ["email", "id"], "title": "UserPublic" }, "UserRegister": { "properties": { "email": { "type": "string", "maxLength": 255, "format": "email", "title": "Email" }, "password": { "type": "string", "maxLength": 40, "minLength": 8, "title": "Password" }, "full_name": { "anyOf": [ { "type": "string", "maxLength": 255 }, { "type": "null" } ], "title": "Full Name" } }, "type": "object", "required": ["email", "password"], "title": "UserRegister" }, "UserUpdate": { "properties": { "email": { "anyOf": [ { "type": "string", "maxLength": 255, "format": "email" }, { "type": "null" } ], "title": "Email" }, "is_active": { "type": "boolean", "title": "Is Active", "default": true }, "is_superuser": { "type": "boolean", "title": "Is Superuser", "default": false }, "is_external": { "type": "boolean", "title": "Is External", "default": false }, "full_name": { "anyOf": [ { "type": "string", "maxLength": 255 }, { "type": "null" } ], "title": "Full Name" }, "password": { "anyOf": [ { "type": "string", "maxLength": 40, "minLength": 8 }, { "type": "null" } ], "title": "Password" } }, "type": "object", "title": "UserUpdate" }, "UserUpdateMe": { "properties": { "full_name": { "anyOf": [ { "type": "string", "maxLength": 255 }, { "type": "null" } ], "title": "Full Name" }, "email": { "anyOf": [ { "type": "string", "maxLength": 255, "format": "email" }, { "type": "null" } ], "title": "Email" } }, "type": "object", "title": "UserUpdateMe" }, "UsersPublic": { "properties": { "data": { "items": { "$ref": "#/components/schemas/UserPublic" }, "type": "array", "title": "Data" }, "count": { "type": "integer", "title": "Count" } }, "type": "object", "required": ["data", "count"], "title": "UsersPublic" }, "ValidationError": { "properties": { "loc": { "items": { "anyOf": [{ "type": "string" }, { "type": "integer" }] }, "type": "array", "title": "Location" }, "msg": { "type": "string", "title": "Message" }, "type": { "type": "string", "title": "Error Type" } }, "type": "object", "required": ["loc", "msg", "type"], "title": "ValidationError" } }, "securitySchemes": { "HTTPBearer": { "type": "http", "scheme": "bearer" }, "OAuth2PasswordBearer": { "type": "oauth2", "flows": { "password": { "scopes": {}, "tokenUrl": "/api/v1/login/access-token" } } } } } }