{ "openapi": "3.1.0", "info": { "title": "pollination-server", "description": "Pollination Server OpenAPI Definition", "version": "1.10.0", "contact": { "name": "PollinationSolutions", "url": "https://pollination.solutions", "email": "info@pollination.solutions" } }, "paths": { "/accounts": { "get": { "tags": [ "Accounts" ], "summary": "List Accounts on the Pollination platform", "description": "List accounts", "operationId": "list_accounts", "parameters": [ { "description": "Search string to find accounts", "required": false, "schema": { "type": "string", "title": "Search Query", "description": "Search string to find accounts" }, "name": "search", "in": "query" }, { "description": "Whether the account is for a user or an org", "required": false, "schema": { "type": "string", "title": "Account Type", "description": "Whether the account is for a user or an org" }, "name": "type", "in": "query" }, { "description": "The role the user has in relation to this account", "required": false, "schema": { "allOf": [ { "$ref": "#/components/schemas/RoleEnum" } ], "title": "User Role", "description": "The role the user has in relation to this account" }, "name": "role", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "type": "integer", "minimum": 1.0, "title": "Page number", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "type": "integer", "maximum": 100.0, "title": "Items per page", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PublicAccountList" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/accounts/{name}": { "get": { "tags": [ "Accounts" ], "summary": "Get an account by name", "description": "Retrieve an account by name", "operationId": "get_account", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Name" }, "name": "name", "in": "path" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AccountPublic" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": [ "Accounts" ], "summary": "Delete an account", "description": "Delete an account", "operationId": "delete_account", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Name" }, "name": "name", "in": "path" } ], "responses": { "204": { "description": "Deleted" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/accounts/check/{name}": { "get": { "tags": [ "Accounts" ], "summary": "Check if an account with this name exists", "description": "Check if an account name is taken", "operationId": "check_account_name", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Name" }, "name": "name", "in": "path" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/accounts/{name}/quotas": { "get": { "tags": [ "Accounts" ], "summary": "List Quotas", "operationId": "list_quotas", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Name" }, "name": "name", "in": "path" }, { "description": "The types of quotas to get", "required": false, "schema": { "items": { "$ref": "#/components/schemas/QuotaType" }, "type": "array", "title": "Quota type", "description": "The types of quotas to get" }, "name": "type", "in": "query" }, { "description": "Whether to return only quotas which are exhausted", "required": false, "schema": { "type": "boolean", "title": "Is exhausted", "description": "Whether to return only quotas which are exhausted" }, "name": "exhausted", "in": "query" }, { "description": "Whether to return only quotas which are enforced", "required": false, "schema": { "type": "boolean", "title": "Is enforced", "description": "Whether to return only quotas which are enforced" }, "name": "enforced", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "type": "integer", "minimum": 1.0, "title": "Page number", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "type": "integer", "maximum": 100.0, "title": "Items per page", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/QuotaList" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/tokens": { "get": { "tags": [ "API Tokens" ], "summary": "List user API tokens", "description": "List API tokens for the authenticated user", "operationId": "list_tokens", "parameters": [ { "description": "Page number starting from 1", "required": false, "schema": { "type": "integer", "minimum": 1.0, "title": "Page number", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "type": "integer", "maximum": 100.0, "title": "Items per page", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/APITokenList" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] } ] }, "post": { "tags": [ "API Tokens" ], "summary": "Create a new API token", "description": "Create a new API token", "operationId": "create_token", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/APITokenCreate" } } }, "required": true }, "responses": { "201": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/APITokenPrivate" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] } ] } }, "/tokens/{token_id}": { "put": { "tags": [ "API Tokens" ], "summary": "Regenerate an API token", "description": "Regenerate a token", "operationId": "regenerate_token", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Token Id" }, "name": "token_id", "in": "path" } ], "responses": { "201": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/APITokenPrivate" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] } ] }, "delete": { "tags": [ "API Tokens" ], "summary": "Delete an API Token", "description": "Delete a token", "operationId": "delete_token", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Token Id" }, "name": "token_id", "in": "path" } ], "responses": { "202": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] } ] } }, "/user": { "get": { "tags": [ "User" ], "summary": "Get authenticated user profile.", "description": "Get authenticated user profile", "operationId": "get_me", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserPrivate" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "put": { "tags": [ "User" ], "summary": "Update the authenticated user", "description": "Update the authenticated user profile", "operationId": "update_user_profile", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserUpdate" } } }, "required": true }, "responses": { "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateAccepted" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "post": { "tags": [ "User" ], "summary": "Register a new user", "description": "Create a new user.", "operationId": "create_user", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserCreate" } } }, "required": true }, "responses": { "201": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreatedContent" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "202": { "description": "Accepted" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] } ] } }, "/user/roles": { "get": { "tags": [ "User" ], "summary": "Get the authenticated user roles", "operationId": "get_roles", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "items": { "type": "string" }, "type": "array", "title": "Response Get Roles" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/user/organization-roles": { "get": { "tags": [ "User" ], "summary": "Get the authenticated user organization roles", "operationId": "get_organization_roles", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/OrganizationRole" }, "type": "array", "title": "Response Get Organization Roles" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/users": { "get": { "tags": [ "Users" ], "summary": "List Users", "operationId": "list_users", "parameters": [ { "description": "Search string to find users", "required": false, "schema": { "type": "string", "title": "Search Query", "description": "Search string to find users" }, "name": "search", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "type": "integer", "minimum": 1.0, "title": "Page number", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "type": "integer", "maximum": 100.0, "title": "Items per page", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserPublicList" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/users/check_username/{username}": { "get": { "tags": [ "Users" ], "summary": "Check if a username is already taken", "description": "Check if a username is already taken by a user or an org", "operationId": "check_username", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Username" }, "name": "username", "in": "path" } ], "responses": { "200": { "description": "Username not taken", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "deprecated": true } }, "/users/{name}": { "get": { "tags": [ "Users" ], "summary": "Get a specific user profile", "description": "Get a specific user profile by name", "operationId": "get_one_user", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Username" }, "name": "name", "in": "path" } ], "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" } } } } } } }, "/licenses/pools": { "get": { "tags": [ "Licenses" ], "summary": "Get license pools available to authenticated user", "operationId": "get_available_pools", "parameters": [ { "description": "Owner of the project", "required": false, "schema": { "items": { "type": "string" }, "type": "array", "title": "Repository Owner", "description": "Owner of the project" }, "name": "owner", "in": "query" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LicensePoolList" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/licenses/pools/{pool_id}": { "put": { "tags": [ "Licenses" ], "summary": "Update the license pool", "operationId": "update_license_pool", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Pool Id" }, "name": "pool_id", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LicensePoolUpdate" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/licenses/pools/{pool_id}/regenerate": { "post": { "tags": [ "Licenses" ], "summary": "Regenerate the license associated with the pool", "operationId": "regenerate_license_pool", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Pool Id" }, "name": "pool_id", "in": "path" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/licenses/pools/{pool_id}/permissions": { "delete": { "tags": [ "Licenses" ], "summary": "Revoke access to the license pool", "operationId": "revoke_access_to_pool", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Pool Id" }, "name": "pool_id", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LicensePoolPolicySubjectList" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LicensePoolPublic" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "patch": { "tags": [ "Licenses" ], "summary": "Grant access to the license pool", "operationId": "grant_access_to_pool", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Pool Id" }, "name": "pool_id", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LicensePoolAccessPolicyList" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LicensePoolPublic" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/licenses/pools/{pool_id}/license": { "get": { "tags": [ "Licenses" ], "summary": "Get the license associated with a pool", "operationId": "get_pool_license", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Pool Id" }, "name": "pool_id", "in": "path" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LicensePublic" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/licenses/pools/{pool_id}/activations": { "get": { "tags": [ "Licenses" ], "summary": "Get the activations for the license", "operationId": "get_license_activations", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Pool Id" }, "name": "pool_id", "in": "path" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ActivationList" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/licenses/pools/{pool_id}/activations/{activation_id}": { "delete": { "tags": [ "Licenses" ], "summary": "Delete the activation", "operationId": "delete_activation", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Pool Id" }, "name": "pool_id", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Activation Id" }, "name": "activation_id", "in": "path" } ], "responses": { "204": { "description": "Successful Response" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/licenses/trial-status": { "get": { "tags": [ "Licenses" ], "summary": "Check if an account has activated a trial for a specific product", "description": "Check whether a Pollination account has previously activated a trial\nlicense for a given product (Rhino or Revit plugin).", "operationId": "get_trial_status", "parameters": [ { "description": "The username of the account to check", "required": true, "schema": { "type": "string", "title": "Account", "description": "The username of the account to check" }, "name": "account", "in": "query" }, { "description": "The product to check (rhino_plugin or revit_plugin)", "required": true, "schema": { "allOf": [ { "$ref": "#/components/schemas/Product" } ], "description": "The product to check (rhino_plugin or revit_plugin)" }, "name": "product", "in": "query" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TrialStatusResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/orgs": { "get": { "tags": [ "Orgs" ], "summary": "List Orgs", "description": "search for orgs using query parameters", "operationId": "list_orgs", "parameters": [ { "description": "You know, for search", "required": false, "schema": { "items": { "type": "string" }, "type": "array", "title": "Search query", "description": "You know, for search", "default": [] }, "name": "search", "in": "query" }, { "description": "The account name", "required": false, "schema": { "items": { "type": "string" }, "type": "array", "title": "Account Name", "description": "The account name", "default": [] }, "name": "name", "in": "query" }, { "description": "The username of a user", "required": false, "schema": { "items": { "type": "string" }, "type": "array", "title": "Member username", "description": "The username of a user", "default": [] }, "name": "member", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "type": "integer", "minimum": 1.0, "title": "Page number", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "type": "integer", "maximum": 100.0, "title": "Items per page", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrganizationList" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "post": { "tags": [ "Orgs" ], "summary": "Create an Org", "description": "Create a new org.", "operationId": "create_org", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrganizationCreate" } } }, "required": true }, "responses": { "201": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreatedContent" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "202": { "description": "Accepted" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/orgs/{name}": { "get": { "tags": [ "Orgs" ], "summary": "Get an Org", "description": "Retrieve a org by name", "operationId": "get_org", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Name" }, "name": "name", "in": "path" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Organization" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "put": { "tags": [ "Orgs" ], "summary": "Update an Org", "description": "Update a org (must have org `owner` role)", "operationId": "update_org", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Name" }, "name": "name", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrganizationUpdate" } } }, "required": true }, "responses": { "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateAccepted" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "delete": { "tags": [ "Orgs" ], "summary": "Delete an Org", "description": "Delete a org (must have `admin` permission)", "operationId": "delete_org", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Name" }, "name": "name", "in": "path" } ], "responses": { "204": { "description": "Accepted" }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/orgs/{name}/roles": { "get": { "tags": [ "Orgs" ], "summary": "List organization roles", "description": "Retrieve a org's roles", "operationId": "get_org_roles", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Name" }, "name": "name", "in": "path" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/OrganizationRole" }, "type": "array", "title": "Response Get Org Roles" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/orgs/{name}/role-bindings": { "get": { "tags": [ "Orgs" ], "summary": "List organization role bindings", "description": "Retrieve a org's role bindings", "operationId": "get_org_role_bindings", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Name" }, "name": "name", "in": "path" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/OrganizationRoleBinding" }, "type": "array", "title": "Response Get Org Role Bindings" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/orgs/{name}/role-bindings/{role_name}/{username}": { "delete": { "tags": [ "Orgs" ], "summary": "Remove an organization role binding", "description": "Remove a role binding from the org (must have org `owner` role)", "operationId": "delete_org_role_binding", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Name" }, "name": "name", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Role Name" }, "name": "role_name", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Username" }, "name": "username", "in": "path" } ], "responses": { "204": { "description": "Accepted" }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "patch": { "tags": [ "Orgs" ], "summary": "Add or update an organization role binding", "description": "Upsert a role binding to the org (must have org `owner` role)", "operationId": "upsert_org_role_binding", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Name" }, "name": "name", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Role Name" }, "name": "role_name", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Username" }, "name": "username", "in": "path" } ], "responses": { "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateAccepted" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/orgs/{name}/members": { "get": { "tags": [ "Orgs" ], "summary": "List organization members", "description": "Retrieve a org's members", "operationId": "get_org_members", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Name" }, "name": "name", "in": "path" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrganizationMemberList" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/orgs/{name}/members/{username}/{role}": { "patch": { "tags": [ "Orgs" ], "summary": "Add or update the role of an Org Member", "description": "Upsert a member role to the org (must have org `owner` role)", "operationId": "upsert_org_member", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Name" }, "name": "name", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Username" }, "name": "username", "in": "path" }, { "required": true, "schema": { "$ref": "#/components/schemas/OrganizationRoleEnum" }, "name": "role", "in": "path" } ], "responses": { "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateAccepted" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "deprecated": true, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/orgs/{name}/members/{username}": { "post": { "tags": [ "Orgs" ], "summary": "Add a member to the Organization", "description": "Add a member to the org (must have org `owner` role)", "operationId": "add_organization_member", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Name" }, "name": "name", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Username" }, "name": "username", "in": "path" } ], "responses": { "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateAccepted" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "delete": { "tags": [ "Orgs" ], "summary": "Remove an Org member", "description": "Remove a member from the org (must have org `owner` role)", "operationId": "delete_org_member", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Name" }, "name": "name", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Username" }, "name": "username", "in": "path" } ], "responses": { "204": { "description": "Accepted" }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/orgs/{org_name}/teams": { "get": { "tags": [ "Teams" ], "summary": "List Teams", "description": "search for orgs using query parameters", "operationId": "list_org_teams", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Org Name" }, "name": "org_name", "in": "path" }, { "description": "You know, for search", "required": false, "schema": { "items": { "type": "string" }, "type": "array", "title": "Search query", "description": "You know, for search", "default": [] }, "name": "search", "in": "query" }, { "description": "The account name", "required": false, "schema": { "items": { "type": "string" }, "type": "array", "title": "Account Name", "description": "The account name", "default": [] }, "name": "name", "in": "query" }, { "description": "The ID of a user", "required": false, "schema": { "items": { "type": "string" }, "type": "array", "title": "Member ID", "description": "The ID of a user", "default": [] }, "name": "member", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "type": "integer", "minimum": 1.0, "title": "Page number", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "type": "integer", "maximum": 100.0, "title": "Items per page", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TeamList" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "post": { "tags": [ "Teams" ], "summary": "Create a Team", "description": "Create a new team (must be parent org member)", "operationId": "create_team", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Org Name" }, "name": "org_name", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TeamCreate" } } }, "required": true }, "responses": { "201": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreatedContent" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "202": { "description": "Accepted" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/orgs/{org_name}/teams/{team_slug}": { "get": { "tags": [ "Teams" ], "summary": "Get a Team", "description": "Retrieve a team by name", "operationId": "get_team", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Org Name" }, "name": "org_name", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Team Slug" }, "name": "team_slug", "in": "path" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Team" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "put": { "tags": [ "Teams" ], "summary": "Update a Team", "description": "Update a team (must have team or org `owner` role)", "operationId": "update_team", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Org Name" }, "name": "org_name", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Team Slug" }, "name": "team_slug", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TeamUpdate" } } }, "required": true }, "responses": { "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateAccepted" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "delete": { "tags": [ "Teams" ], "summary": "Delete a Team", "description": "Delete a team (must have team or org `owner` role)", "operationId": "delete_team", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Org Name" }, "name": "org_name", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Team Slug" }, "name": "team_slug", "in": "path" } ], "responses": { "204": { "description": "Accepted" }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/orgs/{org_name}/teams/{team_slug}/members": { "get": { "tags": [ "Teams" ], "summary": "List team members", "description": "Retrieve a tean's members", "operationId": "get_org_team_members", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Org Name" }, "name": "org_name", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Team Slug" }, "name": "team_slug", "in": "path" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TeamMemberList" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/orgs/{org_name}/teams/{team_slug}/members/{username}/{role}": { "patch": { "tags": [ "Teams" ], "summary": "Add or update the role of an Team Member", "description": "Upsert a member role to the team (must have org or team `owner` role)", "operationId": "upsert_org_team_member", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Org Name" }, "name": "org_name", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Team Slug" }, "name": "team_slug", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Username" }, "name": "username", "in": "path" }, { "required": true, "schema": { "$ref": "#/components/schemas/TeamRoleEnum" }, "name": "role", "in": "path" } ], "responses": { "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateAccepted" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/orgs/{org_name}/teams/{team_slug}/members/{username}": { "delete": { "tags": [ "Teams" ], "summary": "Remove a team member", "description": "Remove a member from the org (must have org `owner` role)", "operationId": "delete_org_team_member", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Org Name" }, "name": "org_name", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Team Slug" }, "name": "team_slug", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Username" }, "name": "username", "in": "path" } ], "responses": { "204": { "description": "Accepted" }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/applications": { "get": { "tags": [ "Applications" ], "summary": "List Applications", "operationId": "list_applications", "parameters": [ { "description": "Search string to find applications", "required": false, "schema": { "type": "string", "title": "Search Query", "description": "Search string to find applications" }, "name": "search", "in": "query" }, { "description": "The ID of a application to search for", "required": false, "schema": { "items": { "type": "string" }, "type": "array", "title": "Application ID", "description": "The ID of a application to search for", "default": [] }, "name": "ids", "in": "query" }, { "description": "The name of the application", "required": false, "schema": { "items": { "type": "string" }, "type": "array", "title": "Application Name", "description": "The name of the application", "default": [] }, "name": "names", "in": "query" }, { "description": "Owner of the application", "required": false, "schema": { "items": { "type": "string" }, "type": "array", "title": "Application Owner", "description": "Owner of the application", "default": [] }, "name": "owner", "in": "query" }, { "description": "Boolean check for public/private applications", "required": false, "schema": { "type": "boolean", "title": "Public Application", "description": "Boolean check for public/private applications" }, "name": "public", "in": "query" }, { "description": "Filter by deployed applications", "required": false, "schema": { "type": "boolean", "title": "Deployed", "description": "Filter by deployed applications" }, "name": "deployed", "in": "query" }, { "description": "Filter by permission on given resource", "required": false, "schema": { "items": { "type": "string" }, "type": "array", "title": "Permission Name", "description": "Filter by permission on given resource", "default": [] }, "name": "permissions", "in": "query" }, { "description": "Filter by keywords on given resource", "required": false, "schema": { "items": { "type": "string" }, "type": "array", "title": "Keywords", "description": "Filter by keywords on given resource", "default": [] }, "name": "keywords", "in": "query" }, { "description": "Key to sort the list by", "required": false, "schema": { "allOf": [ { "$ref": "#/components/schemas/ApplicationSortKey" } ], "title": "Sort By", "description": "Key to sort the list by" }, "name": "sort_by", "in": "query" }, { "description": "The order to sort the list", "required": false, "schema": { "allOf": [ { "$ref": "#/components/schemas/SortEnum" } ], "title": "Sort Order", "description": "The order to sort the list", "default": "ascending" }, "name": "sort_order", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "type": "integer", "minimum": 1.0, "title": "Page number", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "type": "integer", "maximum": 100.0, "title": "Items per page", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApplicationList" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/applications/{owner}": { "post": { "tags": [ "Applications" ], "summary": "Create an Application", "operationId": "create_application", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Owner" }, "name": "owner", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApplicationCreate" } } }, "required": true }, "responses": { "201": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Application" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "202": { "description": "Accepted" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/applications/{owner}/{slug}": { "get": { "tags": [ "Applications" ], "summary": "Get an application", "operationId": "get_application", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Slug" }, "name": "slug", "in": "path" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Application" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "put": { "tags": [ "Applications" ], "summary": "Update a Application", "operationId": "update_application", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Slug" }, "name": "slug", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApplicationUpdate" } } }, "required": true }, "responses": { "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateAccepted" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "delete": { "tags": [ "Applications" ], "summary": "Delete a Application", "operationId": "delete_application", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Slug" }, "name": "slug", "in": "path" } ], "responses": { "204": { "description": "Accepted" }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/applications/{owner}/{slug}/deployment": { "get": { "tags": [ "Applications" ], "summary": "Get application deployment", "operationId": "get_application_deployment", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Slug" }, "name": "slug", "in": "path" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApplicationDeployment" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "delete": { "tags": [ "Applications" ], "summary": "Restart application deployment", "operationId": "restart_application_deployment", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Slug" }, "name": "slug", "in": "path" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/applications/{owner}/{slug}/permissions": { "get": { "tags": [ "Applications" ], "summary": "Get application access permissions", "operationId": "get_application_access_permissions", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Slug" }, "name": "slug", "in": "path" }, { "description": "Page number starting from 1", "required": false, "schema": { "type": "integer", "minimum": 1.0, "title": "Page number", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "type": "integer", "maximum": 100.0, "title": "Items per page", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" }, { "description": "The type of access policy subject", "required": false, "schema": { "items": { "type": "string" }, "type": "array", "title": "Subject Type", "description": "The type of access policy subject" }, "name": "subject_type", "in": "query" }, { "description": "An access policy permission string", "required": false, "schema": { "items": { "type": "string" }, "type": "array", "title": "PERMISSION", "description": "An access policy permission string" }, "name": "permission", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApplicationAccessPolicyList" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "delete": { "tags": [ "Applications" ], "summary": "Remove a Application permissions", "operationId": "delete_application_org_permission", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Slug" }, "name": "slug", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApplicationPolicySubject" } } }, "required": true }, "responses": { "204": { "description": "Accepted" }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "patch": { "tags": [ "Applications" ], "summary": "Upsert a new permission to a application", "operationId": "upsert_application_permission", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Slug" }, "name": "slug", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApplicationAccessPolicy" } } }, "required": true }, "responses": { "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateAccepted" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/applications/{owner}/{slug}/versions": { "get": { "tags": [ "Applications" ], "summary": "Get application versions", "operationId": "get_application_versions", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Slug" }, "name": "slug", "in": "path" }, { "description": "Page number starting from 1", "required": false, "schema": { "type": "integer", "minimum": 1.0, "title": "Page number", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "type": "integer", "maximum": 100.0, "title": "Items per page", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApplicationVersionList" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "patch": { "tags": [ "Applications" ], "summary": "Upsert a new version to a application", "operationId": "upsert_application_version", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Slug" }, "name": "slug", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NewApplicationVersion" } } }, "required": true }, "responses": { "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/S3UploadRequest" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/applications/{owner}/{slug}/versions/{tag}": { "post": { "tags": [ "Applications" ], "summary": "Upload the build package for the application version", "operationId": "upload_version_package", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Slug" }, "name": "slug", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Tag" }, "name": "tag", "in": "path" } ], "requestBody": { "content": { "multipart/form-data": { "schema": { "$ref": "#/components/schemas/Body_upload_version_package" } } }, "required": true }, "responses": { "202": { "description": "Success", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "delete": { "tags": [ "Applications" ], "summary": "Remove a Application version", "operationId": "delete_application_version", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Slug" }, "name": "slug", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Tag" }, "name": "tag", "in": "path" } ], "responses": { "204": { "description": "Accepted" }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/billing/products": { "get": { "tags": [ "Billing" ], "summary": "List available Paddle Billing products", "description": "List all available products from Paddle Billing API", "operationId": "list_billing_products", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/BillingProduct" }, "type": "array", "title": "Response List Billing Products" } } } } } } }, "/billing/transactions": { "post": { "tags": [ "Billing" ], "summary": "Create a Paddle Billing subscription transaction", "description": "Create a Paddle Billing subscription transaction", "operationId": "create_billing_subscription_transaction", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BillingSubscriptionCreate" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/app__server__rest__billing__dto__PayLink" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/billing/subscriptions/{subscription_id}/transactions": { "get": { "tags": [ "Billing" ], "summary": "List Paddle Billing transactions for a subscription", "description": "List all Billing API transactions for a subscription", "operationId": "list_billing_subscription_transactions", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Subscription Id" }, "name": "subscription_id", "in": "path" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/BillingTransaction" }, "type": "array", "title": "Response List Billing Subscription Transactions" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/billing/subscriptions/{subscription_id}/preview": { "post": { "tags": [ "Billing" ], "summary": "Preview a Paddle Billing subscription transaction", "description": "Preview the cost and details of a Billing subscription before creation", "operationId": "preview_billing_subscription", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Subscription Id" }, "name": "subscription_id", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BillingSubscriptionUpdate" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BillingTransactionPreview" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/billing/subscriptions": { "get": { "tags": [ "Billing" ], "summary": "List all Paddle Billing subscriptions", "description": "List all Paddle Billing subscriptions", "operationId": "list_billing_subscriptions", "parameters": [ { "required": false, "schema": { "type": "string", "title": "Account" }, "name": "account", "in": "query" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/BillingSubscription" }, "type": "array", "title": "Response List Billing Subscriptions" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "post": { "tags": [ "Billing" ], "summary": "Create a Paddle Billing subscription directly", "description": "Create a subscription directly via Paddle Billing API", "operationId": "create_billing_subscription_direct", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BillingSubscriptionCreate" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/app__server__rest__billing__dto__PayLink" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/billing/subscriptions/{subscription_id}": { "get": { "tags": [ "Billing" ], "summary": "Get a Paddle Billing subscription by ID", "description": "Get a Paddle Billing subscription by its ID", "operationId": "get_billing_subscription", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Subscription Id" }, "name": "subscription_id", "in": "path" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BillingSubscription" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "put": { "tags": [ "Billing" ], "summary": "Update a Paddle Billing subscription", "description": "Update a subscription directly via Paddle Billing API", "operationId": "update_billing_subscription", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Subscription Id" }, "name": "subscription_id", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BillingSubscriptionUpdate" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BillingSubscription" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "delete": { "tags": [ "Billing" ], "summary": "Cancel a Paddle Billing subscription", "description": "Cancel a subscription directly via Paddle Billing API", "operationId": "cancel_billing_subscription", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Subscription Id" }, "name": "subscription_id", "in": "path" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/billing/subscriptions/{subscription_id}/uncancel": { "post": { "tags": [ "Billing" ], "summary": "Uncancel a Paddle Billing subscription", "description": "Uncancel a subscription directly via Paddle Billing API", "operationId": "uncancel_billing_subscription", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Subscription Id" }, "name": "subscription_id", "in": "path" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BillingSubscription" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/billing/subscriptions/{subscription_id}/payment-methods": { "get": { "tags": [ "Billing" ], "summary": "List payment methods for a subscription", "description": "List all payment methods for a subscription's customer", "operationId": "list_subscription_payment_methods", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Subscription Id" }, "name": "subscription_id", "in": "path" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/BillingPaymentMethod" }, "type": "array", "title": "Response List Subscription Payment Methods" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "put": { "tags": [ "Billing" ], "summary": "Update a payment method for a subscription", "description": "Update a payment method for a subscription", "operationId": "update_subscription_payment_method", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Subscription Id" }, "name": "subscription_id", "in": "path" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BillingTransaction" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/billing/subscriptions/{subscription_id}/payment-methods/{payment_method_id}": { "delete": { "tags": [ "Billing" ], "summary": "Delete a payment method", "description": "Delete a payment method", "operationId": "delete_subscription_payment_method", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Subscription Id" }, "name": "subscription_id", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Payment Method Id" }, "name": "payment_method_id", "in": "path" } ], "responses": { "204": { "description": "Successful Response" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/billing/invoice-request": { "post": { "tags": [ "Billing" ], "summary": "Send invoice request confirmation email", "description": "Send an invoice request confirmation email with customer and product details", "operationId": "send_invoice_request_confirmation", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BillingInvoiceRequestCreate" } } }, "required": true }, "responses": { "204": { "description": "Successful Response" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects": { "get": { "tags": [ "Projects" ], "summary": "List Projects", "operationId": "list_projects", "parameters": [ { "description": "Search string to find projects", "required": false, "schema": { "type": "string", "title": "Search Query", "description": "Search string to find projects" }, "name": "search", "in": "query" }, { "description": "The ID of a project to search for", "required": false, "schema": { "items": { "type": "string" }, "type": "array", "title": "Project ID", "description": "The ID of a project to search for", "default": [] }, "name": "ids", "in": "query" }, { "description": "The name of the project", "required": false, "schema": { "items": { "type": "string" }, "type": "array", "title": "Project Name", "description": "The name of the project", "default": [] }, "name": "names", "in": "query" }, { "description": "Owner of the project", "required": false, "schema": { "items": { "type": "string" }, "type": "array", "title": "Project Owner", "description": "Owner of the project", "default": [] }, "name": "owner", "in": "query" }, { "description": "Boolean check for public/private projects", "required": false, "schema": { "type": "boolean", "title": "Public Project", "description": "Boolean check for public/private projects" }, "name": "public", "in": "query" }, { "description": "Filter by permission on given resource", "required": false, "schema": { "items": { "type": "string" }, "type": "array", "title": "Permission Name", "description": "Filter by permission on given resource", "default": [] }, "name": "permissions", "in": "query" }, { "description": "Key to sort the list by", "required": false, "schema": { "allOf": [ { "$ref": "#/components/schemas/ProjectSortKey" } ], "title": "Sort By", "description": "Key to sort the list by" }, "name": "sort_by", "in": "query" }, { "description": "The order to sort the list", "required": false, "schema": { "allOf": [ { "$ref": "#/components/schemas/SortEnum" } ], "title": "Sort Order", "description": "The order to sort the list", "default": "ascending" }, "name": "sort_order", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "type": "integer", "minimum": 1.0, "title": "Page number", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "type": "integer", "maximum": 100.0, "title": "Items per page", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProjectList" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}": { "post": { "tags": [ "Projects" ], "summary": "Create a Project", "operationId": "create_project", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Owner" }, "name": "owner", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProjectCreate" } } }, "required": true }, "responses": { "201": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreatedContent" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "202": { "description": "Accepted" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}": { "get": { "tags": [ "Projects" ], "summary": "Get a project", "operationId": "get_project", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Name" }, "name": "name", "in": "path" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Project" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "put": { "tags": [ "Projects" ], "summary": "Update a Project", "operationId": "update", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Name" }, "name": "name", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProjectUpdate" } } }, "required": true }, "responses": { "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateAccepted" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "delete": { "tags": [ "Projects" ], "summary": "Delete a Project", "operationId": "delete_project", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Name" }, "name": "name", "in": "path" } ], "responses": { "204": { "description": "Accepted" }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/permissions": { "get": { "tags": [ "Projects" ], "summary": "Get project access permissions", "operationId": "get_project_access_permissions", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Name" }, "name": "name", "in": "path" }, { "description": "Page number starting from 1", "required": false, "schema": { "type": "integer", "minimum": 1.0, "title": "Page number", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "type": "integer", "maximum": 100.0, "title": "Items per page", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" }, { "description": "The type of access policy subject", "required": false, "schema": { "items": { "type": "string" }, "type": "array", "title": "Subject Type", "description": "The type of access policy subject" }, "name": "subject_type", "in": "query" }, { "description": "An access policy permission string", "required": false, "schema": { "items": { "type": "string" }, "type": "array", "title": "PERMISSION", "description": "An access policy permission string" }, "name": "permission", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProjectAccessPolicyList" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "delete": { "tags": [ "Projects" ], "summary": "Remove a Project permissions", "operationId": "delete_project_org_permission", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Name" }, "name": "name", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProjectPolicySubject" } } }, "required": true }, "responses": { "204": { "description": "Accepted" }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "patch": { "tags": [ "Projects" ], "summary": "Upsert a new permission to a project", "operationId": "upsert_project_permission", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Name" }, "name": "name", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProjectAccessPolicy" } } }, "required": true }, "responses": { "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateAccepted" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/recipes": { "get": { "tags": [ "Projects" ], "summary": "Get project recipe versions", "operationId": "get_project_recipes", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Name" }, "name": "name", "in": "path" }, { "description": "Search string to find recipes", "required": false, "schema": { "type": "string", "title": "Search Query", "description": "Search string to find recipes" }, "name": "search", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "type": "integer", "minimum": 1.0, "title": "Page number", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "type": "integer", "maximum": 100.0, "title": "Items per page", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RecipeInterfaceList" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/recipes/repositories": { "get": { "tags": [ "Projects" ], "summary": "Get project recipe repositories", "operationId": "get_project_recipe_repositories", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Name" }, "name": "name", "in": "path" }, { "description": "Search string to find recipes", "required": false, "schema": { "type": "string", "title": "Search Query", "description": "Search string to find recipes" }, "name": "search", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "type": "integer", "minimum": 1.0, "title": "Page number", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "type": "integer", "maximum": 100.0, "title": "Items per page", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RepositoryList" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/recipes/filters": { "get": { "tags": [ "Projects" ], "summary": "Get project recipe filters", "operationId": "get_project_recipe_filters", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Name" }, "name": "name", "in": "path" }, { "description": "Page number starting from 1", "required": false, "schema": { "type": "integer", "minimum": 1.0, "title": "Page number", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "type": "integer", "maximum": 100.0, "title": "Items per page", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProjectRecipeFilterList" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "post": { "tags": [ "Projects" ], "summary": "Upsert a recipe filter to a project", "operationId": "create_project_recipe_filter", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Name" }, "name": "name", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProjectRecipeFilter" } } }, "required": true }, "responses": { "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProjectRecipeFilter" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "delete": { "tags": [ "Projects" ], "summary": "Remove a Project recipe filter", "operationId": "delete_project_recipe_filter", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Name" }, "name": "name", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProjectRecipeFilter" } } }, "required": true }, "responses": { "204": { "description": "Accepted" }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/artifacts": { "get": { "tags": [ "Artifacts" ], "summary": "List artifacts in a project folder", "operationId": "list_artifacts", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Project Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Project Name" }, "name": "name", "in": "path" }, { "description": "The path to an file within a project folder", "required": false, "schema": { "items": { "type": "string" }, "type": "array", "title": "Project File Path", "description": "The path to an file within a project folder" }, "name": "path", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "type": "integer", "minimum": 1.0, "title": "Page number", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "type": "integer", "maximum": 10000.0, "title": "Items per page", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FileMetaList" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "post": { "tags": [ "Artifacts" ], "summary": "Get an Artifact upload link.", "operationId": "create_artifact", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Project Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Project Name" }, "name": "name", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/KeyRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/S3UploadRequest" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "delete": { "tags": [ "Artifacts" ], "summary": "Delete one or many artifacts by key/prefix", "operationId": "delete_artifact", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Project Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Project Name" }, "name": "name", "in": "path" }, { "description": "The path to an file within a project folder", "required": false, "schema": { "items": { "type": "string" }, "type": "array", "title": "Project File Path", "description": "The path to an file within a project folder" }, "name": "path", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "type": "integer", "minimum": 1.0, "title": "Page number", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "type": "integer", "maximum": 10000.0, "title": "Items per page", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" } ], "responses": { "204": { "description": "Successful Response" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/artifacts/download": { "get": { "tags": [ "Artifacts" ], "summary": "Download an artifact from the project folder", "operationId": "download_artifact", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Project Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Project Name" }, "name": "name", "in": "path" }, { "description": "The path to an file within a project folder", "required": false, "schema": { "type": "string", "title": "Project File Path", "description": "The path to an file within a project folder" }, "name": "path", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": {} } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/recipes": { "get": { "tags": [ "Recipes" ], "summary": "List recipes", "operationId": "list_recipes", "parameters": [ { "description": "You know, for search", "required": false, "schema": { "items": { "type": "string" }, "type": "array", "title": "Search query", "description": "You know, for search" }, "name": "search", "in": "query" }, { "description": "The account name", "required": false, "schema": { "items": { "type": "string" }, "type": "array", "title": "Repository Name", "description": "The account name" }, "name": "name", "in": "query" }, { "description": "Owner of the project", "required": false, "schema": { "items": { "type": "string" }, "type": "array", "title": "Repository Owner", "description": "Owner of the project" }, "name": "owner", "in": "query" }, { "description": "Boolean check for public/private projects", "required": false, "schema": { "type": "boolean", "title": "Public Repository", "description": "Boolean check for public/private projects" }, "name": "public", "in": "query" }, { "description": "A keyword to index the repository by", "required": false, "schema": { "items": { "type": "string" }, "type": "array", "title": "Repository Keywords", "description": "A keyword to index the repository by" }, "name": "keyword", "in": "query" }, { "description": "Filter by permission on given resource", "required": false, "schema": { "items": { "type": "string" }, "type": "array", "title": "Permission Name", "description": "Filter by permission on given resource" }, "name": "permission", "in": "query" }, { "description": "Key to sort the list by", "required": false, "schema": { "allOf": [ { "$ref": "#/components/schemas/RepositorySortKey" } ], "title": "Sort By", "description": "Key to sort the list by" }, "name": "sort_by", "in": "query" }, { "description": "The order to sort the list", "required": false, "schema": { "allOf": [ { "$ref": "#/components/schemas/SortEnum" } ], "title": "Sort Order", "description": "The order to sort the list", "default": "ascending" }, "name": "sort_order", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "type": "integer", "minimum": 1.0, "title": "Page number", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "type": "integer", "maximum": 100.0, "title": "Items per page", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RepositoryList" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/recipes/{owner}": { "post": { "tags": [ "Recipes" ], "summary": "Create a Recipe", "description": "Create a new recipe.", "operationId": "create_recipe", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Owner" }, "name": "owner", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RepositoryCreate" } } }, "required": true }, "responses": { "201": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreatedContent" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "202": { "description": "Accepted" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/recipes/{owner}/{name}": { "get": { "tags": [ "Recipes" ], "summary": "Get a recipe", "description": "Retrieve a recipe by name", "operationId": "get_recipe", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Name" }, "name": "name", "in": "path" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Repository" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "put": { "tags": [ "Recipes" ], "summary": "Update a Recipe", "description": "Update a recipe (must have `contribute` permission)", "operationId": "update_recipe", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Name" }, "name": "name", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RepositoryUpdate" } } }, "required": true }, "responses": { "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateAccepted" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "delete": { "tags": [ "Recipes" ], "summary": "Delete a Recipe", "description": "Delete a recipe (must have `admin` permission)", "operationId": "delete_recipe", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Name" }, "name": "name", "in": "path" } ], "responses": { "204": { "description": "Accepted" }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/recipes/{owner}/{name}/tags": { "get": { "tags": [ "Recipes" ], "summary": "Get a recipe tags", "description": "Retrieve a recipe by name", "operationId": "list_recipe_tags", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Name" }, "name": "name", "in": "path" }, { "description": "Key to sort the list by", "required": false, "schema": { "allOf": [ { "$ref": "#/components/schemas/PackageSortKey" } ], "title": "Sort By", "description": "Key to sort the list by" }, "name": "sort_by", "in": "query" }, { "description": "The order to sort the list", "required": false, "schema": { "allOf": [ { "$ref": "#/components/schemas/SortEnum" } ], "title": "Sort Order", "description": "The order to sort the list", "default": "ascending" }, "name": "sort_order", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "type": "integer", "minimum": 1.0, "title": "Page number", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "type": "integer", "maximum": 100.0, "title": "Items per page", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RecipePackageList" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "post": { "tags": [ "Recipes" ], "summary": "Create a new Recipe package", "description": "Create a new recipe package version", "operationId": "create_recipe_package", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Name" }, "name": "name", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NewRecipePackage" } } }, "required": true }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreatedContent" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/recipes/{owner}/{name}/tags/{tag}": { "get": { "tags": [ "Recipes" ], "summary": "Get a recipe tag", "description": "Retrieve a recipe tag by name and tag", "operationId": "get_recipe_by_tag", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Name" }, "name": "name", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Tag" }, "name": "tag", "in": "path" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RecipePackage" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/recipes/{owner}/{name}/permissions": { "get": { "tags": [ "Recipes" ], "summary": "Get recipe access permissions", "description": "Retrieve a recipe's access permissions (must have `write` permission)", "operationId": "get_recipe_access_permissions", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Name" }, "name": "name", "in": "path" }, { "description": "Page number starting from 1", "required": false, "schema": { "type": "integer", "minimum": 1.0, "title": "Page number", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "type": "integer", "maximum": 100.0, "title": "Items per page", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" }, { "description": "The type of access policy subject", "required": false, "schema": { "items": { "type": "string" }, "type": "array", "title": "Subject Type", "description": "The type of access policy subject" }, "name": "subject_type", "in": "query" }, { "description": "An access policy permission string", "required": false, "schema": { "items": { "type": "string" }, "type": "array", "title": "PERMISSION", "description": "An access policy permission string" }, "name": "permission", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RepositoryAccessPolicyList" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "delete": { "tags": [ "Recipes" ], "summary": "Remove a Repository permissions", "description": "Delete a recipe's access policy (must have `admin` permission)", "operationId": "delete_recipe_org_permission", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Name" }, "name": "name", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RepositoryPolicySubject" } } }, "required": true }, "responses": { "204": { "description": "Accepted" }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "patch": { "tags": [ "Recipes" ], "summary": "Upsert a new permission to a recipe", "description": "Upsert a recipe's access policy (must have `admin` permission)", "operationId": "upsert_recipe_permission", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Name" }, "name": "name", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RepositoryAccessPolicy" } } }, "required": true }, "responses": { "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateAccepted" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/plugins": { "get": { "tags": [ "Plugins" ], "summary": "List plugins", "operationId": "list_plugins", "parameters": [ { "description": "You know, for search", "required": false, "schema": { "items": { "type": "string" }, "type": "array", "title": "Search query", "description": "You know, for search" }, "name": "search", "in": "query" }, { "description": "The account name", "required": false, "schema": { "items": { "type": "string" }, "type": "array", "title": "Repository Name", "description": "The account name" }, "name": "name", "in": "query" }, { "description": "Owner of the project", "required": false, "schema": { "items": { "type": "string" }, "type": "array", "title": "Repository Owner", "description": "Owner of the project" }, "name": "owner", "in": "query" }, { "description": "Boolean check for public/private projects", "required": false, "schema": { "type": "boolean", "title": "Public Repository", "description": "Boolean check for public/private projects" }, "name": "public", "in": "query" }, { "description": "A keyword to index the repository by", "required": false, "schema": { "items": { "type": "string" }, "type": "array", "title": "Repository Keywords", "description": "A keyword to index the repository by" }, "name": "keyword", "in": "query" }, { "description": "Filter by permission on given resource", "required": false, "schema": { "items": { "type": "string" }, "type": "array", "title": "Permission Name", "description": "Filter by permission on given resource" }, "name": "permission", "in": "query" }, { "description": "Key to sort the list by", "required": false, "schema": { "allOf": [ { "$ref": "#/components/schemas/RepositorySortKey" } ], "title": "Sort By", "description": "Key to sort the list by" }, "name": "sort_by", "in": "query" }, { "description": "The order to sort the list", "required": false, "schema": { "allOf": [ { "$ref": "#/components/schemas/SortEnum" } ], "title": "Sort Order", "description": "The order to sort the list", "default": "ascending" }, "name": "sort_order", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "type": "integer", "minimum": 1.0, "title": "Page number", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "type": "integer", "maximum": 100.0, "title": "Items per page", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RepositoryList" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/plugins/{owner}": { "post": { "tags": [ "Plugins" ], "summary": "Create a Plugin", "description": "Create a new plugin.", "operationId": "create_plugin", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Owner" }, "name": "owner", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RepositoryCreate" } } }, "required": true }, "responses": { "201": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreatedContent" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "202": { "description": "Accepted" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/plugins/{owner}/{name}": { "get": { "tags": [ "Plugins" ], "summary": "Get a plugin", "description": "Retrieve a plugin by name", "operationId": "get_plugin", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Name" }, "name": "name", "in": "path" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Repository" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "put": { "tags": [ "Plugins" ], "summary": "Update a Plugin", "description": "Update a plugin (must have `contribute` permission)", "operationId": "update_plugin", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Name" }, "name": "name", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RepositoryUpdate" } } }, "required": true }, "responses": { "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateAccepted" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "delete": { "tags": [ "Plugins" ], "summary": "Delete a Plugin", "description": "Delete a plugin (must have `admin` permission)", "operationId": "delete_plugin", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Name" }, "name": "name", "in": "path" } ], "responses": { "204": { "description": "Accepted" }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/plugins/{owner}/{name}/tags": { "get": { "tags": [ "Plugins" ], "summary": "Get a plugin tags", "description": "Retrieve a plugin by name", "operationId": "list_plugin_tags", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Name" }, "name": "name", "in": "path" }, { "description": "Key to sort the list by", "required": false, "schema": { "allOf": [ { "$ref": "#/components/schemas/PackageSortKey" } ], "title": "Sort By", "description": "Key to sort the list by" }, "name": "sort_by", "in": "query" }, { "description": "The order to sort the list", "required": false, "schema": { "allOf": [ { "$ref": "#/components/schemas/SortEnum" } ], "title": "Sort Order", "description": "The order to sort the list", "default": "ascending" }, "name": "sort_order", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "type": "integer", "minimum": 1.0, "title": "Page number", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "type": "integer", "maximum": 100.0, "title": "Items per page", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PluginPackageList" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "post": { "tags": [ "Plugins" ], "summary": "Create a new Plugin package", "description": "Create a new plugin package version", "operationId": "create_plugin_package", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Name" }, "name": "name", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NewPluginPackage" } } }, "required": true }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreatedContent" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/plugins/{owner}/{name}/tags/{tag}": { "get": { "tags": [ "Plugins" ], "summary": "Get a plugin tag", "description": "Retrieve a plugin tag by name and tag", "operationId": "get_plugin_by_tag", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Name" }, "name": "name", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Tag" }, "name": "tag", "in": "path" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PluginPackage" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/plugins/{owner}/{name}/permissions": { "get": { "tags": [ "Plugins" ], "summary": "Get plugin access permissions", "description": "Retrieve a plugin's access permissions (must have `write` permission)", "operationId": "get_plugin_access_permissions", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Name" }, "name": "name", "in": "path" }, { "description": "Page number starting from 1", "required": false, "schema": { "type": "integer", "minimum": 1.0, "title": "Page number", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "type": "integer", "maximum": 100.0, "title": "Items per page", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" }, { "description": "The type of access policy subject", "required": false, "schema": { "items": { "type": "string" }, "type": "array", "title": "Subject Type", "description": "The type of access policy subject" }, "name": "subject_type", "in": "query" }, { "description": "An access policy permission string", "required": false, "schema": { "items": { "type": "string" }, "type": "array", "title": "PERMISSION", "description": "An access policy permission string" }, "name": "permission", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RepositoryAccessPolicyList" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "delete": { "tags": [ "Plugins" ], "summary": "Remove a Repository permissions", "description": "Delete a plugin's access policy (must have `admin` permission)", "operationId": "delete_plugin_org_permission", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Name" }, "name": "name", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RepositoryPolicySubject" } } }, "required": true }, "responses": { "204": { "description": "Accepted" }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "patch": { "tags": [ "Plugins" ], "summary": "Upsert a new permission to a plugin", "description": "Upsert a plugin's access policy (must have `admin` permission)", "operationId": "upsert_plugin_permission", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Name" }, "name": "name", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RepositoryAccessPolicy" } } }, "required": true }, "responses": { "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateAccepted" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/registries/{owner}/index.json": { "get": { "tags": [ "Registries" ], "summary": "Get Registry Index", "operationId": "get_registry_index", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Registry Owner" }, "name": "owner", "in": "path" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RepositoryIndex" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/registries/{owner}/{type}/{name}/{digest}": { "get": { "tags": [ "Registries" ], "summary": "Get Package", "operationId": "get_package", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Registry Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Repository Type" }, "name": "type", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Repository Name" }, "name": "name", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Package Digest" }, "name": "digest", "in": "path" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": {} }, "application/x-tar": {} } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/registries/{owner}/{type}/{name}/{digest}/json": { "get": { "tags": [ "Registries" ], "summary": "Get Package in JSON format", "operationId": "get_package_json", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Registry Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Repository Type" }, "name": "type", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Repository Name" }, "name": "name", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Package Digest" }, "name": "digest", "in": "path" }, { "required": false, "schema": { "type": "boolean", "title": "Boolean toggle to return a baked recipe", "default": false }, "name": "baked", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/Recipe" }, { "$ref": "#/components/schemas/Plugin" }, { "$ref": "#/components/schemas/BakedRecipe" } ], "title": "Response Get Package Json" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/registries/{owner}/plugins": { "post": { "tags": [ "Registries" ], "summary": "Push a plugin to the registry", "operationId": "post_plugin", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Registry Owner" }, "name": "owner", "in": "path" } ], "requestBody": { "content": { "multipart/form-data": { "schema": { "$ref": "#/components/schemas/Body_post_plugin" } } }, "required": true }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/registries/{owner}/recipes": { "post": { "tags": [ "Registries" ], "summary": "Push an Recipe to the registry", "operationId": "post_recipe", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Registry Owner" }, "name": "owner", "in": "path" } ], "requestBody": { "content": { "multipart/form-data": { "schema": { "$ref": "#/components/schemas/Body_post_recipe" } } }, "required": true }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/subscription-plans/": { "get": { "tags": [ "SubscriptionPlans" ], "summary": "List Subscription Plans", "operationId": "list_subscription_plans", "parameters": [ { "description": "Plan Type", "required": false, "schema": { "allOf": [ { "$ref": "#/components/schemas/PlanType" } ], "title": "Plan Type", "description": "Plan Type" }, "name": "plan-type", "in": "query" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/SubscriptionPlan" }, "type": "array", "title": "Response List Subscription Plans" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/subscriptions/": { "get": { "tags": [ "Subscriptions" ], "summary": "List Subscriptions", "operationId": "list_pollination_subscriptions", "parameters": [ { "required": false, "schema": { "type": "string", "title": "Account" }, "name": "account", "in": "query" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/Subscription" }, "type": "array", "title": "Response List Pollination Subscriptions" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "post": { "tags": [ "Subscriptions" ], "summary": "Subscribe account to subscritpion plan", "operationId": "create_subscription", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SubscriptionCreate" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/app__server__rest__subscriptions__dto__PayLink" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/subscriptions/{subscription_id}": { "get": { "tags": [ "Subscriptions" ], "summary": "Retrieve a subscription by ID", "operationId": "get_subscription", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Subscription Id" }, "name": "subscription_id", "in": "path" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Subscription" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "put": { "tags": [ "Subscriptions" ], "summary": "Update a subscription", "operationId": "update_subscription", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Subscription Id" }, "name": "subscription_id", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SubscriptionUpdate" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Subscription" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "delete": { "tags": [ "Subscriptions" ], "summary": "Cancel a subscription", "operationId": "cancel_subscription", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Subscription Id" }, "name": "subscription_id", "in": "path" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/subscriptions/{subscription_id}/preview": { "put": { "tags": [ "Subscriptions" ], "summary": "Preview the effect of a subscription update", "operationId": "update_subscription_preivew", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Subscription Id" }, "name": "subscription_id", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SubscriptionUpdate" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SubscriptionUpdateDryRun" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/subscriptions/{subscription_id}/payments": { "get": { "tags": [ "Subscriptions" ], "summary": "List Payment for a Subscription", "operationId": "list_subscription_payments", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Subscription Id" }, "name": "subscription_id", "in": "path" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/Payment" }, "type": "array", "title": "Response List Subscription Payments" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/subscriptions/{subscription_id}/quotas": { "get": { "tags": [ "Subscriptions" ], "summary": "List the quotas for a given subscription", "operationId": "list_subscription_quotas", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Subscription Id" }, "name": "subscription_id", "in": "path" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/Quota" }, "type": "array", "title": "Response List Subscription Quotas" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/jobs": { "get": { "tags": [ "Jobs" ], "summary": "List Jobs", "description": "Retrieve a list of jobs.", "operationId": "list_jobs", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Project Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Project Name" }, "name": "name", "in": "path" }, { "required": false, "schema": { "items": { "type": "string" }, "type": "array", "title": "Job IDs" }, "name": "ids", "in": "query" }, { "required": false, "schema": { "allOf": [ { "$ref": "#/components/schemas/JobStatusEnum" } ], "title": "The status of the job" }, "name": "status", "in": "query" }, { "required": false, "schema": { "type": "string", "format": "date-time", "title": "The date after which the job was created" }, "name": "created_after", "in": "query" }, { "required": false, "schema": { "type": "string", "format": "date-time", "title": "The date before which the job was created" }, "name": "created_before", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "type": "integer", "minimum": 1.0, "title": "Page number", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "type": "integer", "maximum": 100.0, "title": "Items per page", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CloudJobList" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "post": { "tags": [ "Jobs" ], "summary": "Schedule a job", "description": "Create a new job.", "operationId": "create_job", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Project Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Project Name" }, "name": "name", "in": "path" }, { "required": false, "schema": { "type": "string", "title": "Authorization" }, "name": "authorization", "in": "header" }, { "required": false, "schema": { "type": "string", "title": "X-Pollination-Token" }, "name": "x-pollination-token", "in": "header" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Job" } } }, "required": true }, "responses": { "201": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreatedContent" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/jobs/{job_id}": { "get": { "tags": [ "Jobs" ], "summary": "Get a Job", "description": "Retrieve a job.", "operationId": "get_job", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Project Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Project Name" }, "name": "name", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Job ID" }, "name": "job_id", "in": "path" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CloudJob" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "delete": { "tags": [ "Jobs" ], "summary": "Delete a Job", "description": "Delete a job.", "operationId": "delete_job", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Project Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Project Name" }, "name": "name", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Job ID" }, "name": "job_id", "in": "path" } ], "responses": { "202": { "description": "Accepted", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/jobs/{job_id}/cancel": { "put": { "tags": [ "Jobs" ], "summary": "Cancel a Job", "description": "Retrieve a job.", "operationId": "cancel_job", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Project Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Project Name" }, "name": "name", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Job ID" }, "name": "job_id", "in": "path" } ], "responses": { "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CloudJob" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/jobs/{job_id}/retry": { "put": { "tags": [ "Jobs" ], "summary": "Retry failed runs for a Job", "description": "Retry failed runs for a job.", "operationId": "retry_job", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Project Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Project Name" }, "name": "name", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Job ID" }, "name": "job_id", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RetryConfig" } } }, "required": true }, "responses": { "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CloudJob" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/jobs/{job_id}/artifacts": { "get": { "tags": [ "Jobs" ], "summary": "List files/folders in a job folder", "description": "Retrieve a list of artifacts in a job folder", "operationId": "search_job_folder", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Project Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Project Name" }, "name": "name", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Job ID" }, "name": "job_id", "in": "path" }, { "description": "The path to an file within a project folder", "required": false, "schema": { "items": { "type": "string" }, "type": "array", "title": "Project File Path", "description": "The path to an file within a project folder" }, "name": "path", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "type": "integer", "minimum": 1.0, "title": "Page number", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "type": "integer", "maximum": 10000.0, "title": "Items per page", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FileMetaList" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/jobs/{job_id}/artifacts/download": { "get": { "tags": [ "Jobs" ], "summary": "Download an artifact from the job folder", "description": "Get a download link for an artifact in a job folder", "operationId": "download_job_artifact", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Project Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Project Name" }, "name": "name", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Job id" }, "name": "job_id", "in": "path" }, { "description": "The path to an file within a project folder", "required": false, "schema": { "type": "string", "title": "Project File Path", "description": "The path to an file within a project folder" }, "name": "path", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "type": "string", "title": "Response Download Job Artifact" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/results": { "get": { "tags": [ "Runs" ], "summary": "Query run results", "description": "Retrieve a list of run results.", "operationId": "query_results", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Project Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Project Name" }, "name": "name", "in": "path" }, { "required": false, "schema": { "items": { "type": "string" }, "type": "array", "title": "Job IDs" }, "name": "job_id", "in": "query" }, { "required": false, "schema": { "allOf": [ { "$ref": "#/components/schemas/RunStatusEnum" } ], "title": "The status of the job" }, "name": "status", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "type": "integer", "minimum": 1.0, "title": "Page number", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "type": "integer", "maximum": 100.0, "title": "Items per page", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RunResultList" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/runs": { "get": { "tags": [ "Runs" ], "summary": "List runs", "description": "Retrieve a list of runs.", "operationId": "list_runs", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Project Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Project Name" }, "name": "name", "in": "path" }, { "required": false, "schema": { "items": { "type": "string" }, "type": "array", "title": "Job IDs" }, "name": "job_id", "in": "query" }, { "required": false, "schema": { "allOf": [ { "$ref": "#/components/schemas/RunStatusEnum" } ], "title": "The status of the job" }, "name": "status", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "type": "integer", "minimum": 1.0, "title": "Page number", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "type": "integer", "maximum": 100.0, "title": "Items per page", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RunList" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/runs/{run_id}": { "get": { "tags": [ "Runs" ], "summary": "Get a Run", "description": "Retrieve a run.", "operationId": "get_run", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Project Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Project Name" }, "name": "name", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Run ID" }, "name": "run_id", "in": "path" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Run" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/runs/{run_id}/retry": { "put": { "tags": [ "Runs" ], "summary": "Retry a run", "description": "Retry a run.", "operationId": "retry_run", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Project Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Project Name" }, "name": "name", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Run id." }, "name": "run_id", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RetryConfig" } } }, "required": true }, "responses": { "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Run" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/runs/{run_id}/cancel": { "put": { "tags": [ "Runs" ], "summary": "Cancel a run", "description": "Stop a run.", "operationId": "cancel_run", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Project Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Project Name" }, "name": "name", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Run id." }, "name": "run_id", "in": "path" } ], "responses": { "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Run" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/runs/{run_id}/outputs/{output_name}": { "get": { "tags": [ "Runs" ], "summary": "Get run output by name", "description": "get run output by name", "operationId": "get_run_output", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Project Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Project Name" }, "name": "name", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Run ID" }, "name": "run_id", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Output Name" }, "name": "output_name", "in": "path" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": {} } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/runs/{run_id}/steps": { "get": { "tags": [ "Runs" ], "summary": "Query the steps of a run", "description": "list run steps", "operationId": "get_run_steps", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Project Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Project Name" }, "name": "name", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Run id." }, "name": "run_id", "in": "path" }, { "required": false, "schema": { "allOf": [ { "$ref": "#/components/schemas/StepStatusEnum" } ], "title": "The status of the task" }, "name": "status", "in": "query" }, { "required": false, "schema": { "items": { "type": "string" }, "type": "array", "title": "The specific step IDs to retrieve" }, "name": "step_id", "in": "query" }, { "required": false, "schema": { "type": "string", "title": "The newest run generation to retrieve steps from" }, "name": "until_generation", "in": "query" }, { "required": false, "schema": { "type": "string", "title": "The oldest run generation to retrieve steps from" }, "name": "since_generation", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "type": "integer", "minimum": 1.0, "title": "Page number", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "type": "integer", "maximum": 100.0, "title": "Items per page", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StepList" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "deprecated": true, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/runs/{run_id}/all-steps": { "get": { "tags": [ "Runs" ], "summary": "Query the steps of a run", "description": "list all run steps", "operationId": "get_all_run_steps", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Project Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Project Name" }, "name": "name", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Run id." }, "name": "run_id", "in": "path" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/StepStatus" }, "type": "array", "title": "Response Get All Run Steps" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/runs/{run_id}/steps/{step_id}/logs": { "get": { "tags": [ "Runs" ], "summary": "Get the logs of a specific step of the run", "description": "get run step logs", "operationId": "get_run_step_logs", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Project Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Project Name" }, "name": "name", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Run id." }, "name": "run_id", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Run Task name." }, "name": "step_id", "in": "path" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "type": "string", "title": "Response Get Run Step Logs" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/runs/{run_id}/artifacts": { "get": { "tags": [ "Runs" ], "summary": "List artifacts in a run folder", "description": "Retrieve a list of artifacts in a run folder", "operationId": "list_run_artifacts", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Project Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Project Name" }, "name": "name", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Run id." }, "name": "run_id", "in": "path" }, { "description": "The path to an file within a project folder", "required": false, "schema": { "items": { "type": "string" }, "type": "array", "title": "Project File Path", "description": "The path to an file within a project folder" }, "name": "path", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "type": "integer", "minimum": 1.0, "title": "Page number", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "type": "integer", "maximum": 10000.0, "title": "Items per page", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FileMetaList" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "deprecated": true, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/runs/{run_id}/artifacts/download": { "get": { "tags": [ "Runs" ], "summary": "Download an artifact from the run folder", "description": "Get a download link for an artifact in a run folder", "operationId": "download_run_artifact", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Project Owner" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Project Name" }, "name": "name", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Run id." }, "name": "run_id", "in": "path" }, { "description": "The path to an file within a project folder", "required": false, "schema": { "type": "string", "title": "Project File Path", "description": "The path to an file within a project folder" }, "name": "path", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "type": "string", "title": "Response Download Run Artifact" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "deprecated": true, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/reports/{name}/compute-usage": { "get": { "tags": [ "Reports" ], "summary": "Get compute usage report for an account", "description": "Get compute usage report for an account", "operationId": "get_compute_usage_report", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Name" }, "name": "name", "in": "path" }, { "required": false, "schema": { "type": "string", "format": "date", "title": "From Date" }, "name": "from_date", "in": "query" }, { "required": false, "schema": { "type": "string", "format": "date", "title": "To Date" }, "name": "to_date", "in": "query" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReportComputeUsage" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/reports/{name}/organization-member-usage": { "get": { "tags": [ "Reports" ], "summary": "Get organization member usage report for an organization account", "description": "Get compute usage report for an account", "operationId": "get_org_member_usage_report", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Name" }, "name": "name", "in": "path" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReportOrganizationMemberUsage" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/reports/{name}/cad-license-usage": { "get": { "tags": [ "Reports" ], "summary": "Get CAD license usage report for an account", "description": "Get cad_license usage report for an account", "operationId": "get_cad_license_usage_report", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Name" }, "name": "name", "in": "path" }, { "required": false, "schema": { "type": "string", "format": "date", "title": "From Date" }, "name": "from_date", "in": "query" }, { "required": false, "schema": { "type": "string", "format": "date", "title": "To Date" }, "name": "to_date", "in": "query" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReportCADLicenseUsage" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } } }, "components": { "schemas": { "IOAliasHandler": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "language": { "title": "Language", "description": "Declare the language (e.g. python, csharp, etc.). This option allows the recipe to be flexible on handling different programming languages.", "type": "string" }, "module": { "title": "Module", "description": "Target module or namespace to load the alias function.", "example": "honeybee_rhino.handlers", "type": "string" }, "function": { "title": "Function", "description": "Name of the function. The input value will be passed to this function as the first argument.", "type": "string" }, "type": { "title": "Type", "default": "IOAliasHandler", "pattern": "^IOAliasHandler$", "type": "string", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "index": { "title": "Index", "description": "An integer to set the index for the order of execution. This input is only useful when there are more than one handler for the same platform and the output of one handler should be passed to another handler. This is also called chained handlers. By default all the handlers are indexed as 0 assuming they are not chained.", "default": 0, "type": "integer", "format": "int32" } }, "required": [ "language", "module", "function" ] } ], "title": "IOAliasHandler", "description": "Input and output alias handler object.", "discriminator": { "propertyName": "type" } }, "TaskReference": { "allOf": [ { "$ref": "#/components/schemas/_TaskReferenceBase" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "TaskReference", "pattern": "^TaskReference$", "type": "string", "readOnly": true } } } ], "title": "TaskReference", "description": "A Task reference for parameters other than files or folders.", "discriminator": { "propertyName": "type" } }, "FileReference": { "allOf": [ { "$ref": "#/components/schemas/_BaseReference" }, { "type": "object", "required": [ "path" ], "properties": { "path": { "title": "Path", "description": "Relative path to a file.", "type": "string" }, "type": { "title": "Type", "default": "FileReference", "pattern": "^FileReference$", "type": "string", "readOnly": true } } } ], "title": "FileReference", "description": "Reference to a file.", "discriminator": { "propertyName": "type" } }, "DAGStringOutputAlias": { "allOf": [ { "$ref": "#/components/schemas/_DAGArtifactOutputAlias" }, { "type": "object", "required": [ "from" ], "properties": { "from": { "title": "From", "description": "Reference to a file or a task output. Task output must be file.", "anyOf": [ { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/FileReference" } ] }, "type": { "title": "Type", "default": "DAGStringOutputAlias", "pattern": "^DAGStringOutputAlias$", "type": "string", "readOnly": true } } } ], "title": "DAGStringOutputAlias", "description": "DAG alias string output.\n\nThis output loads the content from a file as a string.", "discriminator": { "propertyName": "type" } }, "StepIntegerOutput": { "allOf": [ { "$ref": "#/components/schemas/FunctionIntegerOutput" }, { "type": "object", "required": [ "value" ], "properties": { "value": { "title": "Value", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "StepIntegerOutput", "pattern": "^StepIntegerOutput$", "type": "string", "readOnly": true } } } ], "title": "StepIntegerOutput", "description": "An integer output.", "discriminator": { "propertyName": "type" } }, "InputReference": { "allOf": [ { "$ref": "#/components/schemas/_InputReferenceBase" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "InputReference", "pattern": "^InputReference$", "type": "string", "readOnly": true } } } ], "title": "InputReference", "description": "An input parameter reference which is not a file or a folder.\n\nFor a file or a folder use InputFileReference, InputFolderReference or\nInputPathReference instead.", "discriminator": { "propertyName": "type" } }, "Payment": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "id": { "title": "Id", "type": "integer", "format": "int32" }, "subscription_id": { "title": "Subscription Id", "type": "integer", "format": "int32" }, "amount": { "title": "Amount", "type": "integer", "format": "int32" }, "currency": { "title": "Currency", "type": "string" }, "payout_date": { "title": "Payout Date", "type": "string", "format": "date" }, "is_paid": { "title": "Is Paid", "type": "boolean" }, "is_one_off_charge": { "title": "Is One Off Charge", "type": "boolean" }, "receipt_url": { "title": "Receipt Url", "type": "string" }, "type": { "title": "Type", "default": "Payment", "type": "string", "pattern": "^Payment$", "readOnly": true } }, "required": [ "id", "subscription_id", "amount", "currency", "payout_date", "is_paid", "is_one_off_charge" ] } ], "title": "Payment", "discriminator": { "propertyName": "type" } }, "FolderReference": { "allOf": [ { "$ref": "#/components/schemas/_BaseReference" }, { "type": "object", "required": [ "path" ], "properties": { "path": { "title": "Path", "description": "Relative path to a folder.", "type": "string" }, "type": { "title": "Type", "default": "FolderReference", "pattern": "^FolderReference$", "type": "string", "readOnly": true } } } ], "title": "FolderReference", "description": "Reference to a folder.", "discriminator": { "propertyName": "type" } }, "DAGGenericOutputAlias": { "allOf": [ { "$ref": "#/components/schemas/GenericOutput" }, { "type": "object", "required": [ "platform", "handler" ], "properties": { "platform": { "title": "Platform", "description": "Name of the client platform (e.g. Grasshopper, Revit, etc). The value can be any strings as long as it has been agreed between client-side developer and author of the recipe.", "type": "array", "items": { "type": "string" } }, "handler": { "title": "Handler", "description": "List of process actions to process the input or output value.", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" } }, "type": { "title": "Type", "default": "DAGGenericOutputAlias", "pattern": "^DAGGenericOutputAlias$", "type": "string", "readOnly": true } } } ], "title": "DAGGenericOutputAlias", "description": "DAG generic alias output.\n\nIn most cases, you should not be using the generic output unless you need a dynamic\noutput that changes its type in different platforms because of returning different\nobjects in handler.", "discriminator": { "propertyName": "type" } }, "DAGIntegerOutputAlias": { "allOf": [ { "$ref": "#/components/schemas/_DAGArtifactOutputAlias" }, { "type": "object", "required": [ "from" ], "properties": { "from": { "title": "From", "description": "Reference to a file or a task output. Task output must be file.", "anyOf": [ { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/FileReference" } ] }, "type": { "title": "Type", "default": "DAGIntegerOutputAlias", "pattern": "^DAGIntegerOutputAlias$", "type": "string", "readOnly": true } } } ], "title": "DAGIntegerOutputAlias", "description": "DAG alias integer output.\n\nThis output loads the content from a file as an integer.", "discriminator": { "propertyName": "type" } }, "DAGNumberOutputAlias": { "allOf": [ { "$ref": "#/components/schemas/_DAGArtifactOutputAlias" }, { "type": "object", "required": [ "from" ], "properties": { "from": { "title": "From", "description": "Reference to a file or a task output. Task output must be file.", "anyOf": [ { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/FileReference" } ] }, "type": { "title": "Type", "default": "DAGNumberOutputAlias", "pattern": "^DAGNumberOutputAlias$", "type": "string", "readOnly": true } } } ], "title": "DAGNumberOutputAlias", "description": "DAG alias number output.\n\nThis output loads the content from a file as a floating number.", "discriminator": { "propertyName": "type" } }, "DAGBooleanOutputAlias": { "allOf": [ { "$ref": "#/components/schemas/_DAGArtifactOutputAlias" }, { "type": "object", "required": [ "from" ], "properties": { "from": { "title": "From", "description": "Reference to a file or a task output. Task output must be file.", "anyOf": [ { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/FileReference" } ] }, "type": { "title": "Type", "default": "DAGBooleanOutputAlias", "pattern": "^DAGBooleanOutputAlias$", "type": "string", "readOnly": true } } } ], "title": "DAGBooleanOutputAlias", "description": "DAG alias boolean output.\n\nThis output loads the content from a file as a boolean.", "discriminator": { "propertyName": "type" } }, "DAGFolderOutputAlias": { "allOf": [ { "$ref": "#/components/schemas/_DAGArtifactOutputAlias" }, { "type": "object", "required": [ "from" ], "properties": { "from": { "title": "From", "description": "Reference to a folder or a task output. Task output must be folder.", "anyOf": [ { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/FolderReference" } ] }, "type": { "title": "Type", "default": "DAGFolderOutputAlias", "pattern": "^DAGFolderOutputAlias$", "type": "string", "readOnly": true } } } ], "title": "DAGFolderOutputAlias", "description": "DAG alias folder output.", "discriminator": { "propertyName": "type" } }, "DAGFileOutputAlias": { "allOf": [ { "$ref": "#/components/schemas/_DAGArtifactOutputAlias" }, { "type": "object", "required": [ "from" ], "properties": { "from": { "title": "From", "description": "Reference to a file or a task output. Task output must be file.", "anyOf": [ { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/FileReference" } ] }, "type": { "title": "Type", "default": "DAGFileOutputAlias", "pattern": "^DAGFileOutputAlias$", "type": "string", "readOnly": true } } } ], "title": "DAGFileOutputAlias", "description": "DAG alias file output.", "discriminator": { "propertyName": "type" } }, "DAGPathOutputAlias": { "allOf": [ { "$ref": "#/components/schemas/_DAGArtifactOutputAlias" }, { "type": "object", "required": [ "from" ], "properties": { "from": { "title": "From", "description": "Reference to a file, folder or a task output. Task output must either be a file or a folder.", "anyOf": [ { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/FileReference" }, { "$ref": "#/components/schemas/FolderReference" } ] }, "type": { "title": "Type", "default": "DAGPathOutputAlias", "pattern": "^DAGPathOutputAlias$", "type": "string", "readOnly": true } } } ], "title": "DAGPathOutputAlias", "description": "DAG alias path output.", "discriminator": { "propertyName": "type" } }, "ItemType": { "title": "ItemType", "description": "Type enum for items in a list.\n\nItems can not be files or folder. For a list of files you should copy them to a\nfolder and use FolderInput input instead of using ArrayInput.", "enum": [ "Generic", "String", "Integer", "Number", "Boolean", "Array", "JSONObject" ], "type": "string" }, "DAGArrayOutputAlias": { "allOf": [ { "$ref": "#/components/schemas/_DAGArtifactOutputAlias" }, { "type": "object", "required": [ "from" ], "properties": { "from": { "title": "From", "description": "Reference to a file or a task output. Task output must be file.", "anyOf": [ { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/FileReference" } ] }, "items_type": { "description": "Type of items in this array. All the items in an array must be from the same type.", "default": "String", "allOf": [ { "$ref": "#/components/schemas/ItemType" } ] }, "type": { "title": "Type", "default": "DAGArrayOutputAlias", "pattern": "^DAGArrayOutputAlias$", "type": "string", "readOnly": true } } } ], "title": "DAGArrayOutputAlias", "description": "DAG alias array output.\n\nThis output loads the content from a JSON file which must be a JSON Array.", "discriminator": { "propertyName": "type" } }, "DAGJSONObjectOutputAlias": { "allOf": [ { "$ref": "#/components/schemas/_DAGArtifactOutputAlias" }, { "type": "object", "required": [ "from" ], "properties": { "from": { "title": "From", "description": "Reference to a file or a task output. Task output must be file.", "anyOf": [ { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/FileReference" } ] }, "type": { "title": "Type", "default": "DAGJSONObjectOutputAlias", "pattern": "^DAGJSONObjectOutputAlias$", "type": "string", "readOnly": true } } } ], "title": "DAGJSONObjectOutputAlias", "description": "DAG alias object output.\n\nThis output loads the content from a file as a JSON object.", "discriminator": { "propertyName": "type" } }, "DAGLinkedOutputAlias": { "allOf": [ { "$ref": "#/components/schemas/DAGGenericOutputAlias" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "DAGLinkedOutputAlias", "pattern": "^DAGLinkedOutputAlias$", "type": "string", "readOnly": true } } } ], "title": "DAGLinkedOutputAlias", "description": "An Alias for Linked Outputs.\n\nA linked output alias will be translated to an object in the UI and stay linked to\nit.", "discriminator": { "propertyName": "type" } }, "DAGFolderOutput": { "allOf": [ { "$ref": "#/components/schemas/GenericOutput" }, { "type": "object", "required": [ "from" ], "properties": { "from": { "title": "From", "description": "Reference to a folder or a task output. Task output must be folder.", "anyOf": [ { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/FolderReference" } ] }, "alias": { "title": "Alias", "description": "A list of additional processes for loading this output on different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericOutputAlias" }, { "$ref": "#/components/schemas/DAGStringOutputAlias" }, { "$ref": "#/components/schemas/DAGIntegerOutputAlias" }, { "$ref": "#/components/schemas/DAGNumberOutputAlias" }, { "$ref": "#/components/schemas/DAGBooleanOutputAlias" }, { "$ref": "#/components/schemas/DAGFolderOutputAlias" }, { "$ref": "#/components/schemas/DAGFileOutputAlias" }, { "$ref": "#/components/schemas/DAGPathOutputAlias" }, { "$ref": "#/components/schemas/DAGArrayOutputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectOutputAlias" }, { "$ref": "#/components/schemas/DAGLinkedOutputAlias" } ] } }, "required": { "title": "Required", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true, "type": "boolean" }, "type": { "title": "Type", "default": "DAGFolderOutput", "pattern": "^DAGFolderOutput$", "type": "string", "readOnly": true } } } ], "title": "DAGFolderOutput", "description": "DAG folder output.", "discriminator": { "propertyName": "type" } }, "UserPublic": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "username": { "title": "Username", "description": "The lowercase account name for this user", "example": "ladybugbot", "type": "string" }, "name": { "title": "Name", "description": "The display name for this user", "example": "Ladybug Bot", "type": "string" }, "description": { "title": "Description", "description": "A short description of the user", "example": "Beep Boop!", "type": "string" }, "picture": { "title": "Picture", "description": "URL to the picture associated with this user", "example": "https://avatars1.githubusercontent.com/u/38131342", "type": "string" }, "type": { "title": "Type", "default": "UserPublic", "type": "string", "pattern": "^UserPublic$", "readOnly": true } }, "required": [ "username" ] } ], "title": "UserPublic", "discriminator": { "propertyName": "type" } }, "TeamRoleEnum": { "title": "TeamRoleEnum", "description": "An enumeration.", "enum": [ "owner", "member" ], "type": "string" }, "TeamMember": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "user": { "title": "User", "description": "The team member", "allOf": [ { "$ref": "#/components/schemas/UserPublic" } ] }, "role": { "description": "The role the user has within the team", "example": "member", "allOf": [ { "$ref": "#/components/schemas/TeamRoleEnum" } ] }, "type": { "title": "Type", "default": "TeamMember", "type": "string", "pattern": "^TeamMember$", "readOnly": true } }, "required": [ "user", "role" ] } ], "title": "TeamMember", "discriminator": { "propertyName": "type" } }, "TeamMemberList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "properties": { "page": { "title": "Page", "description": "The current page the pagination request is on", "type": "integer", "format": "int32" }, "per_page": { "title": "Per Page", "description": "The number of pages per pagination request", "type": "integer", "format": "int32" }, "page_count": { "title": "Page Count", "description": "The total number of pages", "type": "integer", "format": "int32" }, "total_count": { "title": "Total Count", "description": "The total number of resources matching the list request", "type": "integer", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/TeamMember" } }, "next_page": { "title": "Next Page", "description": "The next page, if this on is not the last", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "TeamMemberList", "type": "string", "pattern": "^TeamMemberList$", "readOnly": true } } } ], "title": "TeamMemberList", "description": "A list response from a pagination request", "discriminator": { "propertyName": "type" } }, "DAGArrayInputAlias": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "platform", "handler" ], "properties": { "platform": { "title": "Platform", "description": "Name of the client platform (e.g. Grasshopper, Revit, etc). The value can be any strings as long as it has been agreed between client-side developer and author of the recipe.", "type": "array", "items": { "type": "string" } }, "handler": { "title": "Handler", "description": "List of process actions to process the input or output value.", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" } }, "default": { "title": "Default", "description": "Default value to use for an input if a value was not supplied.", "type": "array", "items": {} }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "items_type": { "description": "Type of items in an array. All the items in an array must be from the same type.", "default": "String", "allOf": [ { "$ref": "#/components/schemas/ItemType" } ] }, "type": { "title": "Type", "default": "DAGArrayInputAlias", "pattern": "^DAGArrayInputAlias$", "type": "string", "readOnly": true } } } ], "title": "DAGArrayInputAlias", "description": "A JSON array input.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/array.html for\nmore information.", "discriminator": { "propertyName": "type" } }, "DAGIntegerInputAlias": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "platform", "handler" ], "properties": { "platform": { "title": "Platform", "description": "Name of the client platform (e.g. Grasshopper, Revit, etc). The value can be any strings as long as it has been agreed between client-side developer and author of the recipe.", "type": "array", "items": { "type": "string" } }, "handler": { "title": "Handler", "description": "List of process actions to process the input or output value.", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" } }, "default": { "title": "Default", "description": "Default value to use for an input if a value was not supplied.", "type": "integer", "format": "int32" }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "DAGIntegerInputAlias", "pattern": "^DAGIntegerInputAlias$", "type": "string", "readOnly": true } } } ], "title": "DAGIntegerInputAlias", "description": "An alias integer input.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/numeric.html#numeric\nfor more information.", "discriminator": { "propertyName": "type" } }, "RepositoryUpdate": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "public": { "title": "Public", "description": "Whether or not a repository is publicly viewable", "type": "boolean" }, "keywords": { "title": "Keywords", "description": "A list of keywords to index the repository by", "example": [ "daylight", "radiance" ], "type": "array", "items": { "type": "string" } }, "description": { "title": "Description", "description": "A description of the repository", "example": "Run daylight simulations the easy way!", "type": "string" }, "icon": { "title": "Icon", "description": "An icon to represent this repository", "example": "https://avatars1.githubusercontent.com/u/38131342", "type": "string" }, "type": { "title": "Type", "default": "RepositoryUpdate", "type": "string", "pattern": "^RepositoryUpdate$", "readOnly": true } } } ], "title": "RepositoryUpdate", "discriminator": { "propertyName": "type" } }, "SubjectType": { "title": "SubjectType", "description": "An enumeration.", "enum": [ "user", "team" ], "type": "string" }, "PolicySubject": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "subject_type": { "$ref": "#/components/schemas/SubjectType" }, "name": { "title": "Name", "description": "The name of the policy subject", "example": "ladybugbot", "type": "string" }, "type": { "title": "Type", "default": "PolicySubject", "type": "string", "pattern": "^PolicySubject$", "readOnly": true } }, "required": [ "subject_type", "name" ] } ], "title": "PolicySubject", "discriminator": { "propertyName": "type" } }, "APITokenPrivate": { "allOf": [ { "$ref": "#/components/schemas/APITokenCreate" }, { "type": "object", "required": [ "token" ], "properties": { "token": { "title": "Token", "description": "The decoded API token", "type": "string" }, "type": { "title": "Type", "default": "APITokenPrivate", "type": "string", "pattern": "^APITokenPrivate$", "readOnly": true } } } ], "title": "APITokenPrivate", "discriminator": { "propertyName": "type" } }, "Maintainer": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "name": { "title": "Name", "description": "The name of the author/maintainer person or organization.", "type": "string" }, "type": { "title": "Type", "default": "Maintainer", "pattern": "^Maintainer$", "type": "string", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "email": { "title": "Email", "description": "The email address of the author/maintainer person or organization.", "type": "string" } }, "required": [ "name" ] } ], "title": "Maintainer", "description": "Maintainer information", "discriminator": { "propertyName": "type" } }, "License": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "name": { "title": "Name", "description": "The license name used for the package.", "type": "string" }, "type": { "title": "Type", "default": "License", "pattern": "^License$", "type": "string", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "url": { "title": "Url", "description": "A URL to the license used for the package.", "minLength": 1, "maxLength": 65536, "format": "uri", "type": "string" } }, "required": [ "name" ] } ], "title": "License", "description": "License information for the Package", "discriminator": { "propertyName": "type" } }, "MetaData": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "name": { "title": "Name", "description": "Package name. Make it descriptive and helpful ;)", "type": "string" }, "tag": { "title": "Tag", "description": "The tag of the package", "type": "string" }, "type": { "title": "Type", "default": "MetaData", "pattern": "^MetaData$", "type": "string", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "app_version": { "title": "App Version", "description": "The version of the application code underlying the manifest", "type": "string" }, "keywords": { "title": "Keywords", "description": "A list of keywords to search the package by", "type": "array", "items": { "type": "string" } }, "maintainers": { "title": "Maintainers", "description": "A list of maintainers for the package", "type": "array", "items": { "$ref": "#/components/schemas/Maintainer" } }, "home": { "title": "Home", "description": "The URL of this package's home page", "type": "string" }, "sources": { "title": "Sources", "description": "A list of URLs to source code for this project", "type": "array", "items": { "type": "string" } }, "icon": { "title": "Icon", "description": "A URL to an SVG or PNG image to be used as an icon", "type": "string" }, "deprecated": { "title": "Deprecated", "description": "Whether this package is deprecated", "type": "boolean" }, "description": { "title": "Description", "description": "A description of what this package does", "type": "string" }, "license": { "title": "License", "description": "The license information.", "allOf": [ { "$ref": "#/components/schemas/License" } ] } }, "required": [ "name", "tag" ] } ], "title": "MetaData", "description": "Package metadata information.", "discriminator": { "propertyName": "type" } }, "DockerConfig": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "image": { "title": "Image", "description": "Docker image name. Must include tag.", "type": "string" }, "workdir": { "title": "Workdir", "description": "The working directory the entrypoint command of the container runsin. This is used to determine where to load artifacts when running in the container.", "type": "string" }, "type": { "title": "Type", "default": "DockerConfig", "pattern": "^DockerConfig", "type": "string", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "registry": { "title": "Registry", "description": "The container registry URLs that this container should be pulled from. Will default to Dockerhub if none is specified.", "type": "string" } }, "required": [ "image", "workdir" ] } ], "title": "DockerConfig", "description": "Plugin Configuration to run in a Docker container", "discriminator": { "propertyName": "type" } }, "LocalConfig": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "LocalConfig", "pattern": "^LocalConfig", "type": "string", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } } } } ], "title": "LocalConfig", "description": "Plugin Configuration to run on a desktop.", "discriminator": { "propertyName": "type" } }, "PluginConfig": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "docker": { "title": "Docker", "description": "The configuration to use this plugin in a docker container", "allOf": [ { "$ref": "#/components/schemas/DockerConfig" } ] }, "type": { "title": "Type", "default": "PluginConfig", "pattern": "^PluginConfig", "type": "string", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "local": { "title": "Local", "description": "The configuration to use this plugin locally", "allOf": [ { "$ref": "#/components/schemas/LocalConfig" } ] } }, "required": [ "docker" ] } ], "title": "PluginConfig", "description": "Plugin configuration.\n\nThe config is used to schedule functions on a desktop or in other contexts\n(ie: Docker).", "discriminator": { "propertyName": "type" } }, "DAGGenericInputAlias": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "platform", "handler" ], "properties": { "platform": { "title": "Platform", "description": "Name of the client platform (e.g. Grasshopper, Revit, etc). The value can be any strings as long as it has been agreed between client-side developer and author of the recipe.", "type": "array", "items": { "type": "string" } }, "handler": { "title": "Handler", "description": "List of process actions to process the input or output value.", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" } }, "default": { "title": "Default", "description": "Default value for generic input.", "type": "string" }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "DAGGenericInputAlias", "pattern": "^DAGGenericInputAlias$", "type": "string", "readOnly": true } } } ], "title": "DAGGenericInputAlias", "description": "Base class for DAG Alias inputs.\n\nThis class adds a handler to input to handle the process of loading the input\nfrom different graphical interfaces.", "discriminator": { "propertyName": "type" } }, "DAGStringInputAlias": { "allOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "DAGStringInputAlias", "pattern": "^DAGStringInputAlias$", "type": "string", "readOnly": true } } } ], "title": "DAGStringInputAlias", "description": "An Alias String input.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/string.html#string for\nmore information.\n\n.. code-block:: python\n\n \"schema\": {\n \"type\": \"string\",\n \"maxLength\": 50,\n \"pattern\": \"(?i)(^.*\\.epw$)\"\n }", "discriminator": { "propertyName": "type" } }, "DAGNumberInputAlias": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "platform", "handler" ], "properties": { "platform": { "title": "Platform", "description": "Name of the client platform (e.g. Grasshopper, Revit, etc). The value can be any strings as long as it has been agreed between client-side developer and author of the recipe.", "type": "array", "items": { "type": "string" } }, "handler": { "title": "Handler", "description": "List of process actions to process the input or output value.", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" } }, "default": { "title": "Default", "description": "Default value to use for an input if a value was not supplied.", "type": "number", "format": "double" }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "DAGNumberInputAlias", "pattern": "^DAGNumberInputAlias$", "type": "string", "readOnly": true } } } ], "title": "DAGNumberInputAlias", "description": "An alias number input.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/numeric.html#numeric\nfor more information.", "discriminator": { "propertyName": "type" } }, "DAGBooleanInputAlias": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "platform", "handler" ], "properties": { "platform": { "title": "Platform", "description": "Name of the client platform (e.g. Grasshopper, Revit, etc). The value can be any strings as long as it has been agreed between client-side developer and author of the recipe.", "type": "array", "items": { "type": "string" } }, "handler": { "title": "Handler", "description": "List of process actions to process the input or output value.", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" } }, "default": { "title": "Default", "description": "Default value to use for an input if a value was not supplied.", "type": "boolean" }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "DAGBooleanInputAlias", "pattern": "^DAGBooleanInputAlias$", "type": "string", "readOnly": true } } } ], "title": "DAGBooleanInputAlias", "description": "The boolean type matches only two special values: True and False.\n\nNote that values that evaluate to true or false, such as 1 and 0, are not accepted.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/boolean.html for more\ninformation.", "discriminator": { "propertyName": "type" } }, "HTTP": { "allOf": [ { "$ref": "#/components/schemas/_ArtifactSource" }, { "type": "object", "required": [ "url" ], "properties": { "url": { "title": "Url", "description": "For a HTTP endpoint this can be http://climate.onebuilding.org.", "type": "string" }, "type": { "title": "Type", "default": "HTTP", "pattern": "^HTTP$", "type": "string", "readOnly": true } } } ], "title": "HTTP", "description": "HTTP Source\n\nA web HTTP to an FTP server or an API for example.", "discriminator": { "propertyName": "type" } }, "S3": { "allOf": [ { "$ref": "#/components/schemas/_ArtifactSource" }, { "type": "object", "required": [ "key", "endpoint", "bucket" ], "properties": { "key": { "title": "Key", "description": "The path inside the bucket to source artifacts from.", "type": "string" }, "endpoint": { "title": "Endpoint", "description": "The HTTP endpoint to reach the S3 bucket.", "type": "string" }, "bucket": { "title": "Bucket", "description": "The name of the S3 bucket on the host server.", "type": "string" }, "credentials_path": { "title": "Credentials Path", "description": "Path to the file holding the AccessKey and SecretAccessKey to authenticate to the bucket. Assumes public bucket access if none are specified.", "type": "string" }, "type": { "title": "Type", "default": "S3", "pattern": "^S3$", "type": "string", "readOnly": true } } } ], "title": "S3", "description": "S3 Source\n\nAn S3 bucket artifact Source.", "discriminator": { "propertyName": "type" } }, "ProjectFolder": { "allOf": [ { "$ref": "#/components/schemas/_ArtifactSource" }, { "type": "object", "properties": { "path": { "title": "Path", "description": "The path to a folder where files and folders can be sourced. For a local filesystem this can be \"C:\\Users\\me\\jobs\\test\".", "type": "string" }, "type": { "title": "Type", "default": "ProjectFolder", "pattern": "^ProjectFolder$", "type": "string", "readOnly": true } } } ], "title": "ProjectFolder", "description": "Project Folder Source\n\nThis is the path to a folder where files and folders can be sourced. In the context\nof a desktop run Workflow this folder will correspond to a local folder. In the\ncontext of a workflow run on Pollination this folder will correspond to a Project\nscoped folder.", "discriminator": { "propertyName": "type" } }, "DAGFolderInputAlias": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "platform", "handler" ], "properties": { "platform": { "title": "Platform", "description": "Name of the client platform (e.g. Grasshopper, Revit, etc). The value can be any strings as long as it has been agreed between client-side developer and author of the recipe.", "type": "array", "items": { "type": "string" } }, "handler": { "title": "Handler", "description": "List of process actions to process the input or output value.", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" } }, "default": { "title": "Default", "description": "The default source for file if the value is not provided.", "anyOf": [ { "$ref": "#/components/schemas/HTTP" }, { "$ref": "#/components/schemas/S3" }, { "$ref": "#/components/schemas/ProjectFolder" } ] }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "DAGFolderInputAlias", "pattern": "^DAGFolderInputAlias$", "type": "string", "readOnly": true } } } ], "title": "DAGFolderInputAlias", "description": "An alias folder input.\n\nFolder is a special string input. Unlike other string inputs, a folder will be copied\nfrom its location to execution folder when a workflow is executed.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/string.html#string for\nmore information.\n\n.. code-block:: python\n\n \"schema\": {\n \"type\": \"string\",\n \"maxLength\": 50,\n }", "discriminator": { "propertyName": "type" } }, "DAGFileInputAlias": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "platform", "handler" ], "properties": { "platform": { "title": "Platform", "description": "Name of the client platform (e.g. Grasshopper, Revit, etc). The value can be any strings as long as it has been agreed between client-side developer and author of the recipe.", "type": "array", "items": { "type": "string" } }, "handler": { "title": "Handler", "description": "List of process actions to process the input or output value.", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" } }, "default": { "title": "Default", "description": "The default source for file if the value is not provided.", "anyOf": [ { "$ref": "#/components/schemas/HTTP" }, { "$ref": "#/components/schemas/S3" }, { "$ref": "#/components/schemas/ProjectFolder" } ] }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "extensions": { "title": "Extensions", "description": "Optional list of extensions for file. The check for extension is case-insensitive.", "type": "array", "items": { "type": "string" } }, "type": { "title": "Type", "default": "DAGFileInputAlias", "pattern": "^DAGFileInputAlias$", "type": "string", "readOnly": true } } } ], "title": "DAGFileInputAlias", "description": "An alias file input.\n\nFile is a special string input. Unlike other string inputs, a file will be copied\nfrom its location to execution folder when a workflow is executed.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/string.html#string for\nmore information.\n\n.. code-block:: python\n\n # a file with maximum 50 characters with an ``epw`` extension.\n\n \"schema\": {\n \"type\": \"string\",\n \"maxLength\": 50,\n \"pattern\": \"(?i)(^.*\\.epw$)\"\n }", "discriminator": { "propertyName": "type" } }, "DAGPathInputAlias": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "platform", "handler" ], "properties": { "platform": { "title": "Platform", "description": "Name of the client platform (e.g. Grasshopper, Revit, etc). The value can be any strings as long as it has been agreed between client-side developer and author of the recipe.", "type": "array", "items": { "type": "string" } }, "handler": { "title": "Handler", "description": "List of process actions to process the input or output value.", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" } }, "default": { "title": "Default", "description": "The default source for file if the value is not provided.", "anyOf": [ { "$ref": "#/components/schemas/HTTP" }, { "$ref": "#/components/schemas/S3" }, { "$ref": "#/components/schemas/ProjectFolder" } ] }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "extensions": { "title": "Extensions", "description": "Optional list of extensions for path. The check for extension is case-insensitive. The extension will only be validated for file inputs.", "type": "array", "items": { "type": "string" } }, "type": { "title": "Type", "default": "DAGPathInputAlias", "pattern": "^DAGPathInputAlias$", "type": "string", "readOnly": true } } } ], "title": "DAGPathInputAlias", "description": "A file or a folder input.\n\nUse this input only in cases that the input can be either a file or folder. For file\nor folder-only inputs see File and Folder.\n\nPath is a special string input. Unlike other string inputs, a path will be copied\nfrom its location to execution folder when a workflow is executed.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/string.html#string for\nmore information.\n\n.. code-block:: python\n\n # a file with maximum 50 characters with an ``epw`` extension.\n\n \"schema\": {\n \"type\": \"string\",\n \"maxLength\": 50,\n \"pattern\": \"(?i)(^.*\\.epw$)\"\n }", "discriminator": { "propertyName": "type" } }, "DAGJSONObjectInputAlias": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "platform", "handler" ], "properties": { "platform": { "title": "Platform", "description": "Name of the client platform (e.g. Grasshopper, Revit, etc). The value can be any strings as long as it has been agreed between client-side developer and author of the recipe.", "type": "array", "items": { "type": "string" } }, "handler": { "title": "Handler", "description": "List of process actions to process the input or output value.", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" } }, "default": { "title": "Default", "description": "Default value to use for an input if a value was not supplied.", "type": "object" }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "DAGJSONObjectInputAlias", "pattern": "^DAGJSONObjectInputAlias$", "type": "string", "readOnly": true } } } ], "title": "DAGJSONObjectInputAlias", "description": "An alias JSON object input.\n\nJSON objects are similar to Python dictionaries.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/object.html for\nmore information.", "discriminator": { "propertyName": "type" } }, "DAGLinkedInputAlias": { "allOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "DAGLinkedInputAlias", "pattern": "^DAGLinkedInputAlias$", "type": "string", "readOnly": true } } } ], "title": "DAGLinkedInputAlias", "description": "An Alias for Linked Inputs.\n\nA linked input alias will be hidden in the UI and will be linked to an object in \nthe UI using the input handler.", "discriminator": { "propertyName": "type" } }, "FunctionStringInput": { "allOf": [ { "$ref": "#/components/schemas/DAGStringInput" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "FunctionStringInput", "pattern": "^FunctionStringInput$", "type": "string", "readOnly": true } } } ], "title": "FunctionStringInput", "description": "A String input.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/string.html#string for\nmore information.\n\n.. code-block:: python\n\n \"schema\": {\n \"type\": \"string\",\n \"maxLength\": 50,\n \"pattern\": \"(?i)(^.*\\.epw$)\"\n }", "discriminator": { "propertyName": "type" } }, "FunctionIntegerInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "properties": { "default": { "title": "Default", "description": "Default value to use for an input if a value was not supplied.", "type": "integer", "format": "int32" }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "FunctionIntegerInput", "pattern": "^FunctionIntegerInput$", "type": "string", "readOnly": true } } } ], "title": "FunctionIntegerInput", "description": "An integer input.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/numeric.html#numeric\nfor more information.", "discriminator": { "propertyName": "type" } }, "FunctionNumberInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "properties": { "default": { "title": "Default", "description": "Default value to use for an input if a value was not supplied.", "type": "number", "format": "double" }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "FunctionNumberInput", "pattern": "^FunctionNumberInput$", "type": "string", "readOnly": true } } } ], "title": "FunctionNumberInput", "description": "A number input.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/numeric.html#numeric\nfor more information.", "discriminator": { "propertyName": "type" } }, "FunctionBooleanInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "properties": { "default": { "title": "Default", "description": "Default value to use for an input if a value was not supplied.", "type": "boolean" }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "FunctionBooleanInput", "pattern": "^FunctionBooleanInput$", "type": "string", "readOnly": true } } } ], "title": "FunctionBooleanInput", "description": "The boolean type matches only two special values: True and False.\n\nNote that values that evaluate to true or false, such as 1 and 0, are not accepted.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/boolean.html for more\ninformation.", "discriminator": { "propertyName": "type" } }, "FunctionFolderInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "path" ], "properties": { "path": { "title": "Path", "description": "Path to the target location that the input will be copied to. This path is relative to the working directory where the command is executed.", "type": "string" }, "default": { "title": "Default", "description": "The default source for file if the value is not provided.", "anyOf": [ { "$ref": "#/components/schemas/HTTP" }, { "$ref": "#/components/schemas/S3" }, { "$ref": "#/components/schemas/ProjectFolder" } ] }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "FunctionFolderInput", "pattern": "^FunctionFolderInput$", "type": "string", "readOnly": true } } } ], "title": "FunctionFolderInput", "description": "A folder input.\n\nFolder is a special string input. Unlike other string inputs, a folder will be copied\nfrom its location to execution folder when a workflow is executed.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/string.html#string for\nmore information.\n\n.. code-block:: python\n\n \"schema\": {\n \"type\": \"string\",\n \"maxLength\": 50,\n }", "discriminator": { "propertyName": "type" } }, "FunctionFileInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "path" ], "properties": { "path": { "title": "Path", "description": "Path to the target location that the input will be copied to. This path is relative to the working directory where the command is executed.", "type": "string" }, "default": { "title": "Default", "description": "The default source for file if the value is not provided.", "anyOf": [ { "$ref": "#/components/schemas/HTTP" }, { "$ref": "#/components/schemas/S3" }, { "$ref": "#/components/schemas/ProjectFolder" } ] }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "extensions": { "title": "Extensions", "description": "Optional list of extensions for file. The check for extension is case-insensitive.", "type": "array", "items": { "type": "string" } }, "type": { "title": "Type", "default": "FunctionFileInput", "pattern": "^FunctionFileInput$", "type": "string", "readOnly": true } } } ], "title": "FunctionFileInput", "description": "A file input.\n\nFile is a special string input. Unlike other string inputs, a file will be copied\nfrom its location to execution folder when a workflow is executed.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/string.html#string for\nmore information.\n\n.. code-block:: python\n\n # a file with maximum 50 characters with an ``epw`` extension.\n\n \"schema\": {\n \"type\": \"string\",\n \"maxLength\": 50,\n \"pattern\": \"(?i)(^.*\\.epw$)\"\n }", "discriminator": { "propertyName": "type" } }, "FunctionPathInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "path" ], "properties": { "path": { "title": "Path", "description": "Path to the target location that the input will be copied to. This path is relative to the working directory where the command is executed.", "type": "string" }, "default": { "title": "Default", "description": "The default source for file if the value is not provided.", "anyOf": [ { "$ref": "#/components/schemas/HTTP" }, { "$ref": "#/components/schemas/S3" }, { "$ref": "#/components/schemas/ProjectFolder" } ] }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "extensions": { "title": "Extensions", "description": "Optional list of extensions for file. The check for extension is case-insensitive.", "type": "array", "items": { "type": "string" } }, "type": { "title": "Type", "default": "FunctionPathInput", "pattern": "^FunctionPathInput$", "type": "string", "readOnly": true } } } ], "title": "FunctionPathInput", "description": "A file or a folder input.\n\nUse this input only in cases that the input can be either a file or folder. For file\nor folder-only inputs see File and Folder.\n\nPath is a special string input. Unlike other string inputs, a path will be copied\nfrom its location to execution folder when a workflow is executed.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/string.html#string for\nmore information.\n\n.. code-block:: python\n\n # a file with maximum 50 characters with an ``epw`` extension.\n\n \"schema\": {\n \"type\": \"string\",\n \"maxLength\": 50,\n \"pattern\": \"(?i)(^.*\\.epw$)\"\n }", "discriminator": { "propertyName": "type" } }, "FunctionArrayInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "properties": { "default": { "title": "Default", "description": "Default value to use for an input if a value was not supplied.", "type": "array", "items": {} }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "items_type": { "description": "Type of items in an array. All the items in an array must be from the same type.", "default": "String", "allOf": [ { "$ref": "#/components/schemas/ItemType" } ] }, "type": { "title": "Type", "default": "FunctionArrayInput", "pattern": "^FunctionArrayInput$", "type": "string", "readOnly": true } } } ], "title": "FunctionArrayInput", "description": "A JSON array input.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/array.html for\nmore information.", "discriminator": { "propertyName": "type" } }, "FunctionJSONObjectInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "properties": { "default": { "title": "Default", "description": "Default value to use for an input if a value was not supplied.", "type": "object" }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "FunctionJSONObjectInput", "pattern": "^FunctionJSONObjectInput$", "type": "string", "readOnly": true } } } ], "title": "FunctionJSONObjectInput", "description": "A JSON object input.\n\nJSON objects are similar to Python dictionaries.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/object.html for\nmore information.", "discriminator": { "propertyName": "type" } }, "FunctionStringOutput": { "allOf": [ { "$ref": "#/components/schemas/FunctionFileOutput" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "FunctionStringOutput", "pattern": "^FunctionStringOutput$", "type": "string", "readOnly": true } } } ], "title": "FunctionStringOutput", "description": "Function string output.\n\nThis output loads the content from a file as a string.", "discriminator": { "propertyName": "type" } }, "FunctionIntegerOutput": { "allOf": [ { "$ref": "#/components/schemas/FunctionStringOutput" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "FunctionIntegerOutput", "pattern": "^FunctionIntegerOutput$", "type": "string", "readOnly": true } } } ], "title": "FunctionIntegerOutput", "description": "Function integer output.\n\nThis output loads the content from a file as an integer.", "discriminator": { "propertyName": "type" } }, "FunctionNumberOutput": { "allOf": [ { "$ref": "#/components/schemas/FunctionStringOutput" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "FunctionNumberOutput", "pattern": "^FunctionNumberOutput$", "type": "string", "readOnly": true } } } ], "title": "FunctionNumberOutput", "description": "Function number output.\n\nThis output loads the content from a file as a floating number.", "discriminator": { "propertyName": "type" } }, "FunctionBooleanOutput": { "allOf": [ { "$ref": "#/components/schemas/FunctionStringOutput" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "FunctionBooleanOutput", "pattern": "^FunctionBooleanOutput$", "type": "string", "readOnly": true } } } ], "title": "FunctionBooleanOutput", "description": "Function boolean output.\n\nThis output loads the content from a file as a boolean.", "discriminator": { "propertyName": "type" } }, "FunctionFolderOutput": { "allOf": [ { "$ref": "#/components/schemas/PathOutput" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "FunctionFolderOutput", "pattern": "^FunctionFolderOutput$", "type": "string", "readOnly": true } } } ], "title": "FunctionFolderOutput", "description": "Function Folder output.", "discriminator": { "propertyName": "type" } }, "FunctionFileOutput": { "allOf": [ { "$ref": "#/components/schemas/PathOutput" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "FunctionFileOutput", "pattern": "^FunctionFileOutput$", "type": "string", "readOnly": true } } } ], "title": "FunctionFileOutput", "description": "Function File output.", "discriminator": { "propertyName": "type" } }, "FunctionPathOutput": { "allOf": [ { "$ref": "#/components/schemas/PathOutput" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "FunctionPathOutput", "pattern": "^FunctionPathOutput$", "type": "string", "readOnly": true } } } ], "title": "FunctionPathOutput", "description": "Function Path output.", "discriminator": { "propertyName": "type" } }, "FunctionArrayOutput": { "allOf": [ { "$ref": "#/components/schemas/FunctionStringOutput" }, { "type": "object", "properties": { "items_type": { "description": "Type of items in this array. All the items in an array must be from the same type.", "default": "String", "allOf": [ { "$ref": "#/components/schemas/ItemType" } ] }, "type": { "title": "Type", "default": "FunctionArrayOutput", "pattern": "^FunctionArrayOutput$", "type": "string", "readOnly": true } } } ], "title": "FunctionArrayOutput", "description": "Function array output.\n\nThis output loads the content from a JSON file which must be a JSON Array.", "discriminator": { "propertyName": "type" } }, "FunctionJSONObjectOutput": { "allOf": [ { "$ref": "#/components/schemas/FunctionStringOutput" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "FunctionJSONObjectOutput", "pattern": "^FunctionJSONObjectOutput$", "type": "string", "readOnly": true } } } ], "title": "FunctionJSONObjectOutput", "description": "Function object output.\n\nThis output loads the content from a file as a JSON object.", "discriminator": { "propertyName": "type" } }, "ScriptingLanguages": { "title": "ScriptingLanguages", "description": "Supported Scripting Languages", "enum": [ "python" ], "type": "string" }, "Function": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "name" ], "properties": { "name": { "title": "Name", "description": "Function name. Must be unique within a plugin.", "type": "string" }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "inputs": { "title": "Inputs", "description": "Input arguments for this function.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/FunctionStringInput" }, { "$ref": "#/components/schemas/FunctionIntegerInput" }, { "$ref": "#/components/schemas/FunctionNumberInput" }, { "$ref": "#/components/schemas/FunctionBooleanInput" }, { "$ref": "#/components/schemas/FunctionFolderInput" }, { "$ref": "#/components/schemas/FunctionFileInput" }, { "$ref": "#/components/schemas/FunctionPathInput" }, { "$ref": "#/components/schemas/FunctionArrayInput" }, { "$ref": "#/components/schemas/FunctionJSONObjectInput" } ] } }, "outputs": { "title": "Outputs", "description": "List of output arguments.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/FunctionStringOutput" }, { "$ref": "#/components/schemas/FunctionIntegerOutput" }, { "$ref": "#/components/schemas/FunctionNumberOutput" }, { "$ref": "#/components/schemas/FunctionBooleanOutput" }, { "$ref": "#/components/schemas/FunctionFolderOutput" }, { "$ref": "#/components/schemas/FunctionFileOutput" }, { "$ref": "#/components/schemas/FunctionPathOutput" }, { "$ref": "#/components/schemas/FunctionArrayOutput" }, { "$ref": "#/components/schemas/FunctionJSONObjectOutput" } ] } }, "description": { "title": "Description", "description": "Function description. A short human readable description for this function.", "type": "string" }, "command": { "title": "Command", "description": "Full shell command for this function. Each function accepts only one command. The command will be executed as a shell command in plugin. For running several commands after each other use && between the commands or pipe data from one to another using |", "type": "string" }, "language": { "description": "Programming language of the script. Currently only Python is supported.", "default": "python", "allOf": [ { "$ref": "#/components/schemas/ScriptingLanguages" } ] }, "source": { "title": "Source", "description": "Source contains the source code of the script to execute.", "type": "string" }, "type": { "title": "Type", "default": "Function", "pattern": "^Function$", "type": "string", "readOnly": true } } } ], "title": "Function", "description": "A Function with a single or a script.", "discriminator": { "propertyName": "type" } }, "Plugin": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "metadata": { "title": "Metadata", "description": "The Plugin metadata information", "allOf": [ { "$ref": "#/components/schemas/MetaData" } ] }, "config": { "title": "Config", "description": "The configuration information to run this plugin", "allOf": [ { "$ref": "#/components/schemas/PluginConfig" } ] }, "functions": { "title": "Functions", "description": "List of Plugin functions", "type": "array", "items": { "$ref": "#/components/schemas/Function" } }, "type": { "title": "Type", "default": "Plugin", "pattern": "^Plugin", "type": "string", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "api_version": { "title": "Api Version", "default": "v1beta1", "readOnly": true, "pattern": "^v1beta1$", "type": "string" } }, "required": [ "metadata", "config", "functions" ] } ], "title": "Plugin", "description": "A Queenbee Plugin.\n\nA plugin contains runtime configuration for a Command Line Interface (CLI) and\na list of functions that can be executed using this CLI tool.", "discriminator": { "propertyName": "type" } }, "NewPluginPackage": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "manifest": { "title": "Manifest", "description": "The Plugin manifest to be created", "allOf": [ { "$ref": "#/components/schemas/Plugin" } ] }, "readme": { "title": "Readme", "description": "The README file to attach to this package", "default": "", "type": "string" }, "type": { "title": "Type", "default": "NewPluginPackage", "type": "string", "pattern": "^NewPluginPackage$", "readOnly": true } }, "required": [ "manifest" ] } ], "title": "NewPluginPackage", "discriminator": { "propertyName": "type" } }, "PaymentMethodDetails": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "type": { "title": "Type", "type": "string", "readOnly": true }, "card": { "title": "Card", "type": "object" } }, "required": [ "type" ] } ], "title": "PaymentMethodDetails", "discriminator": { "propertyName": "type" } }, "TransactionPayment": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "payment_attempt_id": { "title": "Payment Attempt Id", "type": "string" }, "payment_method_id": { "title": "Payment Method Id", "type": "string" }, "amount": { "title": "Amount", "type": "string" }, "status": { "title": "Status", "type": "string" }, "method_details": { "$ref": "#/components/schemas/PaymentMethodDetails" }, "created_at": { "title": "Created At", "type": "string", "format": "date-time" }, "stored_payment_method_id": { "title": "Stored Payment Method Id", "type": "string" }, "error_code": { "title": "Error Code", "type": "string" }, "captured_at": { "title": "Captured At", "type": "string", "format": "date-time" }, "type": { "title": "Type", "default": "TransactionPayment", "type": "string", "pattern": "^TransactionPayment$", "readOnly": true } }, "required": [ "payment_attempt_id", "payment_method_id", "amount", "status", "method_details", "created_at" ] } ], "title": "TransactionPayment", "discriminator": { "propertyName": "type" } }, "DeploymentConfigUpdate": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "login_required": { "title": "Login Required", "description": "Whether the application requires login.", "type": "boolean" }, "cpu_limit": { "title": "Cpu Limit", "description": "The maximum number of CPU cores that can be used by the application.", "type": "integer", "format": "int32" }, "memory_limit": { "title": "Memory Limit", "description": "The maximum amount of memory that can be used by the application.", "type": "integer", "format": "int32" }, "scale_to_zero": { "title": "Scale To Zero", "description": "A boolean toggle to scale deployments down to zero replicas when not used.", "type": "boolean" }, "entrypoint_file": { "title": "Entrypoint File", "description": "The Streamlit python file to use as an entrypoint to the app", "type": "string" }, "type": { "title": "Type", "default": "DeploymentConfigUpdate", "type": "string", "pattern": "^DeploymentConfigUpdate$", "readOnly": true } } } ], "title": "DeploymentConfigUpdate", "discriminator": { "propertyName": "type" } }, "ApplicationUpdate": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "description": { "title": "Description", "description": "A description of the application", "example": "I always wanted to have a application called application Falcon", "type": "string" }, "public": { "title": "Public", "description": "Whether or not a application is publicly viewable", "type": "boolean" }, "keywords": { "title": "Keywords", "description": "A list of keywords associated with the application", "example": [ "falcon", "api" ], "type": "array", "items": { "type": "string" } }, "source": { "title": "Source", "description": "A link to the source code of the application", "type": "string" }, "license": { "title": "License", "description": "The license of the application", "type": "string" }, "is_paid": { "title": "Is Paid", "description": "Whether or not the application is paid", "type": "boolean" }, "deployment_config": { "title": "Deployment Config", "description": "The deployment configuration for the application", "allOf": [ { "$ref": "#/components/schemas/DeploymentConfigUpdate" } ] }, "type": { "title": "Type", "default": "ApplicationUpdate", "type": "string", "pattern": "^ApplicationUpdate$", "readOnly": true } } } ], "title": "ApplicationUpdate", "discriminator": { "propertyName": "type" } }, "PaddleBillingProduct": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "id": { "title": "Id", "type": "string" }, "name": { "title": "Name", "type": "string" }, "status": { "title": "Status", "type": "string" }, "type": { "title": "Type", "type": "string", "readOnly": true }, "tax_category": { "title": "Tax Category", "type": "string" }, "description": { "title": "Description", "type": "string" }, "image_url": { "title": "Image Url", "type": "string" }, "custom_data": { "title": "Custom Data", "type": "object" }, "created_at": { "title": "Created At", "type": "string", "format": "date-time" }, "updated_at": { "title": "Updated At", "type": "string", "format": "date-time" }, "import_meta": { "title": "Import Meta", "type": "object" } }, "required": [ "id", "name", "status" ] } ], "title": "PaddleBillingProduct", "discriminator": { "propertyName": "type" } }, "TeamUpdate": { "allOf": [ { "$ref": "#/components/schemas/TeamCreate" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "TeamUpdate", "type": "string", "pattern": "^TeamUpdate$", "readOnly": true } } } ], "title": "TeamUpdate", "discriminator": { "propertyName": "type" } }, "ItemReference": { "allOf": [ { "$ref": "#/components/schemas/_BaseReference" }, { "type": "object", "properties": { "variable": { "title": "Variable", "description": "The name of the looped item variable (use dot notation for nested json values)", "type": "string" }, "type": { "title": "Type", "default": "ItemReference", "pattern": "^ItemReference$", "type": "string", "readOnly": true } } } ], "title": "ItemReference", "description": "An Item Reference.", "discriminator": { "propertyName": "type" } }, "StepStringInput": { "allOf": [ { "$ref": "#/components/schemas/FunctionStringInput" }, { "type": "object", "required": [ "value" ], "properties": { "value": { "title": "Value", "type": "string" }, "type": { "title": "Type", "default": "StepStringInput", "pattern": "^StepStringInput$", "type": "string", "readOnly": true } } } ], "title": "StepStringInput", "description": "A String input.", "discriminator": { "propertyName": "type" } }, "StepIntegerInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "value" ], "properties": { "value": { "title": "Value", "type": "integer", "format": "int32" }, "default": { "title": "Default", "description": "Default value to use for an input if a value was not supplied.", "type": "integer", "format": "int32" }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "StepIntegerInput", "pattern": "^StepIntegerInput$", "type": "string", "readOnly": true } } } ], "title": "StepIntegerInput", "description": "An integer input.", "discriminator": { "propertyName": "type" } }, "StepNumberInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "value" ], "properties": { "value": { "title": "Value", "type": "number", "format": "double" }, "default": { "title": "Default", "description": "Default value to use for an input if a value was not supplied.", "type": "number", "format": "double" }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "StepNumberInput", "pattern": "^StepNumberInput$", "type": "string", "readOnly": true } } } ], "title": "StepNumberInput", "description": "A number input.", "discriminator": { "propertyName": "type" } }, "StepBooleanInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "value" ], "properties": { "value": { "title": "Value", "type": "boolean" }, "default": { "title": "Default", "description": "Default value to use for an input if a value was not supplied.", "type": "boolean" }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "StepBooleanInput", "pattern": "^StepBooleanInput$", "type": "string", "readOnly": true } } } ], "title": "StepBooleanInput", "description": "The boolean type matches only two special values: True and False.", "discriminator": { "propertyName": "type" } }, "StepFolderInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "source" ], "properties": { "source": { "title": "Source", "description": "The path to source the file from.", "anyOf": [ { "$ref": "#/components/schemas/HTTP" }, { "$ref": "#/components/schemas/S3" }, { "$ref": "#/components/schemas/ProjectFolder" } ] }, "default": { "title": "Default", "description": "The default source for file if the value is not provided.", "anyOf": [ { "$ref": "#/components/schemas/HTTP" }, { "$ref": "#/components/schemas/S3" }, { "$ref": "#/components/schemas/ProjectFolder" } ] }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "path": { "title": "Path", "description": "Path to the target location that the input will be copied to. This path is relative to the working directory where the command is executed.", "type": "string" }, "type": { "title": "Type", "default": "StepFolderInput", "pattern": "^StepFolderInput$", "type": "string", "readOnly": true } } } ], "title": "StepFolderInput", "description": "A folder input.", "discriminator": { "propertyName": "type" } }, "StepFileInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "source" ], "properties": { "source": { "title": "Source", "description": "The path to source the file from.", "anyOf": [ { "$ref": "#/components/schemas/HTTP" }, { "$ref": "#/components/schemas/S3" }, { "$ref": "#/components/schemas/ProjectFolder" } ] }, "default": { "title": "Default", "description": "The default source for file if the value is not provided.", "anyOf": [ { "$ref": "#/components/schemas/HTTP" }, { "$ref": "#/components/schemas/S3" }, { "$ref": "#/components/schemas/ProjectFolder" } ] }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "path": { "title": "Path", "description": "Path to the target location that the input will be copied to. This path is relative to the working directory where the command is executed.", "type": "string" }, "extensions": { "title": "Extensions", "description": "Optional list of extensions for file. The check for extension is case-insensitive.", "type": "array", "items": { "type": "string" } }, "type": { "title": "Type", "default": "StepFileInput", "pattern": "^StepFileInput$", "type": "string", "readOnly": true } } } ], "title": "StepFileInput", "description": "A file input.", "discriminator": { "propertyName": "type" } }, "StepPathInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "source" ], "properties": { "source": { "title": "Source", "description": "The path to source the file from.", "anyOf": [ { "$ref": "#/components/schemas/HTTP" }, { "$ref": "#/components/schemas/S3" }, { "$ref": "#/components/schemas/ProjectFolder" } ] }, "default": { "title": "Default", "description": "The default source for file if the value is not provided.", "anyOf": [ { "$ref": "#/components/schemas/HTTP" }, { "$ref": "#/components/schemas/S3" }, { "$ref": "#/components/schemas/ProjectFolder" } ] }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "path": { "title": "Path", "description": "Path to the target location that the input will be copied to. This path is relative to the working directory where the command is executed.", "type": "string" }, "extensions": { "title": "Extensions", "description": "Optional list of extensions for file. The check for extension is case-insensitive.", "type": "array", "items": { "type": "string" } }, "type": { "title": "Type", "default": "StepPathInput", "pattern": "^StepPathInput$", "type": "string", "readOnly": true } } } ], "title": "StepPathInput", "description": "A file or a folder input.", "discriminator": { "propertyName": "type" } }, "StepArrayInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "value" ], "properties": { "value": { "title": "Value", "type": "array", "items": {} }, "default": { "title": "Default", "description": "Default value to use for an input if a value was not supplied.", "type": "array", "items": {} }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "items_type": { "description": "Type of items in an array. All the items in an array must be from the same type.", "default": "String", "allOf": [ { "$ref": "#/components/schemas/ItemType" } ] }, "type": { "title": "Type", "default": "StepArrayInput", "pattern": "^StepArrayInput$", "type": "string", "readOnly": true } } } ], "title": "StepArrayInput", "description": "A JSON array input.", "discriminator": { "propertyName": "type" } }, "StepJSONObjectInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "value" ], "properties": { "value": { "title": "Value", "type": "object" }, "default": { "title": "Default", "description": "Default value to use for an input if a value was not supplied.", "type": "object" }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "StepJSONObjectInput", "pattern": "^StepJSONObjectInput$", "type": "string", "readOnly": true } } } ], "title": "StepJSONObjectInput", "description": "A JSON object input.", "discriminator": { "propertyName": "type" } }, "StepStringOutput": { "allOf": [ { "$ref": "#/components/schemas/FunctionStringOutput" }, { "type": "object", "required": [ "value" ], "properties": { "value": { "title": "Value", "type": "string" }, "type": { "title": "Type", "default": "StepStringOutput", "pattern": "^StepStringOutput$", "type": "string", "readOnly": true } } } ], "title": "StepStringOutput", "description": "A String output.", "discriminator": { "propertyName": "type" } }, "StepNumberOutput": { "allOf": [ { "$ref": "#/components/schemas/FunctionNumberOutput" }, { "type": "object", "required": [ "value" ], "properties": { "value": { "title": "Value", "type": "number", "format": "double" }, "type": { "title": "Type", "default": "StepNumberOutput", "pattern": "^StepNumberOutput$", "type": "string", "readOnly": true } } } ], "title": "StepNumberOutput", "description": "A number output.", "discriminator": { "propertyName": "type" } }, "StepBooleanOutput": { "allOf": [ { "$ref": "#/components/schemas/FunctionBooleanOutput" }, { "type": "object", "required": [ "value" ], "properties": { "value": { "title": "Value", "type": "boolean" }, "type": { "title": "Type", "default": "StepBooleanOutput", "pattern": "^StepBooleanOutput$", "type": "string", "readOnly": true } } } ], "title": "StepBooleanOutput", "description": "The boolean type matches only two special values: True and False.", "discriminator": { "propertyName": "type" } }, "StepFolderOutput": { "allOf": [ { "$ref": "#/components/schemas/FunctionFolderOutput" }, { "type": "object", "required": [ "source" ], "properties": { "source": { "title": "Source", "description": "The path to source the file from.", "anyOf": [ { "$ref": "#/components/schemas/HTTP" }, { "$ref": "#/components/schemas/S3" }, { "$ref": "#/components/schemas/ProjectFolder" } ] }, "type": { "title": "Type", "default": "StepFolderOutput", "pattern": "^StepFolderOutput$", "type": "string", "readOnly": true } } } ], "title": "StepFolderOutput", "description": "A folder output.", "discriminator": { "propertyName": "type" } }, "StepFileOutput": { "allOf": [ { "$ref": "#/components/schemas/FunctionFileOutput" }, { "type": "object", "required": [ "source" ], "properties": { "source": { "title": "Source", "description": "The path to source the file from.", "anyOf": [ { "$ref": "#/components/schemas/HTTP" }, { "$ref": "#/components/schemas/S3" }, { "$ref": "#/components/schemas/ProjectFolder" } ] }, "type": { "title": "Type", "default": "StepFileOutput", "pattern": "^StepFileOutput$", "type": "string", "readOnly": true } } } ], "title": "StepFileOutput", "description": "A file output.", "discriminator": { "propertyName": "type" } }, "StepPathOutput": { "allOf": [ { "$ref": "#/components/schemas/FunctionPathOutput" }, { "type": "object", "required": [ "source" ], "properties": { "source": { "title": "Source", "description": "The path to source the file from.", "anyOf": [ { "$ref": "#/components/schemas/HTTP" }, { "$ref": "#/components/schemas/S3" }, { "$ref": "#/components/schemas/ProjectFolder" } ] }, "type": { "title": "Type", "default": "StepPathOutput", "pattern": "^StepPathOutput$", "type": "string", "readOnly": true } } } ], "title": "StepPathOutput", "description": "A file or a folder output.", "discriminator": { "propertyName": "type" } }, "StepArrayOutput": { "allOf": [ { "$ref": "#/components/schemas/FunctionStringOutput" }, { "type": "object", "required": [ "value" ], "properties": { "value": { "title": "Value", "type": "array", "items": {} }, "items_type": { "description": "Type of items in this array. All the items in an array must be from the same type.", "default": "String", "allOf": [ { "$ref": "#/components/schemas/ItemType" } ] }, "type": { "title": "Type", "default": "StepArrayOutput", "pattern": "^StepArrayOutput$", "type": "string", "readOnly": true } } } ], "title": "StepArrayOutput", "description": "A JSON array output.", "discriminator": { "propertyName": "type" } }, "StepJSONObjectOutput": { "allOf": [ { "$ref": "#/components/schemas/FunctionJSONObjectOutput" }, { "type": "object", "required": [ "value" ], "properties": { "value": { "title": "Value", "type": "object" }, "type": { "title": "Type", "default": "StepJSONObjectOutput", "pattern": "^StepJSONObjectOutput$", "type": "string", "readOnly": true } } } ], "title": "StepJSONObjectOutput", "description": "A JSON object output.", "discriminator": { "propertyName": "type" } }, "RunResultList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "properties": { "page": { "title": "Page", "description": "The current page the pagination request is on", "type": "integer", "format": "int32" }, "per_page": { "title": "Per Page", "description": "The number of pages per pagination request", "type": "integer", "format": "int32" }, "page_count": { "title": "Page Count", "description": "The total number of pages", "type": "integer", "format": "int32" }, "total_count": { "title": "Total Count", "description": "The total number of resources matching the list request", "type": "integer", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/StepStringInput" }, { "$ref": "#/components/schemas/StepIntegerInput" }, { "$ref": "#/components/schemas/StepNumberInput" }, { "$ref": "#/components/schemas/StepBooleanInput" }, { "$ref": "#/components/schemas/StepFolderInput" }, { "$ref": "#/components/schemas/StepFileInput" }, { "$ref": "#/components/schemas/StepPathInput" }, { "$ref": "#/components/schemas/StepArrayInput" }, { "$ref": "#/components/schemas/StepJSONObjectInput" }, { "$ref": "#/components/schemas/StepStringOutput" }, { "$ref": "#/components/schemas/StepIntegerOutput" }, { "$ref": "#/components/schemas/StepNumberOutput" }, { "$ref": "#/components/schemas/StepBooleanOutput" }, { "$ref": "#/components/schemas/StepFolderOutput" }, { "$ref": "#/components/schemas/StepFileOutput" }, { "$ref": "#/components/schemas/StepPathOutput" }, { "$ref": "#/components/schemas/StepArrayOutput" }, { "$ref": "#/components/schemas/StepJSONObjectOutput" } ] } } }, "next_page": { "title": "Next Page", "description": "The next page, if this on is not the last", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "RunResultList", "type": "string", "pattern": "^RunResultList$", "readOnly": true } } } ], "title": "RunResultList", "description": "A list response from a pagination request", "discriminator": { "propertyName": "type" } }, "RunProgress": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "completed": { "title": "Completed", "default": 0, "type": "integer", "format": "int32" }, "running": { "title": "Running", "default": 0, "type": "integer", "format": "int32" }, "total": { "title": "Total", "default": 0, "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "RunProgress", "type": "string", "pattern": "^RunProgress$", "readOnly": true } } } ], "title": "RunProgress", "discriminator": { "propertyName": "type" } }, "DAGBooleanOutput": { "allOf": [ { "$ref": "#/components/schemas/GenericOutput" }, { "type": "object", "required": [ "from" ], "properties": { "from": { "title": "From", "description": "Reference to a file or a task output. Task output must be file.", "anyOf": [ { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/FileReference" } ] }, "alias": { "title": "Alias", "description": "A list of additional processes for loading this output on different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericOutputAlias" }, { "$ref": "#/components/schemas/DAGStringOutputAlias" }, { "$ref": "#/components/schemas/DAGIntegerOutputAlias" }, { "$ref": "#/components/schemas/DAGNumberOutputAlias" }, { "$ref": "#/components/schemas/DAGBooleanOutputAlias" }, { "$ref": "#/components/schemas/DAGFolderOutputAlias" }, { "$ref": "#/components/schemas/DAGFileOutputAlias" }, { "$ref": "#/components/schemas/DAGPathOutputAlias" }, { "$ref": "#/components/schemas/DAGArrayOutputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectOutputAlias" }, { "$ref": "#/components/schemas/DAGLinkedOutputAlias" } ] } }, "required": { "title": "Required", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true, "type": "boolean" }, "type": { "title": "Type", "default": "DAGBooleanOutput", "pattern": "^DAGBooleanOutput$", "type": "string", "readOnly": true } } } ], "title": "DAGBooleanOutput", "description": "DAG boolean output.\n\nThis output loads the content from a file as a boolean.", "discriminator": { "propertyName": "type" } }, "SubscriptionPayment": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "date": { "title": "Date", "type": "string", "format": "date" }, "currency": { "title": "Currency", "type": "string" }, "amount": { "title": "Amount", "type": "number", "format": "double" }, "type": { "title": "Type", "default": "SubscriptionPayment", "type": "string", "pattern": "^SubscriptionPayment$", "readOnly": true } }, "required": [ "date", "currency", "amount" ] } ], "title": "SubscriptionPayment", "discriminator": { "propertyName": "type" } }, "PaddleBillingTransactionProduct": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "id": { "title": "Id", "type": "string" }, "name": { "title": "Name", "type": "string" }, "description": { "title": "Description", "type": "string" }, "custom_data": { "title": "Custom Data", "type": "object" }, "image_url": { "title": "Image Url", "type": "string" }, "type": { "title": "Type", "default": "PaddleBillingTransactionProduct", "type": "string", "pattern": "^PaddleBillingTransactionProduct$", "readOnly": true } }, "required": [ "id", "name" ] } ], "title": "PaddleBillingTransactionProduct", "discriminator": { "propertyName": "type" } }, "TransactionItemTotals": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "discount": { "title": "Discount", "type": "integer", "format": "int32" }, "subtotal": { "title": "Subtotal", "type": "integer", "format": "int32" }, "tax": { "title": "Tax", "type": "integer", "format": "int32" }, "total": { "title": "Total", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "TransactionItemTotals", "type": "string", "pattern": "^TransactionItemTotals$", "readOnly": true } }, "required": [ "discount", "subtotal", "tax", "total" ] } ], "title": "TransactionItemTotals", "discriminator": { "propertyName": "type" } }, "PaddleBillingTransactionLineItem": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "price_id": { "title": "Price Id", "type": "string" }, "product": { "$ref": "#/components/schemas/PaddleBillingTransactionProduct" }, "quantity": { "title": "Quantity", "type": "integer", "format": "int32" }, "totals": { "$ref": "#/components/schemas/TransactionItemTotals" }, "unit_totals": { "$ref": "#/components/schemas/TransactionItemTotals" }, "tax_rate": { "title": "Tax Rate", "type": "string" }, "type": { "title": "Type", "default": "PaddleBillingTransactionLineItem", "type": "string", "pattern": "^PaddleBillingTransactionLineItem$", "readOnly": true } }, "required": [ "price_id", "product", "quantity", "totals", "unit_totals" ] } ], "title": "PaddleBillingTransactionLineItem", "discriminator": { "propertyName": "type" } }, "TransactionTotals": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "subtotal": { "title": "Subtotal", "type": "string" }, "tax": { "title": "Tax", "type": "string" }, "discount": { "title": "Discount", "type": "string" }, "total": { "title": "Total", "type": "string" }, "grand_total": { "title": "Grand Total", "type": "string" }, "credit": { "title": "Credit", "type": "string" }, "credit_to_balance": { "title": "Credit To Balance", "type": "string" }, "balance": { "title": "Balance", "type": "string" }, "currency_code": { "title": "Currency Code", "type": "string" }, "fee": { "title": "Fee", "type": "string" }, "earnings": { "title": "Earnings", "type": "string" }, "type": { "title": "Type", "default": "TransactionTotals", "type": "string", "pattern": "^TransactionTotals$", "readOnly": true } }, "required": [ "subtotal", "tax", "discount", "total", "grand_total", "credit", "credit_to_balance", "balance", "currency_code" ] } ], "title": "TransactionTotals", "discriminator": { "propertyName": "type" } }, "PaddleBillingTransactionDetails": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "line_items": { "title": "Line Items", "type": "array", "items": { "$ref": "#/components/schemas/PaddleBillingTransactionLineItem" } }, "totals": { "$ref": "#/components/schemas/TransactionTotals" }, "type": { "title": "Type", "default": "PaddleBillingTransactionDetails", "type": "string", "pattern": "^PaddleBillingTransactionDetails$", "readOnly": true } }, "required": [ "line_items", "totals" ] } ], "title": "PaddleBillingTransactionDetails", "discriminator": { "propertyName": "type" } }, "InputPathReference": { "allOf": [ { "$ref": "#/components/schemas/_InputReferenceBase" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "InputPathReference", "pattern": "^InputPathReference$", "type": "string", "readOnly": true } } } ], "title": "InputPathReference", "description": "An input file or folder reference", "discriminator": { "propertyName": "type" } }, "UserPublicList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "properties": { "page": { "title": "Page", "description": "The current page the pagination request is on", "type": "integer", "format": "int32" }, "per_page": { "title": "Per Page", "description": "The number of pages per pagination request", "type": "integer", "format": "int32" }, "page_count": { "title": "Page Count", "description": "The total number of pages", "type": "integer", "format": "int32" }, "total_count": { "title": "Total Count", "description": "The total number of resources matching the list request", "type": "integer", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/UserPublic" } }, "next_page": { "title": "Next Page", "description": "The next page, if this on is not the last", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "UserPublicList", "type": "string", "pattern": "^UserPublicList$", "readOnly": true } } } ], "title": "UserPublicList", "description": "A list response from a pagination request", "discriminator": { "propertyName": "type" } }, "QuotaType": { "title": "QuotaType", "description": "The type of comsumption-limited resource to which the quota refers.", "enum": [ "storage", "compute_hours", "parallel_workflow_containers", "runs_per_study", "private_repositories", "private_projects", "teams", "members", "cpu_limit", "memory_limit", "rhino_plugin_license", "revit_plugin_license", "application_cpu", "application_memory" ], "type": "string" }, "QuotaPlan": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "type": { "description": "The name of the quota", "allOf": [ { "$ref": "#/components/schemas/QuotaType" } ], "readOnly": true }, "resets": { "title": "Resets", "description": "Whether consumption is reset to 0 every month", "default": false, "type": "boolean" }, "limit": { "title": "Limit", "description": "The maximum amount of a resource that a subscription allows", "type": "number", "format": "double" }, "enforced": { "title": "Enforced", "description": "Whether the limit is triggers a blocking response from the server", "default": false, "type": "boolean" }, "max_limit": { "title": "Max Limit", "description": "The maximum amount of a resource that a subscription allows", "type": "number", "format": "double" }, "display_name": { "title": "Display Name", "description": "The human-readable name", "type": "string" }, "description": { "title": "Description", "description": "The description", "type": "string" }, "unit": { "title": "Unit", "description": "The unit in which the usage and limit are measured", "type": "string" } }, "required": [ "type" ] } ], "title": "QuotaPlan", "discriminator": { "propertyName": "type" } }, "StepStatusEnum": { "title": "StepStatusEnum", "description": "Enumaration of allowable status strings", "enum": [ "Scheduled", "Running", "Failed", "Succeeded", "Skipped", "Unknown" ], "type": "string" }, "StatusType": { "title": "StatusType", "description": "Type enum for status type.", "enum": [ "Function", "DAG", "Loop", "Container", "Unknown" ], "type": "string" }, "StepStatus": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "inputs", "outputs", "started_at", "id", "name", "status_type", "template_ref", "children_ids", "outbound_steps" ], "properties": { "inputs": { "title": "Inputs", "description": "The inputs used by this step.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/StepStringInput" }, { "$ref": "#/components/schemas/StepIntegerInput" }, { "$ref": "#/components/schemas/StepNumberInput" }, { "$ref": "#/components/schemas/StepBooleanInput" }, { "$ref": "#/components/schemas/StepFolderInput" }, { "$ref": "#/components/schemas/StepFileInput" }, { "$ref": "#/components/schemas/StepPathInput" }, { "$ref": "#/components/schemas/StepArrayInput" }, { "$ref": "#/components/schemas/StepJSONObjectInput" } ] } }, "outputs": { "title": "Outputs", "description": "The outputs produced by this step.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/StepStringOutput" }, { "$ref": "#/components/schemas/StepIntegerOutput" }, { "$ref": "#/components/schemas/StepNumberOutput" }, { "$ref": "#/components/schemas/StepBooleanOutput" }, { "$ref": "#/components/schemas/StepFolderOutput" }, { "$ref": "#/components/schemas/StepFileOutput" }, { "$ref": "#/components/schemas/StepPathOutput" }, { "$ref": "#/components/schemas/StepArrayOutput" }, { "$ref": "#/components/schemas/StepJSONObjectOutput" } ] } }, "started_at": { "title": "Started At", "description": "The time at which the task was started", "type": "string", "format": "date-time" }, "id": { "title": "Id", "description": "The step unique ID", "type": "string" }, "name": { "title": "Name", "description": "A human readable name for the step. Usually defined by the DAG task name but can be extended if the step is part of a loop for example. This name is unique within the boundary of the DAG/Job that generated it.", "type": "string" }, "status_type": { "description": "The type of step this status is for. Can be \"Function\", \"DAG\" or \"Loop\"", "allOf": [ { "$ref": "#/components/schemas/StatusType" } ] }, "template_ref": { "title": "Template Ref", "description": "The name of the template that spawned this step", "type": "string" }, "children_ids": { "title": "Children Ids", "description": "A list of child step IDs", "type": "array", "items": { "type": "string" } }, "outbound_steps": { "title": "Outbound Steps", "description": "A list of the last step to ran in the context of this step. In the case of a DAG or a job this will be the last step that has been executed. It will remain empty for functions.", "type": "array", "items": { "type": "string" } }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "message": { "title": "Message", "description": "Any message produced by the task. Usually error/debugging hints.", "type": "string" }, "finished_at": { "title": "Finished At", "description": "The time at which the task was completed", "type": "string", "format": "date-time" }, "source": { "title": "Source", "description": "Source url for the status object. It can be a recipe or a function.", "type": "string" }, "status": { "description": "The status of this step.", "default": "Unknown", "allOf": [ { "$ref": "#/components/schemas/StepStatusEnum" } ] }, "command": { "title": "Command", "description": "The command used to run this step. Only applies to Function steps.", "type": "string" }, "boundary_id": { "title": "Boundary Id", "description": "This indicates the step ID of the associated template root step in which this step belongs to. A DAG step will have the id of the parent DAG for example.", "type": "string" }, "type": { "title": "Type", "default": "StepStatus", "pattern": "^StepStatus$", "type": "string", "readOnly": true } } } ], "title": "StepStatus", "description": "The Status of a Job Step", "discriminator": { "propertyName": "type" } }, "DAGStringOutput": { "allOf": [ { "$ref": "#/components/schemas/GenericOutput" }, { "type": "object", "required": [ "from" ], "properties": { "from": { "title": "From", "description": "Reference to a file or a task output. Task output must be file.", "anyOf": [ { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/FileReference" } ] }, "alias": { "title": "Alias", "description": "A list of additional processes for loading this output on different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericOutputAlias" }, { "$ref": "#/components/schemas/DAGStringOutputAlias" }, { "$ref": "#/components/schemas/DAGIntegerOutputAlias" }, { "$ref": "#/components/schemas/DAGNumberOutputAlias" }, { "$ref": "#/components/schemas/DAGBooleanOutputAlias" }, { "$ref": "#/components/schemas/DAGFolderOutputAlias" }, { "$ref": "#/components/schemas/DAGFileOutputAlias" }, { "$ref": "#/components/schemas/DAGPathOutputAlias" }, { "$ref": "#/components/schemas/DAGArrayOutputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectOutputAlias" }, { "$ref": "#/components/schemas/DAGLinkedOutputAlias" } ] } }, "required": { "title": "Required", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true, "type": "boolean" }, "type": { "title": "Type", "default": "DAGStringOutput", "pattern": "^DAGStringOutput$", "type": "string", "readOnly": true } } } ], "title": "DAGStringOutput", "description": "DAG string output.\n\nThis output loads the content from a file as a string.", "discriminator": { "propertyName": "type" } }, "StepList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "properties": { "page": { "title": "Page", "description": "The current page the pagination request is on", "type": "integer", "format": "int32" }, "per_page": { "title": "Per Page", "description": "The number of pages per pagination request", "type": "integer", "format": "int32" }, "page_count": { "title": "Page Count", "description": "The total number of pages", "type": "integer", "format": "int32" }, "total_count": { "title": "Total Count", "description": "The total number of resources matching the list request", "type": "integer", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/StepStatus" } }, "next_page": { "title": "Next Page", "description": "The next page, if this on is not the last", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "StepList", "type": "string", "pattern": "^StepList$", "readOnly": true } } } ], "title": "StepList", "description": "A list response from a pagination request", "discriminator": { "propertyName": "type" } }, "TaskPathReturn": { "allOf": [ { "$ref": "#/components/schemas/PathOutput" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "TaskPathReturn", "pattern": "^TaskPathReturn$", "type": "string", "readOnly": true } } } ], "title": "TaskPathReturn", "description": "A Task output that returns a file or a folder output from a function or a DAG.", "discriminator": { "propertyName": "type" } }, "AccountPublic": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "id": { "title": "Id", "example": "0ad77f99-8043-46e4-8220-7221487c3ee5", "type": "string" }, "account_type": { "title": "Account Type", "example": "user", "type": "string" }, "name": { "title": "Name", "example": "ladybugbot", "type": "string" }, "display_name": { "title": "Display Name", "example": "Ladybug Bot", "type": "string" }, "description": { "title": "Description", "example": "Beep Boop!", "type": "string" }, "picture_url": { "title": "Picture Url", "description": "https://robohash.org/ladybugbot", "type": "string" }, "type": { "title": "Type", "default": "AccountPublic", "type": "string", "pattern": "^AccountPublic$", "readOnly": true } }, "required": [ "id", "account_type", "name" ] } ], "title": "AccountPublic", "discriminator": { "propertyName": "type" } }, "Quota": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "type": { "description": "The type of resource", "allOf": [ { "$ref": "#/components/schemas/QuotaType" } ], "readOnly": true }, "owner": { "title": "Owner", "description": "The quota owner", "allOf": [ { "$ref": "#/components/schemas/AccountPublic" } ] }, "id": { "title": "Id", "description": "The unique ID for this Quota", "type": "string", "format": "uuid" }, "period_start": { "title": "Period Start", "description": "The start of the quota usage tracking period", "type": "string", "format": "date-time" }, "limit": { "title": "Limit", "description": "The maximum amount of a resource the account can consume", "type": "number", "format": "double" }, "usage": { "title": "Usage", "description": "The current amount of a resource allocated to the account linked to the subscription", "minimum": 0, "type": "number", "format": "double" }, "resets": { "title": "Resets", "description": "Whether consumption is reset to 0 every billing period", "default": false, "type": "boolean" }, "enforced": { "title": "Enforced", "description": "Whether the limit triggers a blocking response from the server", "default": false, "type": "boolean" }, "exceeded": { "title": "Exceeded", "description": "Whether the resource usage is greater than or equal to the limit", "default": false, "type": "boolean" }, "display_name": { "title": "Display Name", "description": "The human-readable name", "type": "string" }, "description": { "title": "Description", "description": "The description", "type": "string" }, "unit": { "title": "Unit", "description": "The unit in which the usage and limit are measured", "type": "string" } }, "required": [ "type", "owner" ] } ], "title": "Quota", "discriminator": { "propertyName": "type" } }, "JobStatusEnum": { "title": "JobStatusEnum", "description": "Enumaration of allowable status strings", "enum": [ "Created", "Pre-Processing", "Running", "Failed", "Cancelled", "Completed", "Unknown" ], "type": "string" }, "JobStatus": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "id": { "title": "Id", "description": "The ID of the individual job.", "type": "string" }, "started_at": { "title": "Started At", "description": "The time at which the job was started", "type": "string", "format": "date-time" }, "type": { "title": "Type", "default": "JobStatus", "pattern": "^JobStatus$", "type": "string", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "api_version": { "title": "Api Version", "default": "v1beta1", "readOnly": true, "pattern": "^v1beta1$", "type": "string" }, "status": { "description": "The status of this job.", "default": "Unknown", "allOf": [ { "$ref": "#/components/schemas/JobStatusEnum" } ] }, "message": { "title": "Message", "description": "Any message produced by the job. Usually error/debugging hints.", "type": "string" }, "finished_at": { "title": "Finished At", "description": "The time at which the task was completed", "type": "string", "format": "date-time" }, "source": { "title": "Source", "description": "Source url for the status object. It can be a recipe or a function.", "type": "string" }, "runs_pending": { "title": "Runs Pending", "description": "The count of runs that are pending", "default": 0, "type": "integer", "format": "int32" }, "runs_running": { "title": "Runs Running", "description": "The count of runs that are running", "default": 0, "type": "integer", "format": "int32" }, "runs_completed": { "title": "Runs Completed", "description": "The count of runs that have completed", "default": 0, "type": "integer", "format": "int32" }, "runs_failed": { "title": "Runs Failed", "description": "The count of runs that have failed", "default": 0, "type": "integer", "format": "int32" }, "runs_cancelled": { "title": "Runs Cancelled", "description": "The count of runs that have been cancelled", "default": 0, "type": "integer", "format": "int32" } }, "required": [ "id", "started_at" ] } ], "title": "JobStatus", "description": "Parametric Job Status.", "discriminator": { "propertyName": "type" } }, "DeploymentConfig": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "login_required": { "title": "Login Required", "description": "Whether the application requires login.", "default": true, "type": "boolean" }, "cpu_limit": { "title": "Cpu Limit", "description": "The maximum number of CPU cores that can be used by the application.", "default": 1, "type": "integer", "format": "int32" }, "memory_limit": { "title": "Memory Limit", "description": "The maximum amount of memory that can be used by the application.", "default": 2000, "type": "integer", "format": "int32" }, "scale_to_zero": { "title": "Scale To Zero", "description": "A boolean toggle to scale deployments down to zero replicas when not used.", "default": true, "type": "boolean" }, "entrypoint_file": { "title": "Entrypoint File", "description": "The Streamlit python file to use as an entrypoint to the app", "default": "app.py", "type": "string" }, "type": { "title": "Type", "default": "DeploymentConfig", "type": "string", "pattern": "^DeploymentConfig$", "readOnly": true } } } ], "title": "DeploymentConfig", "discriminator": { "propertyName": "type" } }, "Duration": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "interval": { "title": "Interval", "type": "string" }, "frequency": { "title": "Frequency", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "Duration", "type": "string", "pattern": "^Duration$", "readOnly": true } }, "required": [ "interval", "frequency" ] } ], "title": "Duration", "discriminator": { "propertyName": "type" } }, "MoneyAmount": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "amount": { "title": "Amount", "type": "string" }, "currency_code": { "title": "Currency Code", "type": "string" }, "type": { "title": "Type", "default": "MoneyAmount", "type": "string", "pattern": "^MoneyAmount$", "readOnly": true } }, "required": [ "amount", "currency_code" ] } ], "title": "MoneyAmount", "discriminator": { "propertyName": "type" } }, "QuantityConstraints": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "minimum": { "title": "Minimum", "type": "integer", "format": "int32" }, "maximum": { "title": "Maximum", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "QuantityConstraints", "type": "string", "pattern": "^QuantityConstraints$", "readOnly": true } }, "required": [ "minimum", "maximum" ] } ], "title": "QuantityConstraints", "discriminator": { "propertyName": "type" } }, "PaddleBillingPrice": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "id": { "title": "Id", "type": "string" }, "product_id": { "title": "Product Id", "type": "string" }, "unit_price": { "$ref": "#/components/schemas/MoneyAmount" }, "status": { "title": "Status", "type": "string" }, "name": { "title": "Name", "default": "No Name", "type": "string" }, "description": { "title": "Description", "type": "string" }, "type": { "title": "Type", "type": "string", "readOnly": true }, "billing_cycle": { "$ref": "#/components/schemas/Duration" }, "trial_period": { "$ref": "#/components/schemas/Duration" }, "tax_mode": { "title": "Tax Mode", "type": "string" }, "unit_price_overrides": { "title": "Unit Price Overrides", "type": "array", "items": { "type": "object" } }, "quantity": { "$ref": "#/components/schemas/QuantityConstraints" }, "custom_data": { "title": "Custom Data", "type": "object" }, "created_at": { "title": "Created At", "type": "string", "format": "date-time" }, "updated_at": { "title": "Updated At", "type": "string", "format": "date-time" }, "import_meta": { "title": "Import Meta", "type": "object" } }, "required": [ "id", "product_id", "unit_price", "status" ] } ], "title": "PaddleBillingPrice", "discriminator": { "propertyName": "type" } }, "BillingPeriod": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "starts_at": { "title": "Starts At", "type": "string", "format": "date-time" }, "ends_at": { "title": "Ends At", "type": "string", "format": "date-time" }, "type": { "title": "Type", "default": "BillingPeriod", "type": "string", "pattern": "^BillingPeriod$", "readOnly": true } }, "required": [ "starts_at", "ends_at" ] } ], "title": "BillingPeriod", "discriminator": { "propertyName": "type" } }, "Proration": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "rate": { "title": "Rate", "type": "string" }, "billing_period": { "$ref": "#/components/schemas/BillingPeriod" }, "type": { "title": "Type", "default": "Proration", "type": "string", "pattern": "^Proration$", "readOnly": true } }, "required": [ "rate", "billing_period" ] } ], "title": "Proration", "discriminator": { "propertyName": "type" } }, "PaddleBillingTransactionItem": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "price": { "$ref": "#/components/schemas/PaddleBillingPrice" }, "quantity": { "title": "Quantity", "type": "integer", "format": "int32" }, "proration": { "$ref": "#/components/schemas/Proration" }, "type": { "title": "Type", "default": "PaddleBillingTransactionItem", "type": "string", "pattern": "^PaddleBillingTransactionItem$", "readOnly": true } }, "required": [ "price", "quantity" ] } ], "title": "PaddleBillingTransactionItem", "discriminator": { "propertyName": "type" } }, "Permission": { "title": "Permission", "description": "An enumeration.", "enum": [ "admin", "write", "read" ], "type": "string" }, "LicensePoolAccessPolicy": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "subject" ], "properties": { "subject": { "title": "Subject", "description": "The subject of the access policy", "allOf": [ { "$ref": "#/components/schemas/PolicySubject" } ] }, "permission": { "description": "Accessors may only have read access", "default": "read", "allOf": [ { "$ref": "#/components/schemas/Permission" } ] }, "type": { "title": "Type", "default": "LicensePoolAccessPolicy", "type": "string", "pattern": "^LicensePoolAccessPolicy$", "readOnly": true } } } ], "title": "LicensePoolAccessPolicy", "discriminator": { "propertyName": "type" } }, "LicensePoolAccessPolicyList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "resources": { "title": "Resources", "description": "The list of policies granting access to the pool", "default": [], "type": "array", "items": { "$ref": "#/components/schemas/LicensePoolAccessPolicy" } }, "type": { "title": "Type", "default": "LicensePoolAccessPolicyList", "type": "string", "pattern": "^LicensePoolAccessPolicyList$", "readOnly": true } } } ], "title": "LicensePoolAccessPolicyList", "discriminator": { "propertyName": "type" } }, "RepositoryMetadata": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "RepositoryMetadata", "pattern": "^RepositoryMetadata$", "type": "string", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "name": { "title": "Name", "description": "The name of the repository", "type": "string" }, "description": { "title": "Description", "description": "A short description of the repository", "default": "A Queenbee package repository", "type": "string" }, "source": { "title": "Source", "description": "The source path (url or local) to the repository", "type": "string" }, "plugin_count": { "title": "Plugin Count", "description": "The number of plugins hosted by the repository", "default": 0, "type": "integer", "format": "int32" }, "recipe_count": { "title": "Recipe Count", "description": "The number of recipes hosted by the repository", "default": 0, "type": "integer", "format": "int32" } } } ], "title": "RepositoryMetadata", "description": "BaseModel with functionality to return the object as a yaml string.", "discriminator": { "propertyName": "type" } }, "DependencyKind": { "title": "DependencyKind", "description": "Dependency kind.", "enum": [ "recipe", "plugin" ], "type": "string" }, "Dependency": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "kind": { "description": "The kind of dependency. It can be a recipe or an plugin.", "allOf": [ { "$ref": "#/components/schemas/DependencyKind" } ] }, "name": { "title": "Name", "description": "Workflow name. This name should be unique among all the resources in your resource. Use an alias if this is not the case.", "type": "string" }, "tag": { "title": "Tag", "description": "Tag of the resource.", "type": "string" }, "source": { "title": "Source", "description": "URL to a repository where this resource can be found.", "type": "string" }, "type": { "title": "Type", "default": "Dependency", "pattern": "^Dependency$", "type": "string", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "hash": { "title": "Hash", "description": "The digest hash of the dependency when retrieved from its source. This is locked when the resource dependencies are downloaded.", "type": "string" }, "alias": { "title": "Alias", "description": "An optional alias to refer to this dependency. Useful if the name is already used somewhere else.", "type": "string" } }, "required": [ "kind", "name", "tag", "source" ] } ], "title": "Dependency", "description": "Configuration to fetch a Recipe or Plugin that another Recipe depends on.", "discriminator": { "propertyName": "type" } }, "DAGGenericInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "properties": { "default": { "title": "Default", "description": "Default value for generic input.", "type": "string" }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "DAGGenericInput", "pattern": "^DAGGenericInput$", "type": "string", "readOnly": true } } } ], "title": "DAGGenericInput", "description": "Base class for DAG inputs.\n\nThis class adds a handler to input to handle the process of loading the input\nfrom different graphical interfaces.", "discriminator": { "propertyName": "type" } }, "DAGStringInput": { "allOf": [ { "$ref": "#/components/schemas/DAGGenericInput" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "DAGStringInput", "pattern": "^DAGStringInput$", "type": "string", "readOnly": true } } } ], "title": "DAGStringInput", "description": "A String input.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/string.html#string for\nmore information.\n\n.. code-block:: python\n\n \"schema\": {\n \"type\": \"string\",\n \"maxLength\": 50,\n \"pattern\": \"(?i)(^.*\\.epw$)\"\n }", "discriminator": { "propertyName": "type" } }, "DAGIntegerInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "properties": { "default": { "title": "Default", "description": "Default value to use for an input if a value was not supplied.", "type": "integer", "format": "int32" }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "DAGIntegerInput", "pattern": "^DAGIntegerInput$", "type": "string", "readOnly": true } } } ], "title": "DAGIntegerInput", "description": "An integer input.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/numeric.html#numeric\nfor more information.", "discriminator": { "propertyName": "type" } }, "DAGNumberInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "properties": { "default": { "title": "Default", "description": "Default value to use for an input if a value was not supplied.", "type": "number", "format": "double" }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "DAGNumberInput", "pattern": "^DAGNumberInput$", "type": "string", "readOnly": true } } } ], "title": "DAGNumberInput", "description": "A number input.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/numeric.html#numeric\nfor more information.", "discriminator": { "propertyName": "type" } }, "DAGBooleanInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "properties": { "default": { "title": "Default", "description": "Default value to use for an input if a value was not supplied.", "type": "boolean" }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "DAGBooleanInput", "pattern": "^DAGBooleanInput$", "type": "string", "readOnly": true } } } ], "title": "DAGBooleanInput", "description": "The boolean type matches only two special values: True and False.\n\nNote that values that evaluate to true or false, such as 1 and 0, are not accepted.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/boolean.html for more\ninformation.", "discriminator": { "propertyName": "type" } }, "DAGFolderInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "properties": { "default": { "title": "Default", "description": "The default source for file if the value is not provided.", "anyOf": [ { "$ref": "#/components/schemas/HTTP" }, { "$ref": "#/components/schemas/S3" }, { "$ref": "#/components/schemas/ProjectFolder" } ] }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "DAGFolderInput", "pattern": "^DAGFolderInput$", "type": "string", "readOnly": true } } } ], "title": "DAGFolderInput", "description": "A folder input.\n\nFolder is a special string input. Unlike other string inputs, a folder will be copied\nfrom its location to execution folder when a workflow is executed.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/string.html#string for\nmore information.\n\n.. code-block:: python\n\n \"schema\": {\n \"type\": \"string\",\n \"maxLength\": 50,\n }", "discriminator": { "propertyName": "type" } }, "DAGFileInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "properties": { "default": { "title": "Default", "description": "The default source for file if the value is not provided.", "anyOf": [ { "$ref": "#/components/schemas/HTTP" }, { "$ref": "#/components/schemas/S3" }, { "$ref": "#/components/schemas/ProjectFolder" } ] }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "extensions": { "title": "Extensions", "description": "Optional list of extensions for file. The check for extension is case-insensitive.", "type": "array", "items": { "type": "string" } }, "type": { "title": "Type", "default": "DAGFileInput", "pattern": "^DAGFileInput$", "type": "string", "readOnly": true } } } ], "title": "DAGFileInput", "description": "A file input.\n\nFile is a special string input. Unlike other string inputs, a file will be copied\nfrom its location to execution folder when a workflow is executed.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/string.html#string for\nmore information.\n\n.. code-block:: python\n\n # a file with maximum 50 characters with an ``epw`` extension.\n\n \"schema\": {\n \"type\": \"string\",\n \"maxLength\": 50,\n \"pattern\": \"(?i)(^.*\\.epw$)\"\n }", "discriminator": { "propertyName": "type" } }, "DAGPathInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "properties": { "default": { "title": "Default", "description": "The default source for file if the value is not provided.", "anyOf": [ { "$ref": "#/components/schemas/HTTP" }, { "$ref": "#/components/schemas/S3" }, { "$ref": "#/components/schemas/ProjectFolder" } ] }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "extensions": { "title": "Extensions", "description": "Optional list of extensions for path. The check for extension is case-insensitive. The extension will only be validated for file inputs.", "type": "array", "items": { "type": "string" } }, "type": { "title": "Type", "default": "DAGPathInput", "pattern": "^DAGPathInput$", "type": "string", "readOnly": true } } } ], "title": "DAGPathInput", "description": "A file or a folder input.\n\nUse this input only in cases that the input can be either a file or folder. For file\nor folder-only inputs see File and Folder.\n\nPath is a special string input. Unlike other string inputs, a path will be copied\nfrom its location to execution folder when a workflow is executed.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/string.html#string for\nmore information.\n\n.. code-block:: python\n\n # a file with maximum 50 characters with an ``epw`` extension.\n\n \"schema\": {\n \"type\": \"string\",\n \"maxLength\": 50,\n \"pattern\": \"(?i)(^.*\\.epw$)\"\n }", "discriminator": { "propertyName": "type" } }, "DAGArrayInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "properties": { "default": { "title": "Default", "description": "Default value to use for an input if a value was not supplied.", "type": "array", "items": {} }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "items_type": { "description": "Type of items in an array. All the items in an array must be from the same type.", "default": "String", "allOf": [ { "$ref": "#/components/schemas/ItemType" } ] }, "type": { "title": "Type", "default": "DAGArrayInput", "pattern": "^DAGArrayInput$", "type": "string", "readOnly": true } } } ], "title": "DAGArrayInput", "description": "A JSON array input.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/array.html for\nmore information.", "discriminator": { "propertyName": "type" } }, "DAGJSONObjectInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "properties": { "default": { "title": "Default", "description": "Default value to use for an input if a value was not supplied.", "type": "object" }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "DAGJSONObjectInput", "pattern": "^DAGJSONObjectInput$", "type": "string", "readOnly": true } } } ], "title": "DAGJSONObjectInput", "description": "A JSON object input.\n\nJSON objects are similar to Python dictionaries.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/object.html for\nmore information.", "discriminator": { "propertyName": "type" } }, "DAGGenericOutput": { "allOf": [ { "$ref": "#/components/schemas/FromOutput" }, { "type": "object", "properties": { "alias": { "title": "Alias", "description": "A list of additional processes for loading this output on different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericOutputAlias" }, { "$ref": "#/components/schemas/DAGStringOutputAlias" }, { "$ref": "#/components/schemas/DAGIntegerOutputAlias" }, { "$ref": "#/components/schemas/DAGNumberOutputAlias" }, { "$ref": "#/components/schemas/DAGBooleanOutputAlias" }, { "$ref": "#/components/schemas/DAGFolderOutputAlias" }, { "$ref": "#/components/schemas/DAGFileOutputAlias" }, { "$ref": "#/components/schemas/DAGPathOutputAlias" }, { "$ref": "#/components/schemas/DAGArrayOutputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectOutputAlias" }, { "$ref": "#/components/schemas/DAGLinkedOutputAlias" } ] } }, "type": { "title": "Type", "default": "DAGGenericOutput", "pattern": "^DAGGenericOutput$", "type": "string", "readOnly": true } } } ], "title": "DAGGenericOutput", "description": "DAG generic output.\n\nIn most cases, you should not be using the generic output unless you need a dynamic\noutput that changes its type in different platforms because of returning different\nobjects in handler.", "discriminator": { "propertyName": "type" } }, "DAGIntegerOutput": { "allOf": [ { "$ref": "#/components/schemas/GenericOutput" }, { "type": "object", "required": [ "from" ], "properties": { "from": { "title": "From", "description": "Reference to a file or a task output. Task output must be file.", "anyOf": [ { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/FileReference" } ] }, "alias": { "title": "Alias", "description": "A list of additional processes for loading this output on different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericOutputAlias" }, { "$ref": "#/components/schemas/DAGStringOutputAlias" }, { "$ref": "#/components/schemas/DAGIntegerOutputAlias" }, { "$ref": "#/components/schemas/DAGNumberOutputAlias" }, { "$ref": "#/components/schemas/DAGBooleanOutputAlias" }, { "$ref": "#/components/schemas/DAGFolderOutputAlias" }, { "$ref": "#/components/schemas/DAGFileOutputAlias" }, { "$ref": "#/components/schemas/DAGPathOutputAlias" }, { "$ref": "#/components/schemas/DAGArrayOutputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectOutputAlias" }, { "$ref": "#/components/schemas/DAGLinkedOutputAlias" } ] } }, "required": { "title": "Required", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true, "type": "boolean" }, "type": { "title": "Type", "default": "DAGIntegerOutput", "pattern": "^DAGIntegerOutput$", "type": "string", "readOnly": true } } } ], "title": "DAGIntegerOutput", "description": "DAG integer output.\n\nThis output loads the content from a file as an integer.", "discriminator": { "propertyName": "type" } }, "DAGNumberOutput": { "allOf": [ { "$ref": "#/components/schemas/GenericOutput" }, { "type": "object", "required": [ "from" ], "properties": { "from": { "title": "From", "description": "Reference to a file or a task output. Task output must be file.", "anyOf": [ { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/FileReference" } ] }, "alias": { "title": "Alias", "description": "A list of additional processes for loading this output on different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericOutputAlias" }, { "$ref": "#/components/schemas/DAGStringOutputAlias" }, { "$ref": "#/components/schemas/DAGIntegerOutputAlias" }, { "$ref": "#/components/schemas/DAGNumberOutputAlias" }, { "$ref": "#/components/schemas/DAGBooleanOutputAlias" }, { "$ref": "#/components/schemas/DAGFolderOutputAlias" }, { "$ref": "#/components/schemas/DAGFileOutputAlias" }, { "$ref": "#/components/schemas/DAGPathOutputAlias" }, { "$ref": "#/components/schemas/DAGArrayOutputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectOutputAlias" }, { "$ref": "#/components/schemas/DAGLinkedOutputAlias" } ] } }, "required": { "title": "Required", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true, "type": "boolean" }, "type": { "title": "Type", "default": "DAGNumberOutput", "pattern": "^DAGNumberOutput$", "type": "string", "readOnly": true } } } ], "title": "DAGNumberOutput", "description": "DAG number output.\n\nThis output loads the content from a file as a floating number.", "discriminator": { "propertyName": "type" } }, "DAGFileOutput": { "allOf": [ { "$ref": "#/components/schemas/GenericOutput" }, { "type": "object", "required": [ "from" ], "properties": { "from": { "title": "From", "description": "Reference to a file or a task output. Task output must be file.", "anyOf": [ { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/FileReference" } ] }, "alias": { "title": "Alias", "description": "A list of additional processes for loading this output on different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericOutputAlias" }, { "$ref": "#/components/schemas/DAGStringOutputAlias" }, { "$ref": "#/components/schemas/DAGIntegerOutputAlias" }, { "$ref": "#/components/schemas/DAGNumberOutputAlias" }, { "$ref": "#/components/schemas/DAGBooleanOutputAlias" }, { "$ref": "#/components/schemas/DAGFolderOutputAlias" }, { "$ref": "#/components/schemas/DAGFileOutputAlias" }, { "$ref": "#/components/schemas/DAGPathOutputAlias" }, { "$ref": "#/components/schemas/DAGArrayOutputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectOutputAlias" }, { "$ref": "#/components/schemas/DAGLinkedOutputAlias" } ] } }, "required": { "title": "Required", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true, "type": "boolean" }, "type": { "title": "Type", "default": "DAGFileOutput", "pattern": "^DAGFileOutput$", "type": "string", "readOnly": true } } } ], "title": "DAGFileOutput", "description": "DAG file output.", "discriminator": { "propertyName": "type" } }, "DAGPathOutput": { "allOf": [ { "$ref": "#/components/schemas/GenericOutput" }, { "type": "object", "required": [ "from" ], "properties": { "from": { "title": "From", "description": "Reference to a file, folder or a task output. Task output must either be a file or a folder.", "anyOf": [ { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/FileReference" }, { "$ref": "#/components/schemas/FolderReference" } ] }, "alias": { "title": "Alias", "description": "A list of additional processes for loading this output on different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericOutputAlias" }, { "$ref": "#/components/schemas/DAGStringOutputAlias" }, { "$ref": "#/components/schemas/DAGIntegerOutputAlias" }, { "$ref": "#/components/schemas/DAGNumberOutputAlias" }, { "$ref": "#/components/schemas/DAGBooleanOutputAlias" }, { "$ref": "#/components/schemas/DAGFolderOutputAlias" }, { "$ref": "#/components/schemas/DAGFileOutputAlias" }, { "$ref": "#/components/schemas/DAGPathOutputAlias" }, { "$ref": "#/components/schemas/DAGArrayOutputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectOutputAlias" }, { "$ref": "#/components/schemas/DAGLinkedOutputAlias" } ] } }, "required": { "title": "Required", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true, "type": "boolean" }, "type": { "title": "Type", "default": "DAGPathOutput", "pattern": "^DAGPathOutput$", "type": "string", "readOnly": true } } } ], "title": "DAGPathOutput", "description": "DAG path output.", "discriminator": { "propertyName": "type" } }, "DAGArrayOutput": { "allOf": [ { "$ref": "#/components/schemas/GenericOutput" }, { "type": "object", "required": [ "from" ], "properties": { "from": { "title": "From", "description": "Reference to a file or a task output. Task output must be file.", "anyOf": [ { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/FileReference" } ] }, "alias": { "title": "Alias", "description": "A list of additional processes for loading this output on different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericOutputAlias" }, { "$ref": "#/components/schemas/DAGStringOutputAlias" }, { "$ref": "#/components/schemas/DAGIntegerOutputAlias" }, { "$ref": "#/components/schemas/DAGNumberOutputAlias" }, { "$ref": "#/components/schemas/DAGBooleanOutputAlias" }, { "$ref": "#/components/schemas/DAGFolderOutputAlias" }, { "$ref": "#/components/schemas/DAGFileOutputAlias" }, { "$ref": "#/components/schemas/DAGPathOutputAlias" }, { "$ref": "#/components/schemas/DAGArrayOutputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectOutputAlias" }, { "$ref": "#/components/schemas/DAGLinkedOutputAlias" } ] } }, "required": { "title": "Required", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true, "type": "boolean" }, "items_type": { "description": "Type of items in this array. All the items in an array must be from the same type.", "default": "String", "allOf": [ { "$ref": "#/components/schemas/ItemType" } ] }, "type": { "title": "Type", "default": "DAGArrayOutput", "pattern": "^DAGArrayOutput$", "type": "string", "readOnly": true } } } ], "title": "DAGArrayOutput", "description": "DAG array output.\n\nThis output loads the content from a JSON file which must be a JSON Array.", "discriminator": { "propertyName": "type" } }, "DAGJSONObjectOutput": { "allOf": [ { "$ref": "#/components/schemas/GenericOutput" }, { "type": "object", "required": [ "from" ], "properties": { "from": { "title": "From", "description": "Reference to a file or a task output. Task output must be file.", "anyOf": [ { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/FileReference" } ] }, "alias": { "title": "Alias", "description": "A list of additional processes for loading this output on different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericOutputAlias" }, { "$ref": "#/components/schemas/DAGStringOutputAlias" }, { "$ref": "#/components/schemas/DAGIntegerOutputAlias" }, { "$ref": "#/components/schemas/DAGNumberOutputAlias" }, { "$ref": "#/components/schemas/DAGBooleanOutputAlias" }, { "$ref": "#/components/schemas/DAGFolderOutputAlias" }, { "$ref": "#/components/schemas/DAGFileOutputAlias" }, { "$ref": "#/components/schemas/DAGPathOutputAlias" }, { "$ref": "#/components/schemas/DAGArrayOutputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectOutputAlias" }, { "$ref": "#/components/schemas/DAGLinkedOutputAlias" } ] } }, "required": { "title": "Required", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true, "type": "boolean" }, "type": { "title": "Type", "default": "DAGJSONObjectOutput", "pattern": "^DAGJSONObjectOutput$", "type": "string", "readOnly": true } } } ], "title": "DAGJSONObjectOutput", "description": "DAG object output.\n\nThis output loads the content from a file as a JSON object.", "discriminator": { "propertyName": "type" } }, "ValueReference": { "allOf": [ { "$ref": "#/components/schemas/_BaseReference" }, { "type": "object", "required": [ "value" ], "properties": { "value": { "title": "Value", "description": "A fixed value for this reference." }, "type": { "title": "Type", "default": "ValueReference", "pattern": "^ValueReference$", "type": "string", "readOnly": true } } } ], "title": "ValueReference", "description": "A reference to a fixed value.", "discriminator": { "propertyName": "type" } }, "TaskArgument": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "name": { "title": "Name", "description": "Argument name. The name must match one of the input names from Task's template which can be a function or DAG.", "type": "string" }, "from": { "title": "From", "description": "A reference to a DAG input, a DAG output or another task output. You can also use the ValueReference type to hard-code an input value.", "anyOf": [ { "$ref": "#/components/schemas/InputReference" }, { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/ItemReference" }, { "$ref": "#/components/schemas/ValueReference" } ] }, "type": { "title": "Type", "default": "TaskArgument", "pattern": "^TaskArgument$", "type": "string", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } } }, "required": [ "name", "from" ] } ], "title": "TaskArgument", "description": "Task argument for receiving inputs that are not files or folders.", "discriminator": { "propertyName": "type" } }, "InputFileReference": { "allOf": [ { "$ref": "#/components/schemas/_InputReferenceBase" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "InputFileReference", "pattern": "^InputFileReference$", "type": "string", "readOnly": true } } } ], "title": "InputFileReference", "description": "An input file reference", "discriminator": { "propertyName": "type" } }, "InputFolderReference": { "allOf": [ { "$ref": "#/components/schemas/_InputReferenceBase" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "InputFolderReference", "pattern": "^InputFolderReference$", "type": "string", "readOnly": true } } } ], "title": "InputFolderReference", "description": "An input folder reference", "discriminator": { "propertyName": "type" } }, "TaskFileReference": { "allOf": [ { "$ref": "#/components/schemas/_TaskReferenceBase" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "TaskFileReference", "pattern": "^TaskFileReference$", "type": "string", "readOnly": true } } } ], "title": "TaskFileReference", "description": "A reference to a file that is generated in a task.", "discriminator": { "propertyName": "type" } }, "TaskFolderReference": { "allOf": [ { "$ref": "#/components/schemas/_TaskReferenceBase" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "TaskFolderReference", "pattern": "^TaskFolderReference$", "type": "string", "readOnly": true } } } ], "title": "TaskFolderReference", "description": "A reference to a folder that is generated in a task.", "discriminator": { "propertyName": "type" } }, "TaskPathReference": { "allOf": [ { "$ref": "#/components/schemas/_TaskReferenceBase" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "TaskPathReference", "pattern": "^TaskPathReference$", "type": "string", "readOnly": true } } } ], "title": "TaskPathReference", "description": "A reference to a file or folder that is generated in a task.", "discriminator": { "propertyName": "type" } }, "ValueFileReference": { "allOf": [ { "$ref": "#/components/schemas/_BaseReference" }, { "type": "object", "required": [ "path" ], "properties": { "path": { "title": "Path", "description": "A fixed value for this reference.", "type": "string" }, "type": { "title": "Type", "default": "ValueFileReference", "pattern": "^ValueFileReference$", "type": "string", "readOnly": true } } } ], "title": "ValueFileReference", "description": "A reference to a fixed file.", "discriminator": { "propertyName": "type" } }, "ValueFolderReference": { "allOf": [ { "$ref": "#/components/schemas/ValueFileReference" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "ValueFolderReference", "pattern": "^ValueFolderReference$", "type": "string", "readOnly": true } } } ], "title": "ValueFolderReference", "description": "A reference to a fixed folder.", "discriminator": { "propertyName": "type" } }, "TaskPathArgument": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "name": { "title": "Name", "description": "Argument name. The name must match one of the input names from Task's template which can be a function or DAG.", "type": "string" }, "from": { "title": "From", "description": "A reference to a DAG input, a DAG output or another task output. You can also use the ValueReference type to hard-code an input value.", "anyOf": [ { "$ref": "#/components/schemas/InputFileReference" }, { "$ref": "#/components/schemas/InputFolderReference" }, { "$ref": "#/components/schemas/InputPathReference" }, { "$ref": "#/components/schemas/TaskFileReference" }, { "$ref": "#/components/schemas/TaskFolderReference" }, { "$ref": "#/components/schemas/TaskPathReference" }, { "$ref": "#/components/schemas/ValueFileReference" }, { "$ref": "#/components/schemas/ValueFolderReference" } ] }, "type": { "title": "Type", "default": "TaskPathArgument", "pattern": "^TaskPathArgument$", "type": "string", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "sub_path": { "title": "Sub Path", "description": "A sub_path inside the path that is provided in the ``from`` field. Use sub_path to only access part of the Path that is needed instead of copying all the files and folders inside the path.", "type": "string" } }, "required": [ "name", "from" ] } ], "title": "TaskPathArgument", "description": "BaseModel with functionality to return the object as a yaml string.", "discriminator": { "propertyName": "type" } }, "ValueListReference": { "allOf": [ { "$ref": "#/components/schemas/_BaseReference" }, { "type": "object", "required": [ "value" ], "properties": { "value": { "title": "Value", "description": "A fixed value for this reference.", "type": "array", "items": {} }, "type": { "title": "Type", "default": "ValueListReference", "pattern": "^ValueListReference$", "type": "string", "readOnly": true } } } ], "title": "ValueListReference", "description": "A reference to a fixed value.", "discriminator": { "propertyName": "type" } }, "DAGTaskLoop": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "DAGTaskLoop", "pattern": "^DAGTaskLoop$", "type": "string", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "from": { "title": "From", "description": "The task or DAG parameter to loop over (must be iterable).", "anyOf": [ { "$ref": "#/components/schemas/InputReference" }, { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/ValueListReference" } ] } } } ], "title": "DAGTaskLoop", "description": "Loop configuration for the task.\n\nThis will run the template provided multiple times and in parallel relative to an\ninput or task parameter which should be a list.", "discriminator": { "propertyName": "type" } }, "TaskReturn": { "allOf": [ { "$ref": "#/components/schemas/GenericOutput" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "TaskReturn", "pattern": "^TaskReturn$", "type": "string", "readOnly": true } } } ], "title": "TaskReturn", "description": "A Task return output that exposes the values from a function or a DAG.", "discriminator": { "propertyName": "type" } }, "DAGTask": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "name": { "title": "Name", "description": "Name for this task. It must be unique in a DAG.", "type": "string" }, "template": { "title": "Template", "description": "Template name. A template is a Function or a DAG. This template must be available in the dependencies.", "type": "string" }, "type": { "title": "Type", "default": "DAGTask", "pattern": "^DAGTask$", "type": "string", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "needs": { "title": "Needs", "description": "List of DAG tasks that this task depends on and needs to be executed before this task.", "type": "array", "items": { "type": "string" } }, "arguments": { "title": "Arguments", "description": "The input arguments for this task.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/TaskArgument" }, { "$ref": "#/components/schemas/TaskPathArgument" } ] } }, "loop": { "title": "Loop", "description": "Loop configuration for this task.", "allOf": [ { "$ref": "#/components/schemas/DAGTaskLoop" } ] }, "sub_folder": { "title": "Sub Folder", "description": "A path relative to the current folder context where artifacts should be saved. This is useful when performing a loop or invoking another workflow and wanting to save results in a specific sub_folder.", "type": "string" }, "returns": { "title": "Returns", "description": "List of task returns.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/TaskReturn" }, { "$ref": "#/components/schemas/TaskPathReturn" } ] } } }, "required": [ "name", "template" ] } ], "title": "DAGTask", "description": "A single task in a DAG flow.", "discriminator": { "propertyName": "type" } }, "DAG": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "name", "tasks" ], "properties": { "name": { "title": "Name", "description": "A unique name for this dag.", "type": "string" }, "tasks": { "title": "Tasks", "description": "Tasks are a list of DAG steps", "type": "array", "items": { "$ref": "#/components/schemas/DAGTask" } }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "inputs": { "title": "Inputs", "description": "Inputs for the DAG.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInput" }, { "$ref": "#/components/schemas/DAGStringInput" }, { "$ref": "#/components/schemas/DAGIntegerInput" }, { "$ref": "#/components/schemas/DAGNumberInput" }, { "$ref": "#/components/schemas/DAGBooleanInput" }, { "$ref": "#/components/schemas/DAGFolderInput" }, { "$ref": "#/components/schemas/DAGFileInput" }, { "$ref": "#/components/schemas/DAGPathInput" }, { "$ref": "#/components/schemas/DAGArrayInput" }, { "$ref": "#/components/schemas/DAGJSONObjectInput" } ] } }, "outputs": { "title": "Outputs", "description": "Outputs of the DAG that can be used by other DAGs.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericOutput" }, { "$ref": "#/components/schemas/DAGStringOutput" }, { "$ref": "#/components/schemas/DAGIntegerOutput" }, { "$ref": "#/components/schemas/DAGNumberOutput" }, { "$ref": "#/components/schemas/DAGBooleanOutput" }, { "$ref": "#/components/schemas/DAGFolderOutput" }, { "$ref": "#/components/schemas/DAGFileOutput" }, { "$ref": "#/components/schemas/DAGPathOutput" }, { "$ref": "#/components/schemas/DAGArrayOutput" }, { "$ref": "#/components/schemas/DAGJSONObjectOutput" } ] } }, "fail_fast": { "title": "Fail Fast", "description": "Stop scheduling new steps, as soon as it detects that one of the DAG nodes is failed. Default is True.", "default": true, "type": "boolean" }, "type": { "title": "Type", "default": "DAG", "pattern": "^DAG$", "type": "string", "readOnly": true } } } ], "title": "DAG", "description": "A Directed Acyclic Graph containing a list of tasks.", "discriminator": { "propertyName": "type" } }, "Recipe": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "flow": { "title": "Flow", "description": "A list of tasks to create a DAG recipe.", "type": "array", "items": { "$ref": "#/components/schemas/DAG" } }, "type": { "title": "Type", "default": "Recipe", "pattern": "^Recipe$", "type": "string", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "api_version": { "title": "Api Version", "default": "v1beta1", "readOnly": true, "pattern": "^v1beta1$", "type": "string" }, "metadata": { "title": "Metadata", "description": "Recipe metadata information.", "allOf": [ { "$ref": "#/components/schemas/MetaData" } ] }, "dependencies": { "title": "Dependencies", "description": "A list of plugins and other recipes this recipe depends on.", "type": "array", "items": { "$ref": "#/components/schemas/Dependency" } } }, "required": [ "flow" ] } ], "title": "Recipe", "description": "A Queenbee Recipe", "discriminator": { "propertyName": "type" } }, "PackageVersion": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "name", "tag", "url", "created", "digest" ], "properties": { "name": { "title": "Name", "description": "Package name. Make it descriptive and helpful ;)", "type": "string" }, "tag": { "title": "Tag", "description": "The tag of the package", "type": "string" }, "url": { "title": "Url", "type": "string" }, "created": { "title": "Created", "type": "string", "format": "date-time" }, "digest": { "title": "Digest", "type": "string" }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "app_version": { "title": "App Version", "description": "The version of the application code underlying the manifest", "type": "string" }, "keywords": { "title": "Keywords", "description": "A list of keywords to search the package by", "type": "array", "items": { "type": "string" } }, "maintainers": { "title": "Maintainers", "description": "A list of maintainers for the package", "type": "array", "items": { "$ref": "#/components/schemas/Maintainer" } }, "home": { "title": "Home", "description": "The URL of this package's home page", "type": "string" }, "sources": { "title": "Sources", "description": "A list of URLs to source code for this project", "type": "array", "items": { "type": "string" } }, "icon": { "title": "Icon", "description": "A URL to an SVG or PNG image to be used as an icon", "type": "string" }, "deprecated": { "title": "Deprecated", "description": "Whether this package is deprecated", "type": "boolean" }, "description": { "title": "Description", "description": "A description of what this package does", "type": "string" }, "license": { "title": "License", "description": "The license information.", "allOf": [ { "$ref": "#/components/schemas/License" } ] }, "slug": { "title": "Slug", "description": "A slug of the repository name and the package name.", "type": "string" }, "kind": { "title": "Kind", "description": "The type of Queenbee package (ie: recipe or plugin)", "default": "", "type": "string" }, "readme": { "title": "Readme", "description": "The README file string for this package", "type": "string" }, "manifest": { "title": "Manifest", "description": "The package Recipe or Plugin manifest", "anyOf": [ { "$ref": "#/components/schemas/Recipe" }, { "$ref": "#/components/schemas/Plugin" } ] }, "type": { "title": "Type", "default": "PackageVersion", "pattern": "^PackageVersion$", "type": "string", "readOnly": true } } } ], "title": "PackageVersion", "description": "Package Version\n\nA MetaData object to distinguish a specific package version within a repository\nindex.", "discriminator": { "propertyName": "type" } }, "RepositoryIndex": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "RepositoryIndex", "pattern": "^RepositoryIndex$", "type": "string", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "api_version": { "title": "Api Version", "default": "v1beta1", "readOnly": true, "pattern": "^v1beta1$", "type": "string" }, "generated": { "title": "Generated", "description": "The timestamp at which the index was generated", "type": "string", "format": "date-time" }, "metadata": { "title": "Metadata", "description": "Extra information about the repository", "default": { "type": "RepositoryMetadata", "annotations": {}, "name": null, "description": "A Queenbee package repository", "source": null, "plugin_count": 0, "recipe_count": 0 }, "allOf": [ { "$ref": "#/components/schemas/RepositoryMetadata" } ] }, "plugin": { "title": "Plugin", "description": "A dict of plugins accessible by name. Each name key points to a list of plugin versions", "default": {}, "type": "object", "additionalProperties": { "type": "array", "items": { "$ref": "#/components/schemas/PackageVersion" } } }, "recipe": { "title": "Recipe", "description": "A dict of recipes accessible by name. Each name key points to a list of recipesversions", "default": {}, "type": "object", "additionalProperties": { "type": "array", "items": { "$ref": "#/components/schemas/PackageVersion" } } } } } ], "title": "RepositoryIndex", "description": "A searchable index for a Queenbee Plugin and Recipe repository", "discriminator": { "propertyName": "type" } }, "PublicAccountList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "properties": { "page": { "title": "Page", "description": "The current page the pagination request is on", "type": "integer", "format": "int32" }, "per_page": { "title": "Per Page", "description": "The number of pages per pagination request", "type": "integer", "format": "int32" }, "page_count": { "title": "Page Count", "description": "The total number of pages", "type": "integer", "format": "int32" }, "total_count": { "title": "Total Count", "description": "The total number of resources matching the list request", "type": "integer", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/AccountPublic" } }, "next_page": { "title": "Next Page", "description": "The next page, if this on is not the last", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "PublicAccountList", "type": "string", "pattern": "^PublicAccountList$", "readOnly": true } } } ], "title": "PublicAccountList", "description": "A list response from a pagination request", "discriminator": { "propertyName": "type" } }, "RepositoryAccessPolicy": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "subject", "permission" ], "properties": { "subject": { "title": "Subject", "description": "The subject of the access policy", "allOf": [ { "$ref": "#/components/schemas/PolicySubject" } ] }, "permission": { "description": "The permission given to the subject of the access policy", "example": "write", "allOf": [ { "$ref": "#/components/schemas/Permission" } ] }, "type": { "title": "Type", "default": "RepositoryAccessPolicy", "type": "string", "pattern": "^RepositoryAccessPolicy$", "readOnly": true } } } ], "title": "RepositoryAccessPolicy", "discriminator": { "propertyName": "type" } }, "ApplicationPolicySubject": { "allOf": [ { "$ref": "#/components/schemas/PolicySubject" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "ApplicationPolicySubject", "type": "string", "pattern": "^ApplicationPolicySubject$", "readOnly": true } } } ], "title": "ApplicationPolicySubject", "discriminator": { "propertyName": "type" } }, "BillingSubscriptionItem": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "price_id": { "title": "Price Id", "type": "string" }, "quantity": { "title": "Quantity", "default": 1, "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "BillingSubscriptionItem", "type": "string", "pattern": "^BillingSubscriptionItem$", "readOnly": true } }, "required": [ "price_id" ] } ], "title": "BillingSubscriptionItem", "description": "DTO for Billing subscription item creation", "discriminator": { "propertyName": "type" } }, "PaymentMethodEnum": { "title": "PaymentMethodEnum", "description": "An enumeration.", "enum": [ "card", "paypal", "PayPal" ], "type": "string" }, "CardType": { "title": "CardType", "description": "An enumeration.", "enum": [ "master", "mastercard", "visa", "american_express", "discover", "jcb", "maestro", "diners_club", "unknown", "union_pay" ], "type": "string" }, "PaymentMethod": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "payment_method": { "$ref": "#/components/schemas/PaymentMethodEnum" }, "card_type": { "$ref": "#/components/schemas/CardType" }, "last_four_digits": { "title": "Last Four Digits", "type": "string" }, "expiry_date": { "title": "Expiry Date", "type": "string" }, "type": { "title": "Type", "default": "PaymentMethod", "type": "string", "pattern": "^PaymentMethod$", "readOnly": true } }, "required": [ "payment_method" ] } ], "title": "PaymentMethod", "discriminator": { "propertyName": "type" } }, "PausedReason": { "title": "PausedReason", "description": "An enumeration.", "enum": [ "voluntary", "delinquent" ], "type": "string" }, "BillingInfo": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "user_email": { "title": "User Email", "description": "The email used for billing on this subscription", "type": "string" }, "update_url": { "title": "Update Url", "description": "The url to update the billing info", "type": "string" }, "cancel_url": { "title": "Cancel Url", "description": "The url to cancel the subscription", "type": "string" }, "signup_date": { "title": "Signup Date", "description": "The date the subscription was created", "type": "string", "format": "date-time" }, "payment_information": { "title": "Payment Information", "description": "The payment method used", "allOf": [ { "$ref": "#/components/schemas/PaymentMethod" } ] }, "last_payment": { "title": "Last Payment", "description": "The last payment made", "allOf": [ { "$ref": "#/components/schemas/SubscriptionPayment" } ] }, "next_payment": { "title": "Next Payment", "description": "The last payment made", "allOf": [ { "$ref": "#/components/schemas/SubscriptionPayment" } ] }, "paused_at": { "title": "Paused At", "description": "The date the subscription was paused", "type": "string", "format": "date-time" }, "paused_from": { "title": "Paused From", "description": "The date the subscription will be paused from", "type": "string", "format": "date-time" }, "paused_reason": { "description": "The reason the subscription was paused", "allOf": [ { "$ref": "#/components/schemas/PausedReason" } ] }, "type": { "title": "Type", "default": "BillingInfo", "type": "string", "pattern": "^BillingInfo$", "readOnly": true } }, "required": [ "user_email", "update_url", "cancel_url", "signup_date", "payment_information", "last_payment" ] } ], "title": "BillingInfo", "discriminator": { "propertyName": "type" } }, "TrialStatusResponse": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "did_trial": { "title": "Did Trial", "description": "Whether the account has previously activated a trial", "type": "boolean" }, "account_id": { "title": "Account Id", "description": "The ID of the account", "type": "string", "format": "uuid" }, "product": { "title": "Product", "description": "The product for which trial status is being checked", "type": "string" }, "trial_activated_at": { "title": "Trial Activated At", "description": "The timestamp when the trial was first activated (if did_trial is true)", "type": "string" }, "type": { "title": "Type", "default": "TrialStatusResponse", "type": "string", "pattern": "^TrialStatusResponse$", "readOnly": true } }, "required": [ "did_trial", "account_id", "product" ] } ], "title": "TrialStatusResponse", "description": "Response showing whether an account has activated a trial for a specific product", "discriminator": { "propertyName": "type" } }, "RepositoryPolicySubject": { "allOf": [ { "$ref": "#/components/schemas/PolicySubject" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "RepositoryPolicySubject", "type": "string", "pattern": "^RepositoryPolicySubject$", "readOnly": true } } } ], "title": "RepositoryPolicySubject", "discriminator": { "propertyName": "type" } }, "PaddleBillingPaymentMethodCard": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "type": { "title": "Type", "type": "string", "readOnly": true }, "last4": { "title": "Last4", "type": "string" }, "expiry_month": { "title": "Expiry Month", "type": "integer", "format": "int32" }, "expiry_year": { "title": "Expiry Year", "type": "integer", "format": "int32" } }, "required": [ "type", "last4", "expiry_month", "expiry_year" ] } ], "title": "PaddleBillingPaymentMethodCard", "discriminator": { "propertyName": "type" } }, "LicensePoolPolicySubject": { "allOf": [ { "$ref": "#/components/schemas/PolicySubject" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "LicensePoolPolicySubject", "type": "string", "pattern": "^LicensePoolPolicySubject$", "readOnly": true } } } ], "title": "LicensePoolPolicySubject", "discriminator": { "propertyName": "type" } }, "FileMeta": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "key": { "title": "Key", "type": "string" }, "file_type": { "title": "File Type", "type": "string" }, "file_name": { "title": "File Name", "type": "string" }, "last_modified": { "title": "Last Modified", "type": "string", "format": "date-time" }, "size": { "title": "Size", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "FileMeta", "type": "string", "pattern": "^FileMeta$", "readOnly": true } }, "required": [ "key", "file_type", "file_name" ] } ], "title": "FileMeta", "discriminator": { "propertyName": "type" } }, "FileMetaList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "properties": { "page": { "title": "Page", "description": "The current page the pagination request is on", "type": "integer", "format": "int32" }, "per_page": { "title": "Per Page", "description": "The number of pages per pagination request", "type": "integer", "format": "int32" }, "page_count": { "title": "Page Count", "description": "The total number of pages", "type": "integer", "format": "int32" }, "total_count": { "title": "Total Count", "description": "The total number of resources matching the list request", "type": "integer", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/FileMeta" } }, "next_page": { "title": "Next Page", "description": "The next page, if this on is not the last", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "FileMetaList", "type": "string", "pattern": "^FileMetaList$", "readOnly": true } } } ], "title": "FileMetaList", "description": "A list response from a pagination request", "discriminator": { "propertyName": "type" } }, "OrganizationCreate": { "allOf": [ { "$ref": "#/components/schemas/OrganizationUpdate" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "OrganizationCreate", "type": "string", "pattern": "^OrganizationCreate$", "readOnly": true } } } ], "title": "OrganizationCreate", "discriminator": { "propertyName": "type" } }, "UserCreate": { "allOf": [ { "$ref": "#/components/schemas/UserUpdate" }, { "type": "object", "required": [ "username" ], "properties": { "username": { "title": "Username", "description": "The unique name of the user in small case without spaces", "maxLength": 30, "minLength": 3, "example": "ladybugbot", "type": "string" }, "type": { "title": "Type", "default": "UserCreate", "type": "string", "pattern": "^UserCreate$", "readOnly": true } } } ], "title": "UserCreate", "discriminator": { "propertyName": "type" } }, "OrganizationMemberUsage": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "user_id": { "title": "User Id", "type": "string" }, "username": { "title": "Username", "type": "string" }, "display_name": { "title": "Display Name", "type": "string" }, "email": { "title": "Email", "type": "string" }, "permission": { "title": "Permission", "type": "string" }, "deleted": { "title": "Deleted", "type": "boolean" }, "created_at": { "title": "Created At", "type": "string", "format": "date-time" }, "updated_at": { "title": "Updated At", "type": "string", "format": "date-time" }, "deleted_at": { "title": "Deleted At", "type": "string", "format": "date-time" }, "type": { "title": "Type", "default": "OrganizationMemberUsage", "type": "string", "pattern": "^OrganizationMemberUsage$", "readOnly": true } }, "required": [ "user_id", "username", "display_name", "email", "permission", "deleted", "created_at", "updated_at" ] } ], "title": "OrganizationMemberUsage", "description": "A row in a report on compute usage by organisation members", "discriminator": { "propertyName": "type" } }, "ProjectPolicySubject": { "allOf": [ { "$ref": "#/components/schemas/PolicySubject" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "ProjectPolicySubject", "type": "string", "pattern": "^ProjectPolicySubject$", "readOnly": true } } } ], "title": "ProjectPolicySubject", "discriminator": { "propertyName": "type" } }, "BuildStatusEnum": { "title": "BuildStatusEnum", "description": "The status of a build.", "enum": [ "pending", "running", "success", "failure", "cancelled", "awaiting_package_upload", "unknown" ], "type": "string" }, "BuildStatus": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "status": { "description": "The status of the build", "allOf": [ { "$ref": "#/components/schemas/BuildStatusEnum" } ] }, "created_at": { "title": "Created At", "description": "The date and time the build was created", "type": "string", "format": "date-time" }, "started_at": { "title": "Started At", "description": "The date and time the build started", "type": "string", "format": "date-time" }, "finished_at": { "title": "Finished At", "description": "The date and time the build finished", "type": "string", "format": "date-time" }, "type": { "title": "Type", "default": "BuildStatus", "type": "string", "pattern": "^BuildStatus$", "readOnly": true } }, "required": [ "status" ] } ], "title": "BuildStatus", "discriminator": { "propertyName": "type" } }, "ApplicationVersion": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "id": { "title": "Id", "description": "The application version ID", "type": "string", "format": "uuid" }, "author": { "title": "Author", "description": "The author that created the application version", "allOf": [ { "$ref": "#/components/schemas/AccountPublic" } ] }, "tag": { "title": "Tag", "description": "The tag for this version of the application", "type": "string" }, "build_status": { "title": "Build Status", "description": "The status of the application version build", "allOf": [ { "$ref": "#/components/schemas/BuildStatus" } ] }, "release_notes": { "title": "Release Notes", "description": "The release notes for the application version", "default": "", "type": "string" }, "created_at": { "title": "Created At", "description": "The time the application version was created", "type": "string", "format": "date-time" }, "type": { "title": "Type", "default": "ApplicationVersion", "type": "string", "pattern": "^ApplicationVersion$", "readOnly": true } }, "required": [ "id", "author", "tag", "build_status" ] } ], "title": "ApplicationVersion", "discriminator": { "propertyName": "type" } }, "ApplicationVersionList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "properties": { "page": { "title": "Page", "description": "The current page the pagination request is on", "type": "integer", "format": "int32" }, "per_page": { "title": "Per Page", "description": "The number of pages per pagination request", "type": "integer", "format": "int32" }, "page_count": { "title": "Page Count", "description": "The total number of pages", "type": "integer", "format": "int32" }, "total_count": { "title": "Total Count", "description": "The total number of resources matching the list request", "type": "integer", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/ApplicationVersion" } }, "next_page": { "title": "Next Page", "description": "The next page, if this on is not the last", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "ApplicationVersionList", "type": "string", "pattern": "^ApplicationVersionList$", "readOnly": true } } } ], "title": "ApplicationVersionList", "description": "A list response from a pagination request", "discriminator": { "propertyName": "type" } }, "Team": { "allOf": [ { "$ref": "#/components/schemas/TeamUpdate" }, { "type": "object", "required": [ "id", "slug" ], "properties": { "id": { "title": "Id", "description": "The team ID", "example": "142ee933-6110-4186-92ab-92df359aa108", "type": "string" }, "slug": { "title": "Slug", "description": "The public slug of the team", "example": "ladybug-tools/honeybee-contributors", "type": "string" }, "member_count": { "title": "Member Count", "description": "The number of members that are part of this team", "default": 0, "example": 5, "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "Team", "type": "string", "pattern": "^Team$", "readOnly": true } } } ], "title": "Team", "discriminator": { "propertyName": "type" } }, "PlanType": { "title": "PlanType", "description": "An enumeration.", "enum": [ "cloud", "rhino-plugin", "revit-plugin", "bundled-plugin", "application", "seat", "cloud-compute" ], "type": "string" }, "AccountType": { "title": "AccountType", "description": "The type of account.", "enum": [ "org", "user" ], "type": "string" }, "BillingOption": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "id": { "title": "Id", "description": "The id of the billing option", "type": "integer", "format": "int32" }, "name": { "title": "Name", "description": "The name of the billing option", "type": "string" }, "billing_type": { "title": "Billing Type", "description": "The type of billing option, can be daily, monthly or yearly", "type": "string" }, "billing_period": { "title": "Billing Period", "description": "The number of period for the billing cycle", "type": "integer", "format": "int32" }, "recurring_price": { "title": "Recurring Price", "description": "The price of the billing option", "type": "object", "additionalProperties": { "type": "number" } }, "type": { "title": "Type", "default": "BillingOption", "type": "string", "pattern": "^BillingOption$", "readOnly": true } }, "required": [ "id", "name", "billing_type", "billing_period", "recurring_price" ] } ], "title": "BillingOption", "discriminator": { "propertyName": "type" } }, "SubscriptionPlan": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "type": { "description": "The type of plan", "allOf": [ { "$ref": "#/components/schemas/PlanType" } ], "readOnly": true }, "slug": { "title": "Slug", "description": "A slug of the config plan used to create this subscription", "type": "string" }, "name": { "title": "Name", "description": "A name of the config plan used to create this subscription", "type": "string" }, "account_types": { "description": "The types of account to which the plan can be applied", "type": "array", "items": { "$ref": "#/components/schemas/AccountType" }, "uniqueItems": true }, "quotas": { "title": "Quotas", "description": "A list of quota plans for a given subscription", "default": [], "type": "array", "items": { "$ref": "#/components/schemas/QuotaPlan" } }, "billing_options": { "title": "Billing Options", "description": "The billing options for this plan", "default": [], "type": "array", "items": { "$ref": "#/components/schemas/BillingOption" } } }, "required": [ "type", "slug", "name", "account_types" ] } ], "title": "SubscriptionPlan", "discriminator": { "propertyName": "type" } }, "RecipeInterface": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "metadata": { "title": "Metadata", "description": "Recipe metadata information.", "allOf": [ { "$ref": "#/components/schemas/MetaData" } ] }, "type": { "title": "Type", "default": "RecipeInterface", "pattern": "^RecipeInterface$", "type": "string", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "api_version": { "title": "Api Version", "default": "v1beta1", "readOnly": true, "pattern": "^v1beta1$", "type": "string" }, "source": { "title": "Source", "description": "A URL to the source this recipe from a registry.", "type": "string" }, "inputs": { "title": "Inputs", "description": "A list of recipe inputs.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInput" }, { "$ref": "#/components/schemas/DAGStringInput" }, { "$ref": "#/components/schemas/DAGIntegerInput" }, { "$ref": "#/components/schemas/DAGNumberInput" }, { "$ref": "#/components/schemas/DAGBooleanInput" }, { "$ref": "#/components/schemas/DAGFolderInput" }, { "$ref": "#/components/schemas/DAGFileInput" }, { "$ref": "#/components/schemas/DAGPathInput" }, { "$ref": "#/components/schemas/DAGArrayInput" }, { "$ref": "#/components/schemas/DAGJSONObjectInput" } ] } }, "outputs": { "title": "Outputs", "description": "A list of recipe outputs.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericOutput" }, { "$ref": "#/components/schemas/DAGStringOutput" }, { "$ref": "#/components/schemas/DAGIntegerOutput" }, { "$ref": "#/components/schemas/DAGNumberOutput" }, { "$ref": "#/components/schemas/DAGBooleanOutput" }, { "$ref": "#/components/schemas/DAGFolderOutput" }, { "$ref": "#/components/schemas/DAGFileOutput" }, { "$ref": "#/components/schemas/DAGPathOutput" }, { "$ref": "#/components/schemas/DAGArrayOutput" }, { "$ref": "#/components/schemas/DAGJSONObjectOutput" } ] } } }, "required": [ "metadata" ] } ], "title": "RecipeInterface", "description": "An interface object for creating a Recipe.\n\nRecipe information only includes metadata, source, inputs and outputs of a Recipe.\nThis object is useful for creating user interface for Recipes.", "discriminator": { "propertyName": "type" } }, "JobArgument": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "name": { "title": "Name", "description": "Argument name. The name must match one of the input names from Job's DAG template.", "type": "string" }, "value": { "title": "Value", "description": "The value of the job argument." }, "type": { "title": "Type", "default": "JobArgument", "pattern": "^JobArgument$", "type": "string", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } } }, "required": [ "name", "value" ] } ], "title": "JobArgument", "description": "Job argument is an argument input for arguments which are not files or folders.", "discriminator": { "propertyName": "type" } }, "JobPathArgument": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "name": { "title": "Name", "description": "Argument name. The name must match one of the input names from Job's template which can be a function or DAG.", "type": "string" }, "source": { "title": "Source", "description": "The path to source the file from.", "anyOf": [ { "$ref": "#/components/schemas/HTTP" }, { "$ref": "#/components/schemas/S3" }, { "$ref": "#/components/schemas/ProjectFolder" } ] }, "type": { "title": "Type", "default": "JobPathArgument", "pattern": "^JobPathArgument$", "type": "string", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } } }, "required": [ "name", "source" ] } ], "title": "JobPathArgument", "description": "BaseModel with functionality to return the object as a yaml string.", "discriminator": { "propertyName": "type" } }, "Job": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "source": { "title": "Source", "description": "The source url for downloading the recipe.", "type": "string" }, "type": { "title": "Type", "default": "Job", "pattern": "^Job$", "type": "string", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "api_version": { "title": "Api Version", "default": "v1beta1", "readOnly": true, "pattern": "^v1beta1$", "type": "string" }, "arguments": { "title": "Arguments", "description": "Input arguments for this job.", "type": "array", "items": { "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/JobArgument" }, { "$ref": "#/components/schemas/JobPathArgument" } ] } } }, "name": { "title": "Name", "description": "An optional name for this job. This name will be used a the display name for the run.", "type": "string" }, "description": { "title": "Description", "description": "Run description.", "type": "string" }, "labels": { "title": "Labels", "description": "Optional user data as a dictionary. User data is for user reference only and will not be used in the execution of the job.", "type": "object", "additionalProperties": { "type": "string" } } }, "required": [ "source" ] } ], "title": "Job", "description": "Queenbee Job.\n\nA Job is an object to submit a list of arguments to execute a Queenbee recipe.", "discriminator": { "propertyName": "type" } }, "ResourcesDuration": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "cpu": { "title": "Cpu", "default": 0, "type": "integer", "format": "int32" }, "memory": { "title": "Memory", "default": 0, "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "ResourcesDuration", "type": "string", "pattern": "^ResourcesDuration$", "readOnly": true } } } ], "title": "ResourcesDuration", "discriminator": { "propertyName": "type" } }, "CloudJob": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "id": { "title": "Id", "description": "The unique ID for this run", "type": "string" }, "spec": { "title": "Spec", "description": "The job specification", "allOf": [ { "$ref": "#/components/schemas/Job" } ] }, "author": { "title": "Author", "description": "author", "allOf": [ { "$ref": "#/components/schemas/AccountPublic" } ] }, "owner": { "title": "Owner", "description": "owner", "allOf": [ { "$ref": "#/components/schemas/AccountPublic" } ] }, "recipe": { "title": "Recipe", "description": "The recipe used to generate this ", "allOf": [ { "$ref": "#/components/schemas/RecipeInterface" } ] }, "status": { "title": "Status", "description": "The status of the job", "allOf": [ { "$ref": "#/components/schemas/JobStatus" } ] }, "resources_duration": { "title": "Resources Duration", "description": "CPU and Memory usage aggregated for all runs in this job", "default": { "cpu": 0, "memory": 0 }, "allOf": [ { "$ref": "#/components/schemas/ResourcesDuration" } ] }, "type": { "title": "Type", "default": "CloudJob", "type": "string", "pattern": "^CloudJob$", "readOnly": true } }, "required": [ "id", "spec" ] } ], "title": "CloudJob", "discriminator": { "propertyName": "type" } }, "CloudJobList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "properties": { "page": { "title": "Page", "description": "The current page the pagination request is on", "type": "integer", "format": "int32" }, "per_page": { "title": "Per Page", "description": "The number of pages per pagination request", "type": "integer", "format": "int32" }, "page_count": { "title": "Page Count", "description": "The total number of pages", "type": "integer", "format": "int32" }, "total_count": { "title": "Total Count", "description": "The total number of resources matching the list request", "type": "integer", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/CloudJob" } }, "next_page": { "title": "Next Page", "description": "The next page, if this on is not the last", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "CloudJobList", "type": "string", "pattern": "^CloudJobList$", "readOnly": true } } } ], "title": "CloudJobList", "description": "A list response from a pagination request", "discriminator": { "propertyName": "type" } }, "Body_post_recipe": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "package": { "title": "Recipe Package", "type": "string", "format": "binary" }, "type": { "title": "Type", "default": "Body_post_recipe", "type": "string", "pattern": "^Body_post_recipe$", "readOnly": true } }, "required": [ "package" ] } ], "title": "Body_post_recipe", "discriminator": { "propertyName": "type" } }, "ProjectCreate": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "name": { "title": "Name", "description": "The name of the project. Must be unique to a given owner", "example": "Project Falcon", "type": "string" }, "description": { "title": "Description", "description": "A description of the project", "default": "", "example": "I always wanted to have a project called project Falcon", "type": "string" }, "public": { "title": "Public", "description": "Whether or not a project is publicly viewable", "default": true, "type": "boolean" }, "type": { "title": "Type", "default": "ProjectCreate", "type": "string", "pattern": "^ProjectCreate$", "readOnly": true } }, "required": [ "name" ] } ], "title": "ProjectCreate", "discriminator": { "propertyName": "type" } }, "PaymentTerms": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "interval": { "title": "Interval", "type": "string" }, "frequency": { "title": "Frequency", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "PaymentTerms", "type": "string", "pattern": "^PaymentTerms$", "readOnly": true } }, "required": [ "interval", "frequency" ] } ], "title": "PaymentTerms", "discriminator": { "propertyName": "type" } }, "BillingDetails": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "enable_checkout": { "title": "Enable Checkout", "type": "boolean" }, "payment_terms": { "$ref": "#/components/schemas/PaymentTerms" }, "purchase_order_number": { "title": "Purchase Order Number", "type": "string" }, "additional_information": { "title": "Additional Information", "type": "string" }, "type": { "title": "Type", "default": "BillingDetails", "type": "string", "pattern": "^BillingDetails$", "readOnly": true } }, "required": [ "enable_checkout", "payment_terms" ] } ], "title": "BillingDetails", "discriminator": { "propertyName": "type" } }, "UserPermission": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "admin": { "title": "Admin", "description": "The user has admin permission to this resource", "default": false, "example": false, "type": "boolean" }, "write": { "title": "Write", "description": "The user has write permission on this resource", "default": false, "example": false, "type": "boolean" }, "read": { "title": "Read", "description": "The user has read permission on this resource", "default": false, "example": true, "type": "boolean" }, "type": { "title": "Type", "default": "UserPermission", "type": "string", "pattern": "^UserPermission$", "readOnly": true } } } ], "title": "UserPermission", "discriminator": { "propertyName": "type" } }, "Body_post_plugin": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "package": { "title": "Plugin Package", "type": "string", "format": "binary" }, "type": { "title": "Type", "default": "Body_post_plugin", "type": "string", "pattern": "^Body_post_plugin$", "readOnly": true } }, "required": [ "package" ] } ], "title": "Body_post_plugin", "discriminator": { "propertyName": "type" } }, "Metadata": { "allOf": [ { "$ref": "#/components/schemas/CryptlexBase" }, { "type": "object", "required": [ "key", "value" ], "properties": { "key": { "title": "Key", "type": "string" }, "value": { "title": "Value", "type": "string" }, "id": { "title": "Id", "type": "string" }, "visible": { "title": "Visible", "default": false, "type": "boolean" }, "type": { "title": "Type", "default": "Metadata", "type": "string", "pattern": "^Metadata$", "readOnly": true } } } ], "title": "Metadata", "discriminator": { "propertyName": "type" } }, "Location": { "allOf": [ { "$ref": "#/components/schemas/CryptlexBase" }, { "type": "object", "properties": { "ip_address": { "title": "Ip Address", "type": "string" }, "country_code": { "title": "Country Code", "type": "string" }, "country_name": { "title": "Country Name", "type": "string" }, "city": { "title": "City", "type": "string" }, "latitude": { "title": "Latitude", "type": "number", "format": "double" }, "longitude": { "title": "Longitude", "type": "number", "format": "double" }, "type": { "title": "Type", "default": "Location", "type": "string", "pattern": "^Location$", "readOnly": true } } } ], "title": "Location", "discriminator": { "propertyName": "type" } }, "Activation": { "allOf": [ { "$ref": "#/components/schemas/CryptlexBase" }, { "type": "object", "required": [ "id", "created_at", "updated_at", "offline", "last_synced_at", "location" ], "properties": { "id": { "title": "Id", "type": "string" }, "created_at": { "title": "Created At", "type": "string", "format": "date-time" }, "updated_at": { "title": "Updated At", "type": "string", "format": "date-time" }, "offline": { "title": "Offline", "type": "boolean" }, "last_synced_at": { "title": "Last Synced At", "type": "string", "format": "date-time" }, "location": { "$ref": "#/components/schemas/Location" }, "os": { "title": "Os", "type": "string" }, "os_version": { "title": "Os Version", "type": "string" }, "hostname": { "title": "Hostname", "type": "string" }, "app_version": { "title": "App Version", "type": "string" }, "lease_expires_at": { "title": "Lease Expires At", "type": "string", "format": "date-time" }, "metadata": { "title": "Metadata", "default": [], "type": "array", "items": { "$ref": "#/components/schemas/Metadata" } }, "license_id": { "title": "License Id", "type": "string" }, "user": { "title": "User", "description": "The user associated with the activation", "allOf": [ { "$ref": "#/components/schemas/AccountPublic" } ] }, "type": { "title": "Type", "default": "Activation", "type": "string", "pattern": "^Activation$", "readOnly": true } } } ], "title": "Activation", "discriminator": { "propertyName": "type" } }, "RecipePackage": { "allOf": [ { "$ref": "#/components/schemas/RepositoryPackage" }, { "type": "object", "required": [ "manifest" ], "properties": { "manifest": { "$ref": "#/components/schemas/RecipeInterface" }, "type": { "title": "Type", "default": "RecipePackage", "type": "string", "pattern": "^RecipePackage$", "readOnly": true } } } ], "title": "RecipePackage", "discriminator": { "propertyName": "type" } }, "RecipePackageList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "properties": { "page": { "title": "Page", "description": "The current page the pagination request is on", "type": "integer", "format": "int32" }, "per_page": { "title": "Per Page", "description": "The number of pages per pagination request", "type": "integer", "format": "int32" }, "page_count": { "title": "Page Count", "description": "The total number of pages", "type": "integer", "format": "int32" }, "total_count": { "title": "Total Count", "description": "The total number of resources matching the list request", "type": "integer", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/RecipePackage" } }, "next_page": { "title": "Next Page", "description": "The next page, if this on is not the last", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "RecipePackageList", "type": "string", "pattern": "^RecipePackageList$", "readOnly": true } } } ], "title": "RecipePackageList", "description": "A list response from a pagination request", "discriminator": { "propertyName": "type" } }, "Accessor": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "subject": { "title": "Subject", "anyOf": [ { "$ref": "#/components/schemas/AccountPublic" }, { "$ref": "#/components/schemas/Team" } ] }, "permission": { "$ref": "#/components/schemas/Permission" }, "type": { "title": "Type", "default": "Accessor", "type": "string", "pattern": "^Accessor$", "readOnly": true } }, "required": [ "subject", "permission" ] } ], "title": "Accessor", "discriminator": { "propertyName": "type" } }, "LicensePoolPublic": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "id": { "title": "Id", "description": "The ID of the pool", "type": "string", "format": "uuid" }, "license_id": { "title": "License Id", "description": "The ID of the license to which the pool provides access", "type": "string" }, "owner": { "title": "Owner", "description": "The account that owns the license", "allOf": [ { "$ref": "#/components/schemas/AccountPublic" } ] }, "permissions": { "$ref": "#/components/schemas/UserPermission" }, "product": { "title": "Product", "description": "The pollination product to which this pool provides access", "type": "string" }, "total_activations": { "title": "Total Activations", "description": "The number of current activations for this license", "type": "integer", "format": "int32" }, "allowed_activations": { "title": "Allowed Activations", "description": "The number of allowable activations for this license", "type": "integer", "format": "int32" }, "accessors": { "title": "Accessors", "description": "The entities that can access the license though the pool", "default": [], "type": "array", "items": { "$ref": "#/components/schemas/Accessor" } }, "description": { "title": "Description", "description": "The description of the pool", "type": "string" }, "type": { "title": "Type", "default": "LicensePoolPublic", "type": "string", "pattern": "^LicensePoolPublic$", "readOnly": true } }, "required": [ "id", "license_id", "owner", "permissions", "product", "total_activations", "allowed_activations" ] } ], "title": "LicensePoolPublic", "discriminator": { "propertyName": "type" } }, "PaddleBillingCheckout": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "url": { "title": "Url", "type": "string" }, "type": { "title": "Type", "default": "PaddleBillingCheckout", "type": "string", "pattern": "^PaddleBillingCheckout$", "readOnly": true } } } ], "title": "PaddleBillingCheckout", "discriminator": { "propertyName": "type" } }, "BillingPrice": { "allOf": [ { "$ref": "#/components/schemas/PaddleBillingPrice" }, { "type": "object", "properties": { "type": { "title": "Type", "type": "string", "readOnly": true } } } ], "title": "BillingPrice", "description": "DTO for Paddle Billing Price", "discriminator": { "propertyName": "type" } }, "BillingProduct": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "id": { "title": "Id", "type": "string" }, "name": { "title": "Name", "type": "string" }, "description": { "title": "Description", "type": "string" }, "plan_type": { "title": "Plan Type", "type": "string" }, "plan_slug": { "title": "Plan Slug", "type": "string" }, "prices": { "title": "Prices", "type": "array", "items": { "$ref": "#/components/schemas/BillingPrice" } }, "status": { "title": "Status", "type": "string" }, "created_at": { "title": "Created At", "type": "string", "format": "date-time" }, "updated_at": { "title": "Updated At", "type": "string", "format": "date-time" }, "image_url": { "title": "Image Url", "type": "string" }, "type": { "title": "Type", "default": "BillingProduct", "type": "string", "pattern": "^BillingProduct$", "readOnly": true } }, "required": [ "id", "name" ] } ], "title": "BillingProduct", "description": "DTO for Paddle Billing Product with prices", "discriminator": { "propertyName": "type" } }, "PaddleBillingSubscriptionStatus": { "title": "PaddleBillingSubscriptionStatus", "description": "An enumeration.", "enum": [ "active", "canceled", "past_due", "paused", "trialing" ], "type": "string" }, "PaddleBillingSubscriptionItem": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "status": { "title": "Status", "type": "string" }, "quantity": { "title": "Quantity", "type": "integer", "format": "int32" }, "price": { "$ref": "#/components/schemas/PaddleBillingPrice" }, "product": { "$ref": "#/components/schemas/PaddleBillingProduct" }, "recurring": { "title": "Recurring", "default": true, "type": "boolean" }, "trial_dates": { "title": "Trial Dates", "type": "object" }, "created_at": { "title": "Created At", "type": "string", "format": "date-time" }, "updated_at": { "title": "Updated At", "type": "string", "format": "date-time" }, "next_billed_at": { "title": "Next Billed At", "type": "string", "format": "date-time" }, "previously_billed_at": { "title": "Previously Billed At", "type": "string", "format": "date-time" }, "type": { "title": "Type", "default": "PaddleBillingSubscriptionItem", "type": "string", "pattern": "^PaddleBillingSubscriptionItem$", "readOnly": true } }, "required": [ "status", "quantity", "price", "product" ] } ], "title": "PaddleBillingSubscriptionItem", "discriminator": { "propertyName": "type" } }, "BillingSubscription": { "allOf": [ { "$ref": "#/components/schemas/PaddleBillingSubscription" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "BillingSubscription", "type": "string", "pattern": "^BillingSubscription$", "readOnly": true } } } ], "title": "BillingSubscription", "description": "DTO for Paddle Billing Subscription", "discriminator": { "propertyName": "type" } }, "OrganizationRole": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "owner": { "title": "Owner", "description": "The account that owns the role", "allOf": [ { "$ref": "#/components/schemas/AccountPublic" } ] }, "name": { "title": "Name", "description": "The name of the role that is being bound to the user", "example": "owner", "type": "string" }, "display_name": { "title": "Display Name", "description": "The display name for this role", "example": "Owner", "type": "string" }, "description": { "title": "Description", "description": "A description of the role", "example": "This role can manage all resources in the organization", "type": "string" }, "resources": { "description": "The resources that the role can access", "default": {}, "example": { "subscriptions": "write", "quotas": "read" }, "type": "object", "additionalProperties": { "$ref": "#/components/schemas/Permission" } }, "type": { "title": "Type", "default": "OrganizationRole", "type": "string", "pattern": "^OrganizationRole$", "readOnly": true } }, "required": [ "owner", "name", "display_name", "description" ] } ], "title": "OrganizationRole", "discriminator": { "propertyName": "type" } }, "OrganizationRoleBinding": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "user": { "title": "User", "description": "The user that is being bound to the organization role", "allOf": [ { "$ref": "#/components/schemas/UserPublic" } ] }, "role": { "title": "Role", "description": "The role that is being bound to the user", "allOf": [ { "$ref": "#/components/schemas/OrganizationRole" } ] }, "type": { "title": "Type", "default": "OrganizationRoleBinding", "type": "string", "pattern": "^OrganizationRoleBinding$", "readOnly": true } }, "required": [ "user", "role" ] } ], "title": "OrganizationRoleBinding", "discriminator": { "propertyName": "type" } }, "BillingSubscriptionCreate": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "account": { "title": "Account", "type": "string" }, "items": { "title": "Items", "type": "array", "items": { "$ref": "#/components/schemas/BillingSubscriptionItem" } }, "type": { "title": "Type", "default": "BillingSubscriptionCreate", "type": "string", "pattern": "^BillingSubscriptionCreate$", "readOnly": true } }, "required": [ "account", "items" ] } ], "title": "BillingSubscriptionCreate", "description": "DTO for creating Billing subscription with multiple items", "discriminator": { "propertyName": "type" } }, "PaddleBillingPaymentMethodType": { "title": "PaddleBillingPaymentMethodType", "description": "An enumeration.", "enum": [ "card", "paypal" ], "type": "string" }, "PaddleBillingPaymentMethodPaypal": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "email": { "title": "Email", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "type": { "title": "Type", "default": "PaddleBillingPaymentMethodPaypal", "type": "string", "pattern": "^PaddleBillingPaymentMethodPaypal$", "readOnly": true } }, "required": [ "email", "reference" ] } ], "title": "PaddleBillingPaymentMethodPaypal", "discriminator": { "propertyName": "type" } }, "BillingPaymentMethod": { "allOf": [ { "$ref": "#/components/schemas/PaddleBillingPaymentMethod" }, { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/PaddleBillingPaymentMethodType", "readOnly": true } } } ], "title": "BillingPaymentMethod", "description": "DTO for Paddle Billing Payment Method", "discriminator": { "propertyName": "type" } }, "JobComputeUsage": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "job_id": { "title": "Job Id", "type": "string", "format": "uuid" }, "cpu_usage_hours": { "title": "Cpu Usage Hours", "type": "number", "format": "double" }, "started_at": { "title": "Started At", "type": "string", "format": "date-time" }, "finished_at": { "title": "Finished At", "type": "string", "format": "date-time" }, "account_name": { "title": "Account Name", "type": "string" }, "author_name": { "title": "Author Name", "type": "string" }, "author_email": { "title": "Author Email", "type": "string" }, "project_name": { "title": "Project Name", "type": "string" }, "recipe_name": { "title": "Recipe Name", "type": "string" }, "runs_succeeded": { "title": "Runs Succeeded", "default": 0, "type": "integer", "format": "int32" }, "runs_failed": { "title": "Runs Failed", "default": 0, "type": "integer", "format": "int32" }, "runs_cancelled": { "title": "Runs Cancelled", "default": 0, "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "JobComputeUsage", "type": "string", "pattern": "^JobComputeUsage$", "readOnly": true } }, "required": [ "job_id", "cpu_usage_hours", "started_at", "finished_at", "account_name", "author_name", "author_email", "project_name", "recipe_name" ] } ], "title": "JobComputeUsage", "description": "A row in a report on job CPU usage", "discriminator": { "propertyName": "type" } }, "SubscriptionUpdateTransaction": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "billing_period": { "$ref": "#/components/schemas/BillingPeriod" }, "details": { "$ref": "#/components/schemas/PaddleBillingTransactionDetails" }, "type": { "title": "Type", "default": "SubscriptionUpdateTransaction", "type": "string", "pattern": "^SubscriptionUpdateTransaction$", "readOnly": true } }, "required": [ "billing_period", "details" ] } ], "title": "SubscriptionUpdateTransaction", "discriminator": { "propertyName": "type" } }, "BillingTransactionPreview": { "allOf": [ { "$ref": "#/components/schemas/PaddleBillingSubscriptionPreview" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "BillingTransactionPreview", "type": "string", "pattern": "^BillingTransactionPreview$", "readOnly": true } } } ], "title": "BillingTransactionPreview", "description": "DTO for previewing a Billing transaction", "discriminator": { "propertyName": "type" } }, "RunStatusEnum": { "title": "RunStatusEnum", "description": "Enumaration of allowable status strings", "enum": [ "Created", "Scheduled", "Running", "Post-Processing", "Failed", "Cancelled", "Succeeded", "Unknown" ], "type": "string" }, "RunStatus": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "inputs", "outputs", "started_at", "id", "job_id" ], "properties": { "inputs": { "title": "Inputs", "description": "The inputs used for this run.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/StepStringInput" }, { "$ref": "#/components/schemas/StepIntegerInput" }, { "$ref": "#/components/schemas/StepNumberInput" }, { "$ref": "#/components/schemas/StepBooleanInput" }, { "$ref": "#/components/schemas/StepFolderInput" }, { "$ref": "#/components/schemas/StepFileInput" }, { "$ref": "#/components/schemas/StepPathInput" }, { "$ref": "#/components/schemas/StepArrayInput" }, { "$ref": "#/components/schemas/StepJSONObjectInput" } ] } }, "outputs": { "title": "Outputs", "description": "The outputs produced by this run.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/StepStringOutput" }, { "$ref": "#/components/schemas/StepIntegerOutput" }, { "$ref": "#/components/schemas/StepNumberOutput" }, { "$ref": "#/components/schemas/StepBooleanOutput" }, { "$ref": "#/components/schemas/StepFolderOutput" }, { "$ref": "#/components/schemas/StepFileOutput" }, { "$ref": "#/components/schemas/StepPathOutput" }, { "$ref": "#/components/schemas/StepArrayOutput" }, { "$ref": "#/components/schemas/StepJSONObjectOutput" } ] } }, "started_at": { "title": "Started At", "description": "The time at which the task was started", "type": "string", "format": "date-time" }, "id": { "title": "Id", "description": "The ID of the individual run.", "type": "string" }, "job_id": { "title": "Job Id", "description": "The ID of the job that generated this run.", "type": "string" }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "message": { "title": "Message", "description": "Any message produced by the task. Usually error/debugging hints.", "type": "string" }, "finished_at": { "title": "Finished At", "description": "The time at which the task was completed", "type": "string", "format": "date-time" }, "source": { "title": "Source", "description": "Source url for the status object. It can be a recipe or a function.", "type": "string" }, "api_version": { "title": "Api Version", "default": "v1beta1", "readOnly": true, "pattern": "^v1beta1$", "type": "string" }, "entrypoint": { "title": "Entrypoint", "description": "The ID of the first step in the run.", "type": "string" }, "status": { "description": "The status of this run.", "default": "Unknown", "allOf": [ { "$ref": "#/components/schemas/RunStatusEnum" } ] }, "steps": { "title": "Steps", "default": {}, "type": "object", "additionalProperties": { "$ref": "#/components/schemas/StepStatus" } }, "type": { "title": "Type", "default": "RunStatus", "pattern": "^RunStatus$", "type": "string", "readOnly": true } } } ], "title": "RunStatus", "description": "Job Status.", "discriminator": { "propertyName": "type" } }, "RunMeta": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "resources_duration": { "title": "Resources Duration", "description": "resource usage", "default": { "cpu": 0, "memory": 0 }, "allOf": [ { "$ref": "#/components/schemas/ResourcesDuration" } ] }, "progress": { "title": "Progress", "description": "progress of the run", "default": { "completed": 0, "running": 0, "total": 0 }, "allOf": [ { "$ref": "#/components/schemas/RunProgress" } ] }, "type": { "title": "Type", "default": "RunMeta", "type": "string", "pattern": "^RunMeta$", "readOnly": true } } } ], "title": "RunMeta", "discriminator": { "propertyName": "type" } }, "Run": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "id": { "title": "Id", "description": "The unique ID for this run", "type": "string" }, "author": { "title": "Author", "description": "author", "allOf": [ { "$ref": "#/components/schemas/AccountPublic" } ] }, "owner": { "title": "Owner", "description": "owner", "allOf": [ { "$ref": "#/components/schemas/AccountPublic" } ] }, "recipe": { "title": "Recipe", "description": "The recipe used to generate this ", "allOf": [ { "$ref": "#/components/schemas/RecipeInterface" } ] }, "generation": { "title": "Generation", "description": "The generation of this run", "type": "number", "format": "double" }, "status": { "title": "Status", "description": "The status of the run", "allOf": [ { "$ref": "#/components/schemas/RunStatus" } ] }, "meta": { "title": "Meta", "description": "Extra metadata about the run", "default": { "resources_duration": { "cpu": 0, "memory": 0 }, "progress": { "completed": 0, "running": 0, "total": 0 } }, "allOf": [ { "$ref": "#/components/schemas/RunMeta" } ] }, "type": { "title": "Type", "default": "Run", "type": "string", "pattern": "^Run$", "readOnly": true } }, "required": [ "id" ] } ], "title": "Run", "discriminator": { "propertyName": "type" } }, "RunList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "properties": { "page": { "title": "Page", "description": "The current page the pagination request is on", "type": "integer", "format": "int32" }, "per_page": { "title": "Per Page", "description": "The number of pages per pagination request", "type": "integer", "format": "int32" }, "page_count": { "title": "Page Count", "description": "The total number of pages", "type": "integer", "format": "int32" }, "total_count": { "title": "Total Count", "description": "The total number of resources matching the list request", "type": "integer", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/Run" } }, "next_page": { "title": "Next Page", "description": "The next page, if this on is not the last", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "RunList", "type": "string", "pattern": "^RunList$", "readOnly": true } } } ], "title": "RunList", "description": "A list response from a pagination request", "discriminator": { "propertyName": "type" } }, "OrganizationRoleEnum": { "title": "OrganizationRoleEnum", "description": "An enumeration.", "enum": [ "owner", "member" ], "type": "string" }, "Organization": { "allOf": [ { "$ref": "#/components/schemas/OrganizationUpdate" }, { "type": "object", "required": [ "id", "owner" ], "properties": { "id": { "title": "Id", "description": "The org ID", "example": "1eb8e60d-771d-4a30-8078-fe553eb2f0bc", "type": "string" }, "owner": { "title": "Owner", "description": "The account the organization represents", "example": { "id": "e4d0d922-2031-4b39-94d2-aa6d584d6bb2", "type": "org", "name": "ladybug-tools" }, "allOf": [ { "$ref": "#/components/schemas/AccountPublic" } ] }, "role": { "description": "The role the user has within the organization", "example": "member", "allOf": [ { "$ref": "#/components/schemas/OrganizationRoleEnum" } ] }, "member_count": { "title": "Member Count", "description": "The number of members that are part of this org", "default": 0, "example": 10, "type": "integer", "format": "int32" }, "team_count": { "title": "Team Count", "description": "The number of teams that are part of this org", "default": 0, "example": 3, "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "Organization", "type": "string", "pattern": "^Organization$", "readOnly": true } } } ], "title": "Organization", "discriminator": { "propertyName": "type" } }, "OrganizationList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "properties": { "page": { "title": "Page", "description": "The current page the pagination request is on", "type": "integer", "format": "int32" }, "per_page": { "title": "Per Page", "description": "The number of pages per pagination request", "type": "integer", "format": "int32" }, "page_count": { "title": "Page Count", "description": "The total number of pages", "type": "integer", "format": "int32" }, "total_count": { "title": "Total Count", "description": "The total number of resources matching the list request", "type": "integer", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/Organization" } }, "next_page": { "title": "Next Page", "description": "The next page, if this on is not the last", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "OrganizationList", "type": "string", "pattern": "^OrganizationList$", "readOnly": true } } } ], "title": "OrganizationList", "description": "A list response from a pagination request", "discriminator": { "propertyName": "type" } }, "TeamCreate": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "name": { "title": "Name", "example": "Honeybee Contributors", "type": "string" }, "description": { "title": "Description", "example": "The Honeybee team works on all things energy modelling", "type": "string" }, "type": { "title": "Type", "default": "TeamCreate", "type": "string", "pattern": "^TeamCreate$", "readOnly": true } }, "required": [ "name" ] } ], "title": "TeamCreate", "discriminator": { "propertyName": "type" } }, "RepositoryUserPermissions": { "allOf": [ { "$ref": "#/components/schemas/UserPermission" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "RepositoryUserPermissions", "type": "string", "pattern": "^RepositoryUserPermissions$", "readOnly": true } } } ], "title": "RepositoryUserPermissions", "discriminator": { "propertyName": "type" } }, "Repository": { "allOf": [ { "$ref": "#/components/schemas/RepositoryCreate" }, { "type": "object", "required": [ "id", "latest_tag", "owner" ], "properties": { "id": { "title": "Id", "description": "The recipe unique ID", "example": "5d5e7103-2c1e-413f-9332-f8ec4a9aace7", "type": "string" }, "latest_tag": { "title": "Latest Tag", "description": "The latest package version to be indexed", "example": "0.2.1", "type": "string" }, "owner": { "title": "Owner", "description": "The owner of the repository", "allOf": [ { "$ref": "#/components/schemas/AccountPublic" } ] }, "permissions": { "title": "Permissions", "description": "The permissions the user making the API call has on the resource", "default": { "admin": false, "write": false, "read": false }, "allOf": [ { "$ref": "#/components/schemas/RepositoryUserPermissions" } ] }, "slug": { "title": "Slug", "description": "The repository slug", "example": "ladybug-tools/daylight-factor", "type": "string" }, "type": { "title": "Type", "default": "Repository", "type": "string", "pattern": "^Repository$", "readOnly": true } } } ], "title": "Repository", "discriminator": { "propertyName": "type" } }, "SubscriptionCreate": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "account": { "title": "Account", "description": "The name of the account to create subscription for", "type": "string" }, "plan_id": { "title": "Plan Id", "description": "The ID of the plan to subscribe to", "type": "integer", "format": "int32" }, "quantity": { "title": "Quantity", "description": "The number of subscriptions to create", "default": 1, "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "SubscriptionCreate", "type": "string", "pattern": "^SubscriptionCreate$", "readOnly": true } }, "required": [ "account", "plan_id" ] } ], "title": "SubscriptionCreate", "discriminator": { "propertyName": "type" } }, "OrganizationMember": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "user": { "title": "User", "description": "The organization member", "allOf": [ { "$ref": "#/components/schemas/UserPublic" } ] }, "role": { "description": "The role the user has within the organization", "example": "member", "allOf": [ { "$ref": "#/components/schemas/OrganizationRoleEnum" } ] }, "type": { "title": "Type", "default": "OrganizationMember", "type": "string", "pattern": "^OrganizationMember$", "readOnly": true } }, "required": [ "user", "role" ] } ], "title": "OrganizationMember", "discriminator": { "propertyName": "type" } }, "TeamList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "properties": { "page": { "title": "Page", "description": "The current page the pagination request is on", "type": "integer", "format": "int32" }, "per_page": { "title": "Per Page", "description": "The number of pages per pagination request", "type": "integer", "format": "int32" }, "page_count": { "title": "Page Count", "description": "The total number of pages", "type": "integer", "format": "int32" }, "total_count": { "title": "Total Count", "description": "The total number of resources matching the list request", "type": "integer", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/Team" } }, "next_page": { "title": "Next Page", "description": "The next page, if this on is not the last", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "TeamList", "type": "string", "pattern": "^TeamList$", "readOnly": true } } } ], "title": "TeamList", "description": "A list response from a pagination request", "discriminator": { "propertyName": "type" } }, "RepositoryAccessPolicyList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "properties": { "page": { "title": "Page", "description": "The current page the pagination request is on", "type": "integer", "format": "int32" }, "per_page": { "title": "Per Page", "description": "The number of pages per pagination request", "type": "integer", "format": "int32" }, "page_count": { "title": "Page Count", "description": "The total number of pages", "type": "integer", "format": "int32" }, "total_count": { "title": "Total Count", "description": "The total number of resources matching the list request", "type": "integer", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/RepositoryAccessPolicy" } }, "next_page": { "title": "Next Page", "description": "The next page, if this on is not the last", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "RepositoryAccessPolicyList", "type": "string", "pattern": "^RepositoryAccessPolicyList$", "readOnly": true } } } ], "title": "RepositoryAccessPolicyList", "description": "A list response from a pagination request", "discriminator": { "propertyName": "type" } }, "APITokenCreate": { "allOf": [ { "$ref": "#/components/schemas/APIToken" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "APITokenCreate", "type": "string", "pattern": "^APITokenCreate$", "readOnly": true } } } ], "title": "APITokenCreate", "discriminator": { "propertyName": "type" } }, "PluginPackage": { "allOf": [ { "$ref": "#/components/schemas/RepositoryPackage" }, { "type": "object", "required": [ "manifest" ], "properties": { "manifest": { "$ref": "#/components/schemas/Plugin" }, "type": { "title": "Type", "default": "PluginPackage", "type": "string", "pattern": "^PluginPackage$", "readOnly": true } } } ], "title": "PluginPackage", "discriminator": { "propertyName": "type" } }, "PluginPackageList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "properties": { "page": { "title": "Page", "description": "The current page the pagination request is on", "type": "integer", "format": "int32" }, "per_page": { "title": "Per Page", "description": "The number of pages per pagination request", "type": "integer", "format": "int32" }, "page_count": { "title": "Page Count", "description": "The total number of pages", "type": "integer", "format": "int32" }, "total_count": { "title": "Total Count", "description": "The total number of resources matching the list request", "type": "integer", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/PluginPackage" } }, "next_page": { "title": "Next Page", "description": "The next page, if this on is not the last", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "PluginPackageList", "type": "string", "pattern": "^PluginPackageList$", "readOnly": true } } } ], "title": "PluginPackageList", "description": "A list response from a pagination request", "discriminator": { "propertyName": "type" } }, "BillingSubscriptionUpdate": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "items": { "title": "Items", "type": "array", "items": { "$ref": "#/components/schemas/BillingSubscriptionItem" } }, "type": { "title": "Type", "default": "BillingSubscriptionUpdate", "type": "string", "pattern": "^BillingSubscriptionUpdate$", "readOnly": true } }, "required": [ "items" ] } ], "title": "BillingSubscriptionUpdate", "description": "DTO for updating a Billing subscription with a single item", "discriminator": { "propertyName": "type" } }, "LicenseType": { "title": "LicenseType", "description": "An enumeration.", "enum": [ "node-locked", "hosted-floating", "on-premise-floating" ], "type": "string" }, "LicensePublic": { "allOf": [ { "$ref": "#/components/schemas/License" }, { "type": "object", "required": [ "id", "created_at", "updated_at", "key", "revoked", "suspended", "total_activations", "total_deactivations", "validity", "allowed_activations", "type", "server_sync_grace_period", "server_sync_interval", "lease_duration", "product_id", "metadata" ], "properties": { "id": { "title": "Id", "type": "string" }, "created_at": { "title": "Created At", "type": "string", "format": "date-time" }, "updated_at": { "title": "Updated At", "type": "string", "format": "date-time" }, "key": { "title": "Key", "description": "The key used to activate this license. Treat this like a password.", "type": "string" }, "revoked": { "title": "Revoked", "type": "boolean" }, "suspended": { "title": "Suspended", "type": "boolean" }, "total_activations": { "title": "Total Activations", "type": "integer", "format": "int32" }, "total_deactivations": { "title": "Total Deactivations", "type": "integer", "format": "int32" }, "validity": { "title": "Validity", "type": "integer", "format": "int32" }, "allowed_activations": { "title": "Allowed Activations", "type": "integer", "format": "int32" }, "server_sync_grace_period": { "title": "Server Sync Grace Period", "type": "integer", "format": "int32" }, "server_sync_interval": { "title": "Server Sync Interval", "type": "integer", "format": "int32" }, "lease_duration": { "title": "Lease Duration", "type": "integer", "format": "int32" }, "product_id": { "title": "Product Id", "type": "string" }, "metadata": { "title": "Metadata", "type": "array", "items": { "$ref": "#/components/schemas/Metadata" } }, "type": { "$ref": "#/components/schemas/LicenseType", "readOnly": true }, "notes": { "title": "Notes", "type": "string" } } } ], "title": "LicensePublic", "discriminator": { "propertyName": "type" } }, "ProjectRecipeFilter": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "owner": { "title": "Owner", "description": "The name of the account the recipe belongs to", "example": "ladybug-tools", "type": "string" }, "name": { "title": "Name", "description": "The name of the recipe", "example": "daylight-factor", "type": "string" }, "tag": { "title": "Tag", "description": "The specific recipe tag", "example": "0.2.1", "type": "string" }, "type": { "title": "Type", "default": "ProjectRecipeFilter", "type": "string", "pattern": "^ProjectRecipeFilter$", "readOnly": true } }, "required": [ "owner", "name" ] } ], "title": "ProjectRecipeFilter", "discriminator": { "propertyName": "type" } }, "UpdateAccepted": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "status": { "title": "Status", "default": "accepted", "type": "string" }, "type": { "title": "Type", "default": "UpdateAccepted", "type": "string", "pattern": "^UpdateAccepted$", "readOnly": true } } } ], "title": "UpdateAccepted", "description": "Accepted request response for existing resource", "discriminator": { "propertyName": "type" } }, "S3UploadRequest": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "url": { "title": "Url", "type": "string" }, "fields": { "title": "Fields", "type": "object", "additionalProperties": { "type": "string" } }, "type": { "title": "Type", "default": "S3UploadRequest", "type": "string", "pattern": "^S3UploadRequest$", "readOnly": true } }, "required": [ "url", "fields" ] } ], "title": "S3UploadRequest", "discriminator": { "propertyName": "type" } }, "SubscriptionUpdateDryRun": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "exceeded_quotas": { "title": "Exceeded Quotas", "description": "A list of quotas exceeded by a proposed subscription update", "default": [], "type": "array", "items": { "$ref": "#/components/schemas/Quota" } }, "type": { "title": "Type", "default": "SubscriptionUpdateDryRun", "type": "string", "pattern": "^SubscriptionUpdateDryRun$", "readOnly": true } } } ], "title": "SubscriptionUpdateDryRun", "discriminator": { "propertyName": "type" } }, "RepositoryList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "properties": { "page": { "title": "Page", "description": "The current page the pagination request is on", "type": "integer", "format": "int32" }, "per_page": { "title": "Per Page", "description": "The number of pages per pagination request", "type": "integer", "format": "int32" }, "page_count": { "title": "Page Count", "description": "The total number of pages", "type": "integer", "format": "int32" }, "total_count": { "title": "Total Count", "description": "The total number of resources matching the list request", "type": "integer", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/Repository" } }, "next_page": { "title": "Next Page", "description": "The next page, if this on is not the last", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "RepositoryList", "type": "string", "pattern": "^RepositoryList$", "readOnly": true } } } ], "title": "RepositoryList", "description": "A list response from a pagination request", "discriminator": { "propertyName": "type" } }, "ReportComputeUsage": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "account_id", "data" ], "properties": { "account_id": { "title": "Account Id", "type": "string", "format": "uuid" }, "data": { "title": "Data", "type": "array", "items": { "$ref": "#/components/schemas/JobComputeUsage" } }, "created_at": { "title": "Created At", "type": "string", "format": "date-time" }, "from_date": { "title": "From Date", "type": "string", "format": "date" }, "to_date": { "title": "To Date", "type": "string", "format": "date" }, "type": { "title": "Type", "default": "ReportComputeUsage", "type": "string", "pattern": "^ReportComputeUsage$", "readOnly": true } } } ], "title": "ReportComputeUsage", "description": "A report on cloud compute usage for an account", "discriminator": { "propertyName": "type" } }, "CADLicenseUsage": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "action": { "title": "Action", "type": "string" }, "app_version": { "title": "App Version", "type": "string" }, "created_at": { "title": "Created At", "type": "string", "format": "date-time" }, "product_name": { "title": "Product Name", "type": "string" }, "user_name": { "title": "User Name", "type": "string" }, "user_email": { "title": "User Email", "type": "string" }, "type": { "title": "Type", "default": "CADLicenseUsage", "type": "string", "pattern": "^CADLicenseUsage$", "readOnly": true } }, "required": [ "action", "app_version", "created_at", "product_name", "user_name", "user_email" ] } ], "title": "CADLicenseUsage", "description": "A row in a report on CAD license usage", "discriminator": { "propertyName": "type" } }, "ProjectAccessPolicy": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "subject", "permission" ], "properties": { "subject": { "title": "Subject", "description": "The subject of the access policy", "allOf": [ { "$ref": "#/components/schemas/PolicySubject" } ] }, "permission": { "description": "The permission given to the subject of the access policy", "example": "write", "allOf": [ { "$ref": "#/components/schemas/Permission" } ] }, "type": { "title": "Type", "default": "ProjectAccessPolicy", "type": "string", "pattern": "^ProjectAccessPolicy$", "readOnly": true } } } ], "title": "ProjectAccessPolicy", "discriminator": { "propertyName": "type" } }, "ProjectAccessPolicyList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "properties": { "page": { "title": "Page", "description": "The current page the pagination request is on", "type": "integer", "format": "int32" }, "per_page": { "title": "Per Page", "description": "The number of pages per pagination request", "type": "integer", "format": "int32" }, "page_count": { "title": "Page Count", "description": "The total number of pages", "type": "integer", "format": "int32" }, "total_count": { "title": "Total Count", "description": "The total number of resources matching the list request", "type": "integer", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/ProjectAccessPolicy" } }, "next_page": { "title": "Next Page", "description": "The next page, if this on is not the last", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "ProjectAccessPolicyList", "type": "string", "pattern": "^ProjectAccessPolicyList$", "readOnly": true } } } ], "title": "ProjectAccessPolicyList", "description": "A list response from a pagination request", "discriminator": { "propertyName": "type" } }, "ApplicationDeployment": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "ready": { "title": "Ready", "description": "Indicates whether the application deployment is ready.", "type": "boolean" }, "url": { "title": "Url", "description": "The URL of the application deployment.", "type": "string" }, "author": { "title": "Author", "description": "The user who deployed this app", "allOf": [ { "$ref": "#/components/schemas/AccountPublic" } ] }, "version": { "title": "Version", "description": "The version deployed", "allOf": [ { "$ref": "#/components/schemas/ApplicationVersion" } ] }, "type": { "title": "Type", "default": "ApplicationDeployment", "type": "string", "pattern": "^ApplicationDeployment$", "readOnly": true } }, "required": [ "ready", "url", "author", "version" ] } ], "title": "ApplicationDeployment", "discriminator": { "propertyName": "type" } }, "CountryChoice": { "title": "CountryChoice", "description": "Human-readable country names mapped to ISO 3166-1 alpha-2 codes for Paddle Billing\n\nThe enum values are human-readable country names that can be used in API requests.\nEach value maps to the corresponding ISO code for Paddle Billing.\nIncludes all countries supported by the Paddle Billing SDK.", "enum": [ "Andorra", "United Arab Emirates", "Antigua and Barbuda", "Anguilla", "Albania", "Armenia", "Angola", "Argentina", "American Samoa", "Austria", "Australia", "Aruba", "\u00c5land Islands", "Azerbaijan", "Bosnia and Herzegovina", "Barbados", "Bangladesh", "Belgium", "Burkina Faso", "Bulgaria", "Bahrain", "Burundi", "Benin", "Saint Barth\u00e9lemy", "Bermuda", "Brunei", "Bolivia", "Caribbean Netherlands", "Brazil", "Bahamas", "Bhutan", "Bouvet Island", "Botswana", "Belize", "Canada", "Cocos (Keeling) Islands", "Republic of the Congo", "Switzerland", "C\u00f4te d'Ivoire", "Cook Islands", "Chile", "Cameroon", "China", "Colombia", "Costa Rica", "Cape Verde", "Cura\u00e7ao", "Christmas Island", "Cyprus", "Czech Republic", "Germany", "Djibouti", "Denmark", "Dominica", "Dominican Republic", "Algeria", "Ecuador", "Estonia", "Egypt", "Western Sahara", "Eritrea", "Spain", "Ethiopia", "Finland", "Fiji", "Falkland Islands", "Micronesia", "Faroe Islands", "France", "Gabon", "United Kingdom", "Grenada", "Georgia", "French Guiana", "Guernsey", "Ghana", "Gibraltar", "Greenland", "Gambia", "Guinea", "Guadeloupe", "Equatorial Guinea", "Greece", "South Georgia and the South Sandwich Islands", "Guatemala", "Guam", "Guinea-Bissau", "Guyana", "Hong Kong", "Heard Island and McDonald Islands", "Honduras", "Croatia", "Hungary", "Indonesia", "Ireland", "Israel", "Isle of Man", "India", "British Indian Ocean Territory", "Iraq", "Iceland", "Italy", "Jersey", "Jamaica", "Jordan", "Japan", "Kenya", "Kyrgyzstan", "Cambodia", "Kiribati", "Comoros", "Saint Kitts and Nevis", "South Korea", "Kuwait", "Cayman Islands", "Kazakhstan", "Laos", "Lebanon", "Saint Lucia", "Liechtenstein", "Sri Lanka", "Liberia", "Lesotho", "Lithuania", "Luxembourg", "Latvia", "Morocco", "Monaco", "Moldova", "Montenegro", "Saint Martin", "Madagascar", "Marshall Islands", "North Macedonia", "Mongolia", "Macao", "Northern Mariana Islands", "Martinique", "Mauritania", "Montserrat", "Malta", "Mauritius", "Maldives", "Malawi", "Mexico", "Malaysia", "Mozambique", "Namibia", "New Caledonia", "Niger", "Norfolk Island", "Nigeria", "Netherlands", "Norway", "Nepal", "Nauru", "Niue", "New Zealand", "Oman", "Panama", "Peru", "French Polynesia", "Papua New Guinea", "Philippines", "Pakistan", "Poland", "Saint Pierre and Miquelon", "Pitcairn Islands", "Puerto Rico", "Palestine", "Portugal", "Palau", "Paraguay", "Qatar", "R\u00e9union", "Romania", "Serbia", "Rwanda", "Saudi Arabia", "Solomon Islands", "Seychelles", "Sweden", "Singapore", "Saint Helena, Ascension and Tristan da Cunha", "Slovenia", "Svalbard and Jan Mayen", "Slovakia", "Sierra Leone", "San Marino", "Senegal", "Suriname", "S\u00e3o Tom\u00e9 and Pr\u00edncipe", "El Salvador", "Sint Maarten", "Eswatini", "Turks and Caicos Islands", "Chad", "French Southern and Antarctic Lands", "Togo", "Thailand", "Tajikistan", "Tokelau", "Timor-Leste", "Turkmenistan", "Tunisia", "Tonga", "Turkey", "Trinidad and Tobago", "Tuvalu", "Taiwan", "Tanzania", "Ukraine", "Uganda", "United States Minor Outlying Islands", "United States", "Uruguay", "Uzbekistan", "Vatican City", "Saint Vincent and the Grenadines", "British Virgin Islands", "United States Virgin Islands", "Vietnam", "Vanuatu", "Wallis and Futuna", "Samoa", "Kosovo", "Mayotte", "South Africa", "Zambia" ], "type": "string" }, "BillingInvoiceRequestCreate": { "allOf": [ { "$ref": "#/components/schemas/BillingSubscriptionCreate" }, { "type": "object", "required": [ "address_line1", "city", "region", "postal_code", "country" ], "properties": { "address_line1": { "title": "Address Line1", "description": "First line of address", "type": "string" }, "city": { "title": "City", "description": "City", "type": "string" }, "region": { "title": "Region", "description": "Region/State", "type": "string" }, "postal_code": { "title": "Postal Code", "description": "Postal/Zip code", "type": "string" }, "country": { "description": "Country (human-readable name)", "allOf": [ { "$ref": "#/components/schemas/CountryChoice" } ] }, "address_line2": { "title": "Address Line2", "description": "Second line of address (optional)", "type": "string" }, "additional_emails": { "title": "Additional Emails", "description": "Additional email addresses to send the invoice to", "type": "array", "items": { "type": "string" } }, "type": { "title": "Type", "default": "BillingInvoiceRequestCreate", "type": "string", "pattern": "^BillingInvoiceRequestCreate$", "readOnly": true } } } ], "title": "BillingInvoiceRequestCreate", "description": "DTO for creating an invoice request with customer billing information", "discriminator": { "propertyName": "type" } }, "ActivationList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/Activation" } }, "type": { "title": "Type", "default": "ActivationList", "type": "string", "pattern": "^ActivationList$", "readOnly": true } }, "required": [ "resources" ] } ], "title": "ActivationList", "discriminator": { "propertyName": "type" } }, "KeyRequest": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "key": { "title": "Key", "type": "string" }, "type": { "title": "Type", "default": "KeyRequest", "type": "string", "pattern": "^KeyRequest$", "readOnly": true } }, "required": [ "key" ] } ], "title": "KeyRequest", "discriminator": { "propertyName": "type" } }, "NewRecipePackage": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "manifest": { "title": "Manifest", "description": "The Recipe manifest to be created", "allOf": [ { "$ref": "#/components/schemas/Recipe" } ] }, "readme": { "title": "Readme", "description": "The README file to attach to this package", "default": "", "type": "string" }, "type": { "title": "Type", "default": "NewRecipePackage", "type": "string", "pattern": "^NewRecipePackage$", "readOnly": true } }, "required": [ "manifest" ] } ], "title": "NewRecipePackage", "discriminator": { "propertyName": "type" } }, "RetryConfig": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "hard": { "title": "Hard", "description": "Hard retry, will delete run data and restart from scratch", "default": false, "type": "boolean" }, "type": { "title": "Type", "default": "RetryConfig", "type": "string", "pattern": "^RetryConfig$", "readOnly": true } } } ], "title": "RetryConfig", "discriminator": { "propertyName": "type" } }, "ProjectRecipeFilterList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "properties": { "page": { "title": "Page", "description": "The current page the pagination request is on", "type": "integer", "format": "int32" }, "per_page": { "title": "Per Page", "description": "The number of pages per pagination request", "type": "integer", "format": "int32" }, "page_count": { "title": "Page Count", "description": "The total number of pages", "type": "integer", "format": "int32" }, "total_count": { "title": "Total Count", "description": "The total number of resources matching the list request", "type": "integer", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/ProjectRecipeFilter" } }, "next_page": { "title": "Next Page", "description": "The next page, if this on is not the last", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "ProjectRecipeFilterList", "type": "string", "pattern": "^ProjectRecipeFilterList$", "readOnly": true } } } ], "title": "ProjectRecipeFilterList", "description": "A list response from a pagination request", "discriminator": { "propertyName": "type" } }, "DailyUsage": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "date": { "title": "Date", "description": "The day this usage was aggregated for", "type": "string", "format": "date-time" }, "cpu": { "title": "Cpu", "description": "cpu usage", "default": 0, "type": "number", "format": "double" }, "memory": { "title": "Memory", "description": "memory usage", "default": 0, "type": "number", "format": "double" }, "succeeded": { "title": "Succeeded", "description": "succeeded usage", "default": 0, "type": "integer", "format": "int32" }, "failed": { "title": "Failed", "description": "failed usage", "default": 0, "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "DailyUsage", "type": "string", "pattern": "^DailyUsage$", "readOnly": true } }, "required": [ "date" ] } ], "title": "DailyUsage", "discriminator": { "propertyName": "type" } }, "SDKEnum": { "title": "SDKEnum", "description": "An enumeration.", "enum": [ "streamlit", "dash", "react" ], "type": "string" }, "Application": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "name", "id", "owner", "permissions", "slug", "has_been_deployed" ], "properties": { "name": { "title": "Name", "description": "The name of the application. Must be unique to a given owner", "example": "Application Falcon", "type": "string" }, "id": { "title": "Id", "description": "The application ID", "example": "50bb7fe0-8f19-499e-972e-1ebec8af2c71", "type": "string" }, "owner": { "title": "Owner", "description": "The application owner", "allOf": [ { "$ref": "#/components/schemas/AccountPublic" } ] }, "permissions": { "$ref": "#/components/schemas/UserPermission" }, "slug": { "title": "Slug", "description": "The application name in slug format", "example": "application-falcon", "type": "string" }, "has_been_deployed": { "title": "Has Been Deployed", "description": "Whether or not the application has been deployed", "type": "boolean" }, "description": { "title": "Description", "description": "A description of the application", "default": "", "example": "I always wanted to have a application called application Falcon", "type": "string" }, "public": { "title": "Public", "description": "Whether or not a application is publicly viewable", "default": true, "type": "boolean" }, "keywords": { "title": "Keywords", "description": "A list of keywords associated with the application", "default": [], "example": [ "falcon", "api" ], "type": "array", "items": { "type": "string" } }, "image": { "title": "Image", "description": "An image associated with the application", "default": "https://picsum.photos/400", "type": "string" }, "source": { "title": "Source", "description": "A link to the source code of the application", "type": "string" }, "license": { "title": "License", "description": "The license of the application", "type": "string" }, "sdk": { "description": "The SDK used to build the application", "default": "streamlit", "allOf": [ { "$ref": "#/components/schemas/SDKEnum" } ] }, "is_paid": { "title": "Is Paid", "description": "Whether or not the application is paid", "default": false, "type": "boolean" }, "deployment_config": { "title": "Deployment Config", "description": "The deployment configuration for the application", "default": { "login_required": true, "cpu_limit": 1, "memory_limit": 2000, "scale_to_zero": true, "entrypoint_file": "app.py" }, "allOf": [ { "$ref": "#/components/schemas/DeploymentConfig" } ] }, "url": { "title": "Url", "description": "The URL of the application deployment", "type": "string" }, "type": { "title": "Type", "default": "Application", "type": "string", "pattern": "^Application$", "readOnly": true } } } ], "title": "Application", "discriminator": { "propertyName": "type" } }, "ApplicationList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "properties": { "page": { "title": "Page", "description": "The current page the pagination request is on", "type": "integer", "format": "int32" }, "per_page": { "title": "Per Page", "description": "The number of pages per pagination request", "type": "integer", "format": "int32" }, "page_count": { "title": "Page Count", "description": "The total number of pages", "type": "integer", "format": "int32" }, "total_count": { "title": "Total Count", "description": "The total number of resources matching the list request", "type": "integer", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/Application" } }, "next_page": { "title": "Next Page", "description": "The next page, if this on is not the last", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "ApplicationList", "type": "string", "pattern": "^ApplicationList$", "readOnly": true } } } ], "title": "ApplicationList", "description": "A list response from a pagination request", "discriminator": { "propertyName": "type" } }, "QuotaList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "properties": { "page": { "title": "Page", "description": "The current page the pagination request is on", "type": "integer", "format": "int32" }, "per_page": { "title": "Per Page", "description": "The number of pages per pagination request", "type": "integer", "format": "int32" }, "page_count": { "title": "Page Count", "description": "The total number of pages", "type": "integer", "format": "int32" }, "total_count": { "title": "Total Count", "description": "The total number of resources matching the list request", "type": "integer", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/Quota" } }, "next_page": { "title": "Next Page", "description": "The next page, if this on is not the last", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "QuotaList", "type": "string", "pattern": "^QuotaList$", "readOnly": true } } } ], "title": "QuotaList", "description": "A list response from a pagination request", "discriminator": { "propertyName": "type" } }, "LicensePoolUpdate": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "description": { "title": "Description", "description": "The description of the license pool", "type": "string" }, "type": { "title": "Type", "default": "LicensePoolUpdate", "type": "string", "pattern": "^LicensePoolUpdate$", "readOnly": true } } } ], "title": "LicensePoolUpdate", "discriminator": { "propertyName": "type" } }, "LicensePoolPolicySubjectList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "resources": { "title": "Resources", "description": "The list of subjects which currently have access to the pool", "default": [], "type": "array", "items": { "$ref": "#/components/schemas/LicensePoolPolicySubject" } }, "type": { "title": "Type", "default": "LicensePoolPolicySubjectList", "type": "string", "pattern": "^LicensePoolPolicySubjectList$", "readOnly": true } } } ], "title": "LicensePoolPolicySubjectList", "discriminator": { "propertyName": "type" } }, "ReportCADLicenseUsage": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "account_id", "data" ], "properties": { "account_id": { "title": "Account Id", "type": "string", "format": "uuid" }, "data": { "title": "Data", "type": "array", "items": { "$ref": "#/components/schemas/CADLicenseUsage" } }, "created_at": { "title": "Created At", "type": "string", "format": "date-time" }, "from_date": { "title": "From Date", "type": "string", "format": "date" }, "to_date": { "title": "To Date", "type": "string", "format": "date" }, "type": { "title": "Type", "default": "ReportCADLicenseUsage", "type": "string", "pattern": "^ReportCADLicenseUsage$", "readOnly": true } } } ], "title": "ReportCADLicenseUsage", "description": "A report on CAD license usage", "discriminator": { "propertyName": "type" } }, "ReportOrganizationMemberUsage": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "account_id", "data" ], "properties": { "account_id": { "title": "Account Id", "type": "string", "format": "uuid" }, "data": { "title": "Data", "type": "array", "items": { "$ref": "#/components/schemas/OrganizationMemberUsage" } }, "created_at": { "title": "Created At", "type": "string", "format": "date-time" }, "from_date": { "title": "From Date", "type": "string", "format": "date" }, "to_date": { "title": "To Date", "type": "string", "format": "date" }, "type": { "title": "Type", "default": "ReportOrganizationMemberUsage", "type": "string", "pattern": "^ReportOrganizationMemberUsage$", "readOnly": true } } } ], "title": "ReportOrganizationMemberUsage", "description": "A report on compute usage by organisation members", "discriminator": { "propertyName": "type" } }, "app__server__rest__subscriptions__dto__PayLink": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "url": { "title": "Url", "type": "string" }, "type": { "title": "Type", "default": "app__server__rest__subscriptions__dto__PayLink", "type": "string", "pattern": "^app__server__rest__subscriptions__dto__PayLink$", "readOnly": true } }, "required": [ "url" ] } ], "title": "PayLink", "discriminator": { "propertyName": "type" } }, "app__server__rest__billing__dto__PayLink": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "url": { "title": "Url", "type": "string" }, "type": { "title": "Type", "default": "app__server__rest__billing__dto__PayLink", "type": "string", "pattern": "^app__server__rest__billing__dto__PayLink$", "readOnly": true } }, "required": [ "url" ] } ], "title": "PayLink", "discriminator": { "propertyName": "type" } }, "UserUpdate": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "name": { "title": "Name", "description": "The display name for this user", "example": "Ladybug Tools", "type": "string" }, "picture_url": { "title": "Picture Url", "description": "URL to the picture associated with this user", "example": "https://avatars1.githubusercontent.com/u/38131342", "minLength": 1, "maxLength": 65536, "format": "uri", "type": "string" }, "description": { "title": "Description", "description": "A description of the user", "default": "", "example": "Making environmental design knowledge and tools freely accessible to every person, project and design process", "type": "string" }, "type": { "title": "Type", "default": "UserUpdate", "type": "string", "pattern": "^UserUpdate$", "readOnly": true } }, "required": [ "name", "picture_url" ] } ], "title": "UserUpdate", "discriminator": { "propertyName": "type" } }, "OrganizationUpdate": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "account_name": { "title": "Account Name", "description": "The unique name of the org in small case without spaces", "example": "ladybug-tools", "type": "string" }, "name": { "title": "Name", "description": "The display name for this org", "example": "Ladybug Tools", "type": "string" }, "picture_url": { "title": "Picture Url", "description": "URL to the picture associated with this org", "example": "https://avatars1.githubusercontent.com/u/38131342", "type": "string" }, "contact_email": { "title": "Contact Email", "description": "The contact email for the Organization", "example": "info@ladybug.tools", "type": "string" }, "description": { "title": "Description", "description": "A description of the org", "example": "Making environmental design knowledge and tools freely accessible to every person, project and design process", "type": "string" }, "type": { "title": "Type", "default": "OrganizationUpdate", "type": "string", "pattern": "^OrganizationUpdate$", "readOnly": true } } } ], "title": "OrganizationUpdate", "discriminator": { "propertyName": "type" } }, "RecipeInterfaceList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "properties": { "page": { "title": "Page", "description": "The current page the pagination request is on", "type": "integer", "format": "int32" }, "per_page": { "title": "Per Page", "description": "The number of pages per pagination request", "type": "integer", "format": "int32" }, "page_count": { "title": "Page Count", "description": "The total number of pages", "type": "integer", "format": "int32" }, "total_count": { "title": "Total Count", "description": "The total number of resources matching the list request", "type": "integer", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/RecipeInterface" } }, "next_page": { "title": "Next Page", "description": "The next page, if this on is not the last", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "RecipeInterfaceList", "type": "string", "pattern": "^RecipeInterfaceList$", "readOnly": true } } } ], "title": "RecipeInterfaceList", "description": "A list response from a pagination request", "discriminator": { "propertyName": "type" } }, "SubscriptionUpdate": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "plan_id": { "title": "Plan Id", "description": "The Paddle Plan ID to change the subscription to.", "type": "integer", "format": "int32" }, "quantity": { "title": "Quantity", "description": "The number of times this subscription is purchased", "default": 1, "minimum": 1, "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "SubscriptionUpdate", "type": "string", "pattern": "^SubscriptionUpdate$", "readOnly": true } } } ], "title": "SubscriptionUpdate", "discriminator": { "propertyName": "type" } }, "ApplicationCreate": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "name": { "title": "Name", "description": "The name of the application. Must be unique to a given owner", "example": "Application Falcon", "type": "string" }, "description": { "title": "Description", "description": "A description of the application", "default": "", "example": "I always wanted to have a application called application Falcon", "type": "string" }, "public": { "title": "Public", "description": "Whether or not a application is publicly viewable", "default": true, "type": "boolean" }, "keywords": { "title": "Keywords", "description": "A list of keywords associated with the application", "default": [], "example": [ "falcon", "api" ], "type": "array", "items": { "type": "string" } }, "image": { "title": "Image", "description": "An image associated with the application", "default": "https://picsum.photos/400", "type": "string" }, "source": { "title": "Source", "description": "A link to the source code of the application", "type": "string" }, "license": { "title": "License", "description": "The license of the application", "type": "string" }, "sdk": { "description": "The SDK used to build the application", "default": "streamlit", "allOf": [ { "$ref": "#/components/schemas/SDKEnum" } ] }, "is_paid": { "title": "Is Paid", "description": "Whether or not the application is paid", "default": false, "type": "boolean" }, "deployment_config": { "title": "Deployment Config", "description": "The deployment configuration for the application", "default": { "login_required": true, "cpu_limit": 1, "memory_limit": 2000, "scale_to_zero": true, "entrypoint_file": "app.py" }, "allOf": [ { "$ref": "#/components/schemas/DeploymentConfig" } ] }, "type": { "title": "Type", "default": "ApplicationCreate", "type": "string", "pattern": "^ApplicationCreate$", "readOnly": true } }, "required": [ "name" ] } ], "title": "ApplicationCreate", "discriminator": { "propertyName": "type" } }, "Body_upload_version_package": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "file": { "title": "File", "type": "string", "format": "binary" }, "type": { "title": "Type", "default": "Body_upload_version_package", "type": "string", "pattern": "^Body_upload_version_package$", "readOnly": true } }, "required": [ "file" ] } ], "title": "Body_upload_version_package", "discriminator": { "propertyName": "type" } }, "ApplicationAccessPolicy": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "subject", "permission" ], "properties": { "subject": { "title": "Subject", "description": "The subject of the access policy", "allOf": [ { "$ref": "#/components/schemas/PolicySubject" } ] }, "permission": { "description": "The permission given to the subject of the access policy", "example": "write", "allOf": [ { "$ref": "#/components/schemas/Permission" } ] }, "type": { "title": "Type", "default": "ApplicationAccessPolicy", "type": "string", "pattern": "^ApplicationAccessPolicy$", "readOnly": true } } } ], "title": "ApplicationAccessPolicy", "discriminator": { "propertyName": "type" } }, "UserPrivate": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "id": { "title": "Id", "description": "The unique ID for that user", "example": "96c12d05-f1a2-4491-b0cc-c2ed473301b5", "type": "string" }, "email": { "title": "Email", "description": "The email associated with that user", "example": "ladybugbot@ladybug.tools", "type": "string" }, "username": { "title": "Username", "description": "The lowercase account name for this user", "example": "ladybugbot", "type": "string" }, "name": { "title": "Name", "description": "The display name for this user", "example": "Ladybug Bot", "type": "string" }, "description": { "title": "Description", "description": "A short description of the user", "example": "Beep Boop!", "type": "string" }, "picture": { "title": "Picture", "description": "URL to the picture associated with this user", "example": "https://avatars1.githubusercontent.com/u/38131342", "type": "string" }, "type": { "title": "Type", "default": "UserPrivate", "type": "string", "pattern": "^UserPrivate$", "readOnly": true } }, "required": [ "id", "email", "username" ] } ], "title": "UserPrivate", "discriminator": { "propertyName": "type" } }, "ProjectUpdate": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "name": { "title": "Name", "description": "The name of the project. Must be unique to a given owner", "example": "Project Falcon", "type": "string" }, "description": { "title": "Description", "description": "A description of the project", "example": "I always wanted to have a project called project Falcon", "type": "string" }, "public": { "title": "Public", "description": "Whether or not a project is publicly viewable", "type": "boolean" }, "type": { "title": "Type", "default": "ProjectUpdate", "type": "string", "pattern": "^ProjectUpdate$", "readOnly": true } } } ], "title": "ProjectUpdate", "discriminator": { "propertyName": "type" } }, "BillingTransaction": { "allOf": [ { "$ref": "#/components/schemas/PaddleBillingTransaction" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "BillingTransaction", "type": "string", "pattern": "^BillingTransaction$", "readOnly": true } } } ], "title": "BillingTransaction", "description": "DTO for Paddle Billing Transaction", "discriminator": { "propertyName": "type" } }, "Usage": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "start": { "title": "Start", "description": "The start date for this usage aggregation", "type": "string", "format": "date-time" }, "end": { "title": "End", "description": "The end date for this usage aggregation", "type": "string", "format": "date-time" }, "cpu": { "title": "Cpu", "description": "cpu usage", "default": 0, "type": "number", "format": "double" }, "memory": { "title": "Memory", "description": "memory usage", "default": 0, "type": "number", "format": "double" }, "succeeded": { "title": "Succeeded", "description": "succeeded usage", "default": 0, "type": "integer", "format": "int32" }, "failed": { "title": "Failed", "description": "failed usage", "default": 0, "type": "integer", "format": "int32" }, "daily_usage": { "title": "Daily Usage", "description": "daily breakdown of usage", "default": [], "type": "array", "items": { "$ref": "#/components/schemas/DailyUsage" } }, "type": { "title": "Type", "default": "Usage", "type": "string", "pattern": "^Usage$", "readOnly": true } }, "required": [ "start", "end" ] } ], "title": "Usage", "discriminator": { "propertyName": "type" } }, "Project": { "allOf": [ { "$ref": "#/components/schemas/ProjectCreate" }, { "type": "object", "required": [ "id", "owner", "permissions", "slug" ], "properties": { "id": { "title": "Id", "description": "The project ID", "example": "50bb7fe0-8f19-499e-972e-1ebec8af2c71", "type": "string" }, "owner": { "title": "Owner", "description": "The project owner", "allOf": [ { "$ref": "#/components/schemas/AccountPublic" } ] }, "permissions": { "$ref": "#/components/schemas/UserPermission" }, "slug": { "title": "Slug", "description": "The project name in slug format", "example": "project-falcon", "type": "string" }, "usage": { "title": "Usage", "description": "The resource consumption of this project", "allOf": [ { "$ref": "#/components/schemas/Usage" } ] }, "type": { "title": "Type", "default": "Project", "type": "string", "pattern": "^Project$", "readOnly": true } } } ], "title": "Project", "discriminator": { "propertyName": "type" } }, "ProjectList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "properties": { "page": { "title": "Page", "description": "The current page the pagination request is on", "type": "integer", "format": "int32" }, "per_page": { "title": "Per Page", "description": "The number of pages per pagination request", "type": "integer", "format": "int32" }, "page_count": { "title": "Page Count", "description": "The total number of pages", "type": "integer", "format": "int32" }, "total_count": { "title": "Total Count", "description": "The total number of resources matching the list request", "type": "integer", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/Project" } }, "next_page": { "title": "Next Page", "description": "The next page, if this on is not the last", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "ProjectList", "type": "string", "pattern": "^ProjectList$", "readOnly": true } } } ], "title": "ProjectList", "description": "A list response from a pagination request", "discriminator": { "propertyName": "type" } }, "ApplicationAccessPolicyList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "properties": { "page": { "title": "Page", "description": "The current page the pagination request is on", "type": "integer", "format": "int32" }, "per_page": { "title": "Per Page", "description": "The number of pages per pagination request", "type": "integer", "format": "int32" }, "page_count": { "title": "Page Count", "description": "The total number of pages", "type": "integer", "format": "int32" }, "total_count": { "title": "Total Count", "description": "The total number of resources matching the list request", "type": "integer", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/ApplicationAccessPolicy" } }, "next_page": { "title": "Next Page", "description": "The next page, if this on is not the last", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "ApplicationAccessPolicyList", "type": "string", "pattern": "^ApplicationAccessPolicyList$", "readOnly": true } } } ], "title": "ApplicationAccessPolicyList", "description": "A list response from a pagination request", "discriminator": { "propertyName": "type" } }, "NewApplicationVersion": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "tag": { "title": "Tag", "description": "The tag for this new version of the application", "type": "string" }, "release_notes": { "title": "Release Notes", "description": "Some useful release notes so users know what has changed in this version", "default": "", "type": "string" }, "type": { "title": "Type", "default": "NewApplicationVersion", "type": "string", "pattern": "^NewApplicationVersion$", "readOnly": true } }, "required": [ "tag" ] } ], "title": "NewApplicationVersion", "discriminator": { "propertyName": "type" } }, "Subscription": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "id": { "title": "Id", "description": "The unique ID of this subscription", "type": "string", "format": "uuid" }, "owner": { "title": "Owner", "description": "The owner of the repository", "allOf": [ { "$ref": "#/components/schemas/AccountPublic" } ] }, "type": { "description": "The type of subscription", "allOf": [ { "$ref": "#/components/schemas/PlanType" } ], "readOnly": true }, "period_start": { "title": "Period Start", "description": "The start of the current subscription period", "type": "string", "format": "date-time" }, "period_end": { "title": "Period End", "description": "The end of the current subscription period", "type": "string", "format": "date-time" }, "plan_slug": { "title": "Plan Slug", "description": "The slug of the plan used to create this subscription", "type": "string" }, "external_id": { "title": "External Id", "description": "The ID of this subscription", "type": "string" }, "plan_multiplier": { "title": "Plan Multiplier", "description": "The number of times to multiply the plan limit by", "default": 1, "type": "integer", "format": "int32" }, "billing_info": { "title": "Billing Info", "description": "The billing info for the subscription", "allOf": [ { "$ref": "#/components/schemas/BillingInfo" } ] } }, "required": [ "id", "owner", "type", "period_start", "period_end", "plan_slug" ] } ], "title": "Subscription", "discriminator": { "propertyName": "type" } }, "RepositoryCreate": { "allOf": [ { "$ref": "#/components/schemas/RepositoryUpdate" }, { "type": "object", "required": [ "name" ], "properties": { "name": { "title": "Name", "description": "The name of the repository", "example": "daylight-factor", "type": "string" }, "type": { "title": "Type", "default": "RepositoryCreate", "type": "string", "pattern": "^RepositoryCreate$", "readOnly": true } } } ], "title": "RepositoryCreate", "discriminator": { "propertyName": "type" } }, "LicensePoolList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/LicensePoolPublic" } }, "type": { "title": "Type", "default": "LicensePoolList", "type": "string", "pattern": "^LicensePoolList$", "readOnly": true } }, "required": [ "resources" ] } ], "title": "LicensePoolList", "discriminator": { "propertyName": "type" } }, "APIToken": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "token_id": { "title": "Token Id", "description": "The unique ID of this API token", "type": "string" }, "name": { "title": "Name", "description": "The user friendly name of the API token", "type": "string" }, "claims": { "title": "Claims", "description": "Key value pairs of auth claims the API token is entitled to", "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "type": { "title": "Type", "default": "APIToken", "type": "string", "pattern": "^APIToken$", "readOnly": true } }, "required": [ "token_id", "name" ] } ], "title": "APIToken", "discriminator": { "propertyName": "type" } }, "APITokenList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "properties": { "page": { "title": "Page", "description": "The current page the pagination request is on", "type": "integer", "format": "int32" }, "per_page": { "title": "Per Page", "description": "The number of pages per pagination request", "type": "integer", "format": "int32" }, "page_count": { "title": "Page Count", "description": "The total number of pages", "type": "integer", "format": "int32" }, "total_count": { "title": "Total Count", "description": "The total number of resources matching the list request", "type": "integer", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/APIToken" } }, "next_page": { "title": "Next Page", "description": "The next page, if this on is not the last", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "APITokenList", "type": "string", "pattern": "^APITokenList$", "readOnly": true } } } ], "title": "APITokenList", "description": "A list response from a pagination request", "discriminator": { "propertyName": "type" } }, "CreatedContent": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "id": { "title": "Id", "description": "Id for the newly created resource.", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string", "format": "uuid" }, "message": { "title": "Message", "description": " A human readable message", "example": "Use Location in headers to access the new object.", "type": "string" }, "type": { "title": "Type", "default": "CreatedContent", "type": "string", "pattern": "^CreatedContent$", "readOnly": true } }, "required": [ "id" ] } ], "title": "CreatedContent", "description": "Content for created response.", "discriminator": { "propertyName": "type" } }, "OrganizationMemberList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "properties": { "page": { "title": "Page", "description": "The current page the pagination request is on", "type": "integer", "format": "int32" }, "per_page": { "title": "Per Page", "description": "The number of pages per pagination request", "type": "integer", "format": "int32" }, "page_count": { "title": "Page Count", "description": "The total number of pages", "type": "integer", "format": "int32" }, "total_count": { "title": "Total Count", "description": "The total number of resources matching the list request", "type": "integer", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/OrganizationMember" } }, "next_page": { "title": "Next Page", "description": "The next page, if this on is not the last", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "OrganizationMemberList", "type": "string", "pattern": "^OrganizationMemberList$", "readOnly": true } } } ], "title": "OrganizationMemberList", "description": "A list response from a pagination request", "discriminator": { "propertyName": "type" } }, "_DAGArtifactOutputAlias": { "allOf": [ { "$ref": "#/components/schemas/DAGGenericOutputAlias" }, { "type": "object", "properties": { "required": { "title": "Required", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true, "type": "boolean" }, "type": { "title": "Type", "default": "DAGGenericOutputAlias", "pattern": "^DAGGenericOutputAlias$", "type": "string", "readOnly": true } } } ], "title": "_DAGArtifactOutputAlias", "description": "Base class for DAG artifact output aliases.\n\nThis class add a required input. By default all artifact outputs are required.", "discriminator": { "propertyName": "type" } }, "GenericOutput": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "name": { "title": "Name", "description": "Output name.", "type": "string" }, "type": { "title": "Type", "default": "GenericOutput", "pattern": "^GenericOutput$", "type": "string", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "description": { "title": "Description", "description": "Optional description for output.", "type": "string" } }, "required": [ "name" ] } ], "title": "GenericOutput", "description": "Base class for all output types.\n\nThe baseclass uses a name to source the output.", "discriminator": { "propertyName": "type" } }, "PathOutput": { "allOf": [ { "$ref": "#/components/schemas/GenericOutput" }, { "type": "object", "required": [ "path" ], "properties": { "path": { "title": "Path", "description": "Path to the output artifact relative to where the function command is executed.", "type": "string" }, "required": { "title": "Required", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true, "type": "boolean" }, "type": { "title": "Type", "default": "PathOutput", "pattern": "^PathOutput$", "type": "string", "readOnly": true } } } ], "title": "PathOutput", "description": "Base class for output classes that source tha output from a path.\n\nAn example of using PathOutput is TaskFile and TaskFolder outputs.", "discriminator": { "propertyName": "type" } }, "_InputReferenceBase": { "allOf": [ { "$ref": "#/components/schemas/_BaseReference" }, { "type": "object", "required": [ "variable" ], "properties": { "variable": { "title": "Variable", "description": "The name of the DAG input variable", "type": "string" }, "type": { "title": "Type", "default": "_InputReferenceBase", "pattern": "^_InputReferenceBase$", "type": "string", "readOnly": true } } } ], "title": "_InputReferenceBase", "description": "An input reference.", "discriminator": { "propertyName": "type" } }, "_BaseReference": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "_BaseReference", "pattern": "^_BaseReference$", "type": "string", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } } } } ], "title": "_BaseReference", "description": "A Base reference model.", "discriminator": { "propertyName": "type" } }, "_DAGArtifactOutput": { "allOf": [ { "$ref": "#/components/schemas/DAGGenericOutput" }, { "type": "object", "properties": { "required": { "title": "Required", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true, "type": "boolean" }, "type": { "title": "Type", "default": "DAGGenericOutput", "pattern": "^DAGGenericOutput$", "type": "string", "readOnly": true } } } ], "title": "_DAGArtifactOutput", "description": "Base class for DAG artifact outputs.\n\nThis class add a required input. By default all artifact outputs are required.", "discriminator": { "propertyName": "type" } }, "FromOutput": { "allOf": [ { "$ref": "#/components/schemas/GenericOutput" }, { "type": "object", "required": [ "from" ], "properties": { "from": { "title": "From", "description": "Reference to a file or a task output. Task output must be file." }, "type": { "title": "Type", "default": "FromOutput", "pattern": "^FromOutput$", "type": "string", "readOnly": true } } } ], "title": "FromOutput", "description": "Base class for output classes that source ``from`` an object.\n\nSee DAG output classes for more examples.", "discriminator": { "propertyName": "type" } }, "ListResponseMeta": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "page": { "title": "Page", "description": "The current page the pagination request is on", "type": "integer", "format": "int32" }, "per_page": { "title": "Per Page", "description": "The number of pages per pagination request", "type": "integer", "format": "int32" }, "page_count": { "title": "Page Count", "description": "The total number of pages", "type": "integer", "format": "int32" }, "total_count": { "title": "Total Count", "description": "The total number of resources matching the list request", "type": "integer", "format": "int32" }, "next_page": { "title": "Next Page", "description": "The next page, if this on is not the last", "type": "integer", "format": "int32" }, "resources": { "title": "Resources", "description": "The list of resources returned from the list query", "default": [], "type": "array", "items": {} }, "type": { "title": "Type", "default": "ListResponseMeta", "type": "string", "pattern": "^ListResponseMeta$", "readOnly": true } }, "required": [ "page", "per_page", "page_count", "total_count" ] } ], "title": "ListResponseMeta", "description": "A list response from a pagination request", "discriminator": { "propertyName": "type" } }, "GenericInput": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "name": { "title": "Name", "description": "Input name.", "type": "string" }, "type": { "title": "Type", "default": "GenericInput", "pattern": "^GenericInput$", "type": "string", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "description": { "title": "Description", "description": "Optional description for input.", "type": "string" } }, "required": [ "name" ] } ], "title": "GenericInput", "description": "Base class for all input types.", "discriminator": { "propertyName": "type" } }, "BaseStatus": { "allOf": [ { "$ref": "#/components/schemas/IOBase" }, { "type": "object", "required": [ "started_at" ], "properties": { "started_at": { "title": "Started At", "description": "The time at which the task was started", "type": "string", "format": "date-time" }, "message": { "title": "Message", "description": "Any message produced by the task. Usually error/debugging hints.", "type": "string" }, "finished_at": { "title": "Finished At", "description": "The time at which the task was completed", "type": "string", "format": "date-time" }, "source": { "title": "Source", "description": "Source url for the status object. It can be a recipe or a function.", "type": "string" }, "type": { "title": "Type", "default": "BaseStatus", "pattern": "^BaseStatus$", "type": "string", "readOnly": true } } } ], "title": "BaseStatus", "description": "Base Status model", "discriminator": { "propertyName": "type" } }, "IOBase": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "IOBase", "pattern": "^IOBase$", "type": "string", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "inputs": { "title": "Inputs", "description": "Place-holder. Overwrite this!", "type": "array", "items": {} }, "outputs": { "title": "Outputs", "description": "Place-holder. Overwrite this!", "type": "array", "items": {} } } } ], "title": "IOBase", "description": "A reusable model for classes with Input and Output (IO) objects.\n\nIOBase is the baseclass for Function, DAG and Workflow.", "discriminator": { "propertyName": "type" } }, "AccessPolicy": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "subject": { "title": "Subject", "description": "The subject of the access policy", "allOf": [ { "$ref": "#/components/schemas/PolicySubject" } ] }, "permission": { "description": "The permission given to the subject of the access policy", "example": "write", "allOf": [ { "$ref": "#/components/schemas/Permission" } ] }, "type": { "title": "Type", "default": "AccessPolicy", "type": "string", "pattern": "^AccessPolicy$", "readOnly": true } }, "required": [ "subject", "permission" ] } ], "title": "AccessPolicy", "discriminator": { "propertyName": "type" } }, "_ArtifactSource": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "_ArtifactSource", "pattern": "^_ArtifactSource$", "type": "string", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } } } } ], "title": "_ArtifactSource", "description": "ArtifactSource.\n\nAn Artifact Source System.", "discriminator": { "propertyName": "type" } }, "CryptlexBase": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "CryptlexBase", "type": "string", "pattern": "^CryptlexBase$", "readOnly": true } } } ], "title": "CryptlexBase", "discriminator": { "propertyName": "type" } }, "_TaskReferenceBase": { "allOf": [ { "$ref": "#/components/schemas/_BaseReference" }, { "type": "object", "required": [ "name", "variable" ], "properties": { "name": { "title": "Name", "description": "The name of the task to pull output data from.", "type": "string" }, "variable": { "title": "Variable", "description": "The name of the variable.", "type": "string" }, "type": { "title": "Type", "default": "_TaskReferenceBase", "pattern": "^_TaskReferenceBase$", "type": "string", "readOnly": true } } } ], "title": "_TaskReferenceBase", "description": "A Task Reference", "discriminator": { "propertyName": "type" } }, "PaddleBillingSubscription": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "id": { "title": "Id", "type": "string" }, "status": { "$ref": "#/components/schemas/PaddleBillingSubscriptionStatus" }, "customer_id": { "title": "Customer Id", "type": "string" }, "currency_code": { "title": "Currency Code", "type": "string" }, "created_at": { "title": "Created At", "type": "string", "format": "date-time" }, "updated_at": { "title": "Updated At", "type": "string", "format": "date-time" }, "items": { "title": "Items", "type": "array", "items": { "$ref": "#/components/schemas/PaddleBillingSubscriptionItem" } }, "started_at": { "title": "Started At", "type": "string", "format": "date-time" }, "first_billed_at": { "title": "First Billed At", "type": "string", "format": "date-time" }, "next_billed_at": { "title": "Next Billed At", "type": "string", "format": "date-time" }, "paused_at": { "title": "Paused At", "type": "string", "format": "date-time" }, "canceled_at": { "title": "Canceled At", "type": "string", "format": "date-time" }, "collection_mode": { "title": "Collection Mode", "type": "string" }, "billing_details": { "title": "Billing Details", "type": "object" }, "current_billing_period": { "$ref": "#/components/schemas/BillingPeriod" }, "billing_cycle": { "$ref": "#/components/schemas/Duration" }, "scheduled_change": { "title": "Scheduled Change", "type": "object" }, "custom_data": { "title": "Custom Data", "type": "object" }, "discount": { "title": "Discount", "type": "object" }, "type": { "title": "Type", "default": "PaddleBillingSubscription", "type": "string", "pattern": "^PaddleBillingSubscription$", "readOnly": true } }, "required": [ "id", "status", "customer_id", "currency_code", "created_at", "updated_at", "items" ] } ], "title": "PaddleBillingSubscription", "discriminator": { "propertyName": "type" } }, "PaddleBillingPaymentMethod": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "id": { "title": "Id", "type": "string" }, "customer_id": { "title": "Customer Id", "type": "string" }, "address_id": { "title": "Address Id", "type": "string" }, "type": { "$ref": "#/components/schemas/PaddleBillingPaymentMethodType", "readOnly": true }, "saved_at": { "title": "Saved At", "type": "string", "format": "date-time" }, "updated_at": { "title": "Updated At", "type": "string", "format": "date-time" }, "card": { "$ref": "#/components/schemas/PaddleBillingPaymentMethodCard" }, "paypal": { "$ref": "#/components/schemas/PaddleBillingPaymentMethodPaypal" } }, "required": [ "id", "customer_id", "address_id", "type", "saved_at", "updated_at" ] } ], "title": "PaddleBillingPaymentMethod", "discriminator": { "propertyName": "type" } }, "PaddleBillingSubscriptionPreview": { "allOf": [ { "$ref": "#/components/schemas/PaddleBillingSubscription" }, { "type": "object", "properties": { "immediate_transaction": { "$ref": "#/components/schemas/SubscriptionUpdateTransaction" }, "next_transaction": { "$ref": "#/components/schemas/SubscriptionUpdateTransaction" }, "type": { "title": "Type", "default": "PaddleBillingSubscriptionPreview", "type": "string", "pattern": "^PaddleBillingSubscriptionPreview$", "readOnly": true } } } ], "title": "PaddleBillingSubscriptionPreview", "description": "Preview of a Paddle Billing Subscription update", "discriminator": { "propertyName": "type" } }, "AccessPolicyList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "properties": { "page": { "title": "Page", "description": "The current page the pagination request is on", "type": "integer", "format": "int32" }, "per_page": { "title": "Per Page", "description": "The number of pages per pagination request", "type": "integer", "format": "int32" }, "page_count": { "title": "Page Count", "description": "The total number of pages", "type": "integer", "format": "int32" }, "total_count": { "title": "Total Count", "description": "The total number of resources matching the list request", "type": "integer", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/AccessPolicy" } }, "next_page": { "title": "Next Page", "description": "The next page, if this on is not the last", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "AccessPolicyList", "type": "string", "pattern": "^AccessPolicyList$", "readOnly": true } } } ], "title": "AccessPolicyList", "description": "A list response from a pagination request", "discriminator": { "propertyName": "type" } }, "BaseModel": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "BaseModel", "type": "string", "pattern": "^BaseModel$", "readOnly": true } } } ], "title": "BaseModel", "discriminator": { "propertyName": "type" } }, "Report": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "account_id": { "title": "Account Id", "type": "string", "format": "uuid" }, "data": { "title": "Data", "type": "array", "items": { "$ref": "#/components/schemas/BaseModel" } }, "created_at": { "title": "Created At", "type": "string", "format": "date-time" }, "from_date": { "title": "From Date", "type": "string", "format": "date" }, "to_date": { "title": "To Date", "type": "string", "format": "date" }, "type": { "title": "Type", "default": "Report", "type": "string", "pattern": "^Report$", "readOnly": true } }, "required": [ "account_id", "data" ] } ], "title": "Report", "description": "A report on an account's activity", "discriminator": { "propertyName": "type" } }, "RepositoryPackage": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "digest": { "title": "Digest", "description": "The new package digest", "type": "string" }, "tag": { "title": "Tag", "description": "The new package tag", "type": "string" }, "keywords": { "title": "Keywords", "description": "keywords", "type": "array", "items": { "type": "string" } }, "description": { "title": "Description", "description": "description", "type": "string" }, "icon": { "title": "Icon", "description": "icon", "type": "string" }, "created_at": { "title": "Created At", "description": "Creation Timestamp", "type": "string", "format": "date-time" }, "readme": { "title": "Readme", "description": "The Repository Readme", "example": "# Daylight Factor \n This recipe runs a daylight factor simulation.", "type": "string" }, "type": { "title": "Type", "default": "RepositoryPackage", "type": "string", "pattern": "^RepositoryPackage$", "readOnly": true } }, "required": [ "digest", "tag" ] } ], "title": "RepositoryPackage", "discriminator": { "propertyName": "type" } }, "PaddleBillingTransaction": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "id": { "title": "Id", "type": "string" }, "status": { "title": "Status", "type": "string" }, "origin": { "title": "Origin", "type": "string" }, "collection_mode": { "title": "Collection Mode", "type": "string" }, "currency_code": { "title": "Currency Code", "type": "string" }, "created_at": { "title": "Created At", "type": "string", "format": "date-time" }, "updated_at": { "title": "Updated At", "type": "string", "format": "date-time" }, "items": { "title": "Items", "type": "array", "items": { "$ref": "#/components/schemas/PaddleBillingTransactionItem" } }, "customer_id": { "title": "Customer Id", "type": "string" }, "address_id": { "title": "Address Id", "type": "string" }, "business_id": { "title": "Business Id", "type": "string" }, "custom_data": { "title": "Custom Data", "type": "object" }, "subscription_id": { "title": "Subscription Id", "type": "string" }, "invoice_id": { "title": "Invoice Id", "type": "string" }, "invoice_number": { "title": "Invoice Number", "type": "string" }, "billing_details": { "$ref": "#/components/schemas/BillingDetails" }, "billing_period": { "$ref": "#/components/schemas/BillingPeriod" }, "discount_id": { "title": "Discount Id", "type": "string" }, "billed_at": { "title": "Billed At", "type": "string", "format": "date-time" }, "revised_at": { "title": "Revised At", "type": "string", "format": "date-time" }, "checkout": { "$ref": "#/components/schemas/PaddleBillingCheckout" }, "payments": { "title": "Payments", "default": [], "type": "array", "items": { "$ref": "#/components/schemas/TransactionPayment" } }, "details": { "$ref": "#/components/schemas/PaddleBillingTransactionDetails" }, "type": { "title": "Type", "default": "PaddleBillingTransaction", "type": "string", "pattern": "^PaddleBillingTransaction$", "readOnly": true } }, "required": [ "id", "status", "origin", "collection_mode", "currency_code", "created_at", "updated_at", "items" ] } ], "title": "PaddleBillingTransaction", "discriminator": { "propertyName": "type" } }, "_OpenAPIGenBaseModel": { "title": "_OpenAPIGenBaseModel", "type": "object", "properties": { "type": { "title": "Type", "description": "A base class to use when there is no baseclass available to fall on.", "default": "InvalidType", "type": "string", "readOnly": true } }, "discriminator": { "propertyName": "type" } }, "ApplicationSortKey": { "type": "string", "enum": [ "created_at", "updated_at", "name" ], "title": "ApplicationSortKey", "description": "An enumeration." }, "BakedRecipe": { "properties": { "flow": { "items": { "$ref": "#/components/schemas/DAG" }, "type": "array", "title": "Flow", "description": "A list of tasks to create a DAG recipe." }, "digest": { "type": "string", "title": "Digest" }, "templates": { "items": { "anyOf": [ { "$ref": "#/components/schemas/TemplateFunction" }, { "$ref": "#/components/schemas/DAG" } ] }, "type": "array", "title": "Templates", "description": "A list of templates. Templates can be Function or a DAG." }, "type": { "type": "string", "pattern": "^BakedRecipe$", "title": "Type", "default": "BakedRecipe", "readOnly": true }, "annotations": { "additionalProperties": { "type": "string" }, "type": "object", "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "api_version": { "type": "string", "pattern": "^v1beta1$", "title": "Api Version", "default": "v1beta1", "readOnly": true }, "metadata": { "allOf": [ { "$ref": "#/components/schemas/MetaData" } ], "title": "Metadata", "description": "Recipe metadata information." }, "dependencies": { "items": { "$ref": "#/components/schemas/Dependency" }, "type": "array", "title": "Dependencies", "description": "A list of plugins and other recipes this recipe depends on." } }, "type": "object", "required": [ "flow", "digest", "templates" ], "title": "BakedRecipe", "description": "Baked Recipe.\n\nA Baked Recipe contains all the templates referred to in the DAG within a templates\nlist." }, "HTTPValidationError": { "properties": { "detail": { "items": { "$ref": "#/components/schemas/ValidationError" }, "type": "array", "title": "Detail" } }, "type": "object", "title": "HTTPValidationError" }, "PackageSortKey": { "type": "string", "enum": [ "created_at", "updated_at", "tag" ], "title": "PackageSortKey", "description": "An enumeration." }, "Product": { "type": "string", "enum": [ "rhino_plugin", "revit_plugin" ], "title": "Product", "description": "An enumeration." }, "ProjectSortKey": { "type": "string", "enum": [ "created_at", "updated_at", "name" ], "title": "ProjectSortKey", "description": "An enumeration." }, "RepositorySortKey": { "type": "string", "enum": [ "created_at", "updated_at", "name", "latest_tag" ], "title": "RepositorySortKey", "description": "An enumeration." }, "RoleEnum": { "type": "string", "enum": [ "owner", "member" ], "title": "RoleEnum", "description": "An enumeration." }, "SortEnum": { "type": "string", "enum": [ "ascending", "descending" ], "title": "SortEnum", "description": "An enumeration." }, "TemplateFunction": { "properties": { "name": { "type": "string", "title": "Name", "description": "Function name. Must be unique within a plugin." }, "config": { "allOf": [ { "$ref": "#/components/schemas/PluginConfig" } ], "title": "Config", "description": "The plugin config to use for this function" }, "type": { "type": "string", "pattern": "^TemplateFunction$", "title": "Type", "default": "TemplateFunction", "readOnly": true }, "annotations": { "additionalProperties": { "type": "string" }, "type": "object", "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "inputs": { "items": { "anyOf": [ { "$ref": "#/components/schemas/FunctionStringInput" }, { "$ref": "#/components/schemas/FunctionIntegerInput" }, { "$ref": "#/components/schemas/FunctionNumberInput" }, { "$ref": "#/components/schemas/FunctionBooleanInput" }, { "$ref": "#/components/schemas/FunctionFolderInput" }, { "$ref": "#/components/schemas/FunctionFileInput" }, { "$ref": "#/components/schemas/FunctionPathInput" }, { "$ref": "#/components/schemas/FunctionArrayInput" }, { "$ref": "#/components/schemas/FunctionJSONObjectInput" } ] }, "type": "array", "title": "Inputs", "description": "Input arguments for this function." }, "outputs": { "items": { "anyOf": [ { "$ref": "#/components/schemas/FunctionStringOutput" }, { "$ref": "#/components/schemas/FunctionIntegerOutput" }, { "$ref": "#/components/schemas/FunctionNumberOutput" }, { "$ref": "#/components/schemas/FunctionBooleanOutput" }, { "$ref": "#/components/schemas/FunctionFolderOutput" }, { "$ref": "#/components/schemas/FunctionFileOutput" }, { "$ref": "#/components/schemas/FunctionPathOutput" }, { "$ref": "#/components/schemas/FunctionArrayOutput" }, { "$ref": "#/components/schemas/FunctionJSONObjectOutput" } ] }, "type": "array", "title": "Outputs", "description": "List of output arguments." }, "description": { "type": "string", "title": "Description", "description": "Function description. A short human readable description for this function." }, "command": { "type": "string", "title": "Command", "description": "Full shell command for this function. Each function accepts only one command. The command will be executed as a shell command in plugin. For running several commands after each other use && between the commands or pipe data from one to another using |" }, "language": { "allOf": [ { "$ref": "#/components/schemas/ScriptingLanguages" } ], "description": "Programming language of the script. Currently only Python is supported.", "default": "python" }, "source": { "type": "string", "title": "Source", "description": "Source contains the source code of the script to execute." } }, "type": "object", "required": [ "name", "config" ], "title": "TemplateFunction", "description": "Function template." }, "ValidationError": { "properties": { "loc": { "items": { "anyOf": [ { "type": "string" }, { "type": "integer" } ] }, "type": "array", "title": "Location" }, "msg": { "type": "string", "title": "Message" }, "type": { "type": "string", "title": "Error Type", "readOnly": true } }, "type": "object", "required": [ "loc", "msg", "type" ], "title": "ValidationError" } }, "securitySchemes": { "JWTAuth": { "type": "http", "scheme": "bearer", "bearerFormat": "JWT" }, "APIKeyAuth": { "type": "apiKey", "in": "header", "name": "x-pollination-token" } } } }