{ "openapi": "3.0.2", "info": { "title": "pollination-server", "description": "Pollination Server OpenAPI Definition", "version": "0.14.0", "contact": { "name": "PollinationSolutions", "url": "https://pollination.cloud", "email": "info@pollination.cloud" } }, "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": { "title": "Search Query", "type": "string", "description": "Search string to find accounts" }, "name": "search", "in": "query" }, { "description": "Whether the account is for a user or an org", "required": false, "schema": { "title": "Account Type", "type": "string", "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": { "title": "User Role", "allOf": [ { "$ref": "#/components/schemas/RoleEnum" } ], "description": "The role the user has in relation to this account" }, "name": "role", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "title": "Page number", "minimum": 1.0, "type": "integer", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "title": "Items per page", "maximum": 100.0, "type": "integer", "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": { "title": "Name", "type": "string" }, "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" } } } } } } }, "/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": { "title": "Page number", "minimum": 1.0, "type": "integer", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "title": "Items per page", "maximum": 100.0, "type": "integer", "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": [] }, { "APIKeyAuth": [] } ] }, "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": [] }, { "APIKeyAuth": [] } ] } }, "/tokens/{token_id}": { "put": { "tags": [ "API Tokens" ], "summary": "Regenerate an API token", "description": "Regenerate a token", "operationId": "regenerate_token", "parameters": [ { "required": true, "schema": { "title": "Token Id", "type": "string" }, "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": [] }, { "APIKeyAuth": [] } ] }, "delete": { "tags": [ "API Tokens" ], "summary": "Delete an API Token", "description": "Delete a token", "operationId": "delete_token", "parameters": [ { "required": true, "schema": { "title": "Token Id", "type": "string" }, "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": [] }, { "APIKeyAuth": [] } ] } }, "/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": { "title": "Response Get Roles Roles Get", "type": "array", "items": { "type": "string" } } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/users": { "get": { "tags": [ "Users" ], "summary": "List Users", "operationId": "list_users", "parameters": [ { "description": "Search string to find users", "required": false, "schema": { "title": "Search Query", "type": "string", "description": "Search string to find users" }, "name": "search", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "title": "Page number", "minimum": 1.0, "type": "integer", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "title": "Items per page", "maximum": 100.0, "type": "integer", "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": { "title": "Username", "type": "string" }, "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" } } } } } } }, "/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": { "title": "Username", "type": "string" }, "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" } } } } } } }, "/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": { "title": "Search query", "type": "array", "items": { "type": "string" }, "description": "You know, for search", "default": [] }, "name": "search", "in": "query" }, { "description": "The account name", "required": false, "schema": { "title": "Account Name", "type": "array", "items": { "type": "string" }, "description": "The account name", "default": [] }, "name": "name", "in": "query" }, { "description": "The username of a user", "required": false, "schema": { "title": "Member username", "type": "array", "items": { "type": "string" }, "description": "The username of a user", "default": [] }, "name": "member", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "title": "Page number", "minimum": 1.0, "type": "integer", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "title": "Items per page", "maximum": 100.0, "type": "integer", "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": { "title": "Name", "type": "string" }, "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": { "title": "Name", "type": "string" }, "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": { "title": "Name", "type": "string" }, "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}/members": { "get": { "tags": [ "Orgs" ], "summary": "List organization members", "description": "Retrieve a org's members", "operationId": "get_org_members", "parameters": [ { "required": true, "schema": { "title": "Name", "type": "string" }, "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" } } } } } } }, "/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": { "title": "Name", "type": "string" }, "name": "name", "in": "path" }, { "required": true, "schema": { "title": "Username", "type": "string" }, "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" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/orgs/{name}/members/{username}": { "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": { "title": "Name", "type": "string" }, "name": "name", "in": "path" }, { "required": true, "schema": { "title": "Username", "type": "string" }, "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": { "title": "Org Name", "type": "string" }, "name": "org_name", "in": "path" }, { "description": "You know, for search", "required": false, "schema": { "title": "Search query", "type": "array", "items": { "type": "string" }, "description": "You know, for search", "default": [] }, "name": "search", "in": "query" }, { "description": "The account name", "required": false, "schema": { "title": "Account Name", "type": "array", "items": { "type": "string" }, "description": "The account name", "default": [] }, "name": "name", "in": "query" }, { "description": "The ID of a user", "required": false, "schema": { "title": "Member ID", "type": "array", "items": { "type": "string" }, "description": "The ID of a user", "default": [] }, "name": "member", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "title": "Page number", "minimum": 1.0, "type": "integer", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "title": "Items per page", "maximum": 100.0, "type": "integer", "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": { "title": "Org Name", "type": "string" }, "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": { "title": "Org Name", "type": "string" }, "name": "org_name", "in": "path" }, { "required": true, "schema": { "title": "Team Slug", "type": "string" }, "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": { "title": "Org Name", "type": "string" }, "name": "org_name", "in": "path" }, { "required": true, "schema": { "title": "Team Slug", "type": "string" }, "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": { "title": "Org Name", "type": "string" }, "name": "org_name", "in": "path" }, { "required": true, "schema": { "title": "Team Slug", "type": "string" }, "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": { "title": "Org Name", "type": "string" }, "name": "org_name", "in": "path" }, { "required": true, "schema": { "title": "Team Slug", "type": "string" }, "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" } } } } } } }, "/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": { "title": "Org Name", "type": "string" }, "name": "org_name", "in": "path" }, { "required": true, "schema": { "title": "Team Slug", "type": "string" }, "name": "team_slug", "in": "path" }, { "required": true, "schema": { "title": "Username", "type": "string" }, "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": { "title": "Org Name", "type": "string" }, "name": "org_name", "in": "path" }, { "required": true, "schema": { "title": "Team Slug", "type": "string" }, "name": "team_slug", "in": "path" }, { "required": true, "schema": { "title": "Username", "type": "string" }, "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": [] } ] } }, "/projects": { "get": { "tags": [ "Projects" ], "summary": "List Projects", "operationId": "list_projects", "parameters": [ { "description": "Search string to find projects", "required": false, "schema": { "title": "Search Query", "type": "string", "description": "Search string to find projects" }, "name": "search", "in": "query" }, { "description": "The ID of a project to search for", "required": false, "schema": { "title": "Project ID", "type": "array", "items": { "type": "string" }, "description": "The ID of a project to search for", "default": [] }, "name": "ids", "in": "query" }, { "description": "The name of the project", "required": false, "schema": { "title": "Project Name", "type": "array", "items": { "type": "string" }, "description": "The name of the project", "default": [] }, "name": "names", "in": "query" }, { "description": "Owner of the project", "required": false, "schema": { "title": "Project Owner", "type": "array", "items": { "type": "string" }, "description": "Owner of the project", "default": [] }, "name": "owner", "in": "query" }, { "description": "Boolean check for public/private projects", "required": false, "schema": { "title": "Public Project", "type": "boolean", "description": "Boolean check for public/private projects" }, "name": "public", "in": "query" }, { "description": "Filter by permission on given resource", "required": false, "schema": { "title": "Permission Name", "type": "array", "items": { "type": "string" }, "description": "Filter by permission on given resource", "default": [] }, "name": "permissions", "in": "query" }, { "description": "Key to sort the list by", "required": false, "schema": { "title": "Sort By", "allOf": [ { "$ref": "#/components/schemas/ProjectSortKey" } ], "description": "Key to sort the list by" }, "name": "sort_by", "in": "query" }, { "description": "The order to sort the list", "required": false, "schema": { "title": "Sort Order", "allOf": [ { "$ref": "#/components/schemas/SortEnum" } ], "description": "The order to sort the list", "default": "ascending" }, "name": "sort_order", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "title": "Page number", "minimum": 1.0, "type": "integer", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "title": "Items per page", "maximum": 100.0, "type": "integer", "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": { "title": "Owner", "type": "string" }, "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": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Name", "type": "string" }, "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": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Name", "type": "string" }, "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": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Name", "type": "string" }, "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": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Name", "type": "string" }, "name": "name", "in": "path" }, { "description": "Page number starting from 1", "required": false, "schema": { "title": "Page number", "minimum": 1.0, "type": "integer", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "title": "Items per page", "maximum": 100.0, "type": "integer", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" }, { "description": "The type of access policy subject", "required": false, "schema": { "title": "Subject Type", "type": "array", "items": { "type": "string" }, "description": "The type of access policy subject" }, "name": "subject_type", "in": "query" }, { "description": "An access policy permission string", "required": false, "schema": { "title": "PERMISSION", "type": "array", "items": { "type": "string" }, "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": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Name", "type": "string" }, "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": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Name", "type": "string" }, "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 recipes", "operationId": "get_project_recipes", "parameters": [ { "required": true, "schema": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Name", "type": "string" }, "name": "name", "in": "path" }, { "description": "Search string to find recipes", "required": false, "schema": { "title": "Search Query", "type": "string", "description": "Search string to find recipes" }, "name": "search", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "title": "Page number", "minimum": 1.0, "type": "integer", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "title": "Items per page", "maximum": 100.0, "type": "integer", "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/filters": { "get": { "tags": [ "Projects" ], "summary": "Get project recipe filters", "operationId": "get_project_recipe_filters", "parameters": [ { "required": true, "schema": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Name", "type": "string" }, "name": "name", "in": "path" }, { "description": "Page number starting from 1", "required": false, "schema": { "title": "Page number", "minimum": 1.0, "type": "integer", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "title": "Items per page", "maximum": 100.0, "type": "integer", "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": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Name", "type": "string" }, "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": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Name", "type": "string" }, "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": { "title": "Project Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Project Name", "type": "string" }, "name": "name", "in": "path" }, { "description": "The path to an file within a project folder", "required": false, "schema": { "title": "Project File Path", "type": "array", "items": { "type": "string" }, "description": "The path to an file within a project folder" }, "name": "path", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "title": "Page number", "minimum": 1.0, "type": "integer", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "title": "Items per page", "maximum": 100.0, "type": "integer", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "title": "Response Get List Owner Name Artifacts Get", "type": "array", "items": { "$ref": "#/components/schemas/FileMeta" } } } } }, "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": { "title": "Project Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Project Name", "type": "string" }, "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": { "title": "Project Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Project Name", "type": "string" }, "name": "name", "in": "path" }, { "description": "The path to an file within a project folder", "required": false, "schema": { "title": "Project File Path", "type": "array", "items": { "type": "string" }, "description": "The path to an file within a project folder" }, "name": "path", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "title": "Page number", "minimum": 1.0, "type": "integer", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "title": "Items per page", "maximum": 100.0, "type": "integer", "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": { "title": "Project Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Project Name", "type": "string" }, "name": "name", "in": "path" }, { "description": "The path to an file within a project folder", "required": false, "schema": { "title": "Project File Path", "type": "string", "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": { "title": "Search query", "type": "array", "items": { "type": "string" }, "description": "You know, for search" }, "name": "search", "in": "query" }, { "description": "The account name", "required": false, "schema": { "title": "Repository Name", "type": "array", "items": { "type": "string" }, "description": "The account name" }, "name": "name", "in": "query" }, { "description": "Owner of the project", "required": false, "schema": { "title": "Repository Owner", "type": "array", "items": { "type": "string" }, "description": "Owner of the project" }, "name": "owner", "in": "query" }, { "description": "Boolean check for public/private projects", "required": false, "schema": { "title": "Public Repository", "type": "boolean", "description": "Boolean check for public/private projects" }, "name": "public", "in": "query" }, { "description": "A keyword to index the repository by", "required": false, "schema": { "title": "Repository Keywords", "type": "array", "items": { "type": "string" }, "description": "A keyword to index the repository by" }, "name": "keyword", "in": "query" }, { "description": "Filter by permission on given resource", "required": false, "schema": { "title": "Permission Name", "type": "array", "items": { "type": "string" }, "description": "Filter by permission on given resource" }, "name": "permission", "in": "query" }, { "description": "Key to sort the list by", "required": false, "schema": { "title": "Sort By", "allOf": [ { "$ref": "#/components/schemas/RepositorySortKey" } ], "description": "Key to sort the list by" }, "name": "sort_by", "in": "query" }, { "description": "The order to sort the list", "required": false, "schema": { "title": "Sort Order", "allOf": [ { "$ref": "#/components/schemas/SortEnum" } ], "description": "The order to sort the list", "default": "ascending" }, "name": "sort_order", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "title": "Page number", "minimum": 1.0, "type": "integer", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "title": "Items per page", "maximum": 100.0, "type": "integer", "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": { "title": "Owner", "type": "string" }, "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": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Name", "type": "string" }, "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": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Name", "type": "string" }, "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": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Name", "type": "string" }, "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": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Name", "type": "string" }, "name": "name", "in": "path" }, { "description": "Key to sort the list by", "required": false, "schema": { "title": "Sort By", "allOf": [ { "$ref": "#/components/schemas/PackageSortKey" } ], "description": "Key to sort the list by" }, "name": "sort_by", "in": "query" }, { "description": "The order to sort the list", "required": false, "schema": { "title": "Sort Order", "allOf": [ { "$ref": "#/components/schemas/SortEnum" } ], "description": "The order to sort the list", "default": "ascending" }, "name": "sort_order", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "title": "Page number", "minimum": 1.0, "type": "integer", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "title": "Items per page", "maximum": 100.0, "type": "integer", "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": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Name", "type": "string" }, "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": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Name", "type": "string" }, "name": "name", "in": "path" }, { "required": true, "schema": { "title": "Tag", "type": "string" }, "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": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Name", "type": "string" }, "name": "name", "in": "path" }, { "description": "Page number starting from 1", "required": false, "schema": { "title": "Page number", "minimum": 1.0, "type": "integer", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "title": "Items per page", "maximum": 100.0, "type": "integer", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" }, { "description": "The type of access policy subject", "required": false, "schema": { "title": "Subject Type", "type": "array", "items": { "type": "string" }, "description": "The type of access policy subject" }, "name": "subject_type", "in": "query" }, { "description": "An access policy permission string", "required": false, "schema": { "title": "PERMISSION", "type": "array", "items": { "type": "string" }, "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": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Name", "type": "string" }, "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": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Name", "type": "string" }, "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": { "title": "Search query", "type": "array", "items": { "type": "string" }, "description": "You know, for search" }, "name": "search", "in": "query" }, { "description": "The account name", "required": false, "schema": { "title": "Repository Name", "type": "array", "items": { "type": "string" }, "description": "The account name" }, "name": "name", "in": "query" }, { "description": "Owner of the project", "required": false, "schema": { "title": "Repository Owner", "type": "array", "items": { "type": "string" }, "description": "Owner of the project" }, "name": "owner", "in": "query" }, { "description": "Boolean check for public/private projects", "required": false, "schema": { "title": "Public Repository", "type": "boolean", "description": "Boolean check for public/private projects" }, "name": "public", "in": "query" }, { "description": "A keyword to index the repository by", "required": false, "schema": { "title": "Repository Keywords", "type": "array", "items": { "type": "string" }, "description": "A keyword to index the repository by" }, "name": "keyword", "in": "query" }, { "description": "Filter by permission on given resource", "required": false, "schema": { "title": "Permission Name", "type": "array", "items": { "type": "string" }, "description": "Filter by permission on given resource" }, "name": "permission", "in": "query" }, { "description": "Key to sort the list by", "required": false, "schema": { "title": "Sort By", "allOf": [ { "$ref": "#/components/schemas/RepositorySortKey" } ], "description": "Key to sort the list by" }, "name": "sort_by", "in": "query" }, { "description": "The order to sort the list", "required": false, "schema": { "title": "Sort Order", "allOf": [ { "$ref": "#/components/schemas/SortEnum" } ], "description": "The order to sort the list", "default": "ascending" }, "name": "sort_order", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "title": "Page number", "minimum": 1.0, "type": "integer", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "title": "Items per page", "maximum": 100.0, "type": "integer", "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": { "title": "Owner", "type": "string" }, "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": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Name", "type": "string" }, "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": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Name", "type": "string" }, "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": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Name", "type": "string" }, "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": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Name", "type": "string" }, "name": "name", "in": "path" }, { "description": "Key to sort the list by", "required": false, "schema": { "title": "Sort By", "allOf": [ { "$ref": "#/components/schemas/PackageSortKey" } ], "description": "Key to sort the list by" }, "name": "sort_by", "in": "query" }, { "description": "The order to sort the list", "required": false, "schema": { "title": "Sort Order", "allOf": [ { "$ref": "#/components/schemas/SortEnum" } ], "description": "The order to sort the list", "default": "ascending" }, "name": "sort_order", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "title": "Page number", "minimum": 1.0, "type": "integer", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "title": "Items per page", "maximum": 100.0, "type": "integer", "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": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Name", "type": "string" }, "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": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Name", "type": "string" }, "name": "name", "in": "path" }, { "required": true, "schema": { "title": "Tag", "type": "string" }, "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": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Name", "type": "string" }, "name": "name", "in": "path" }, { "description": "Page number starting from 1", "required": false, "schema": { "title": "Page number", "minimum": 1.0, "type": "integer", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "title": "Items per page", "maximum": 100.0, "type": "integer", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" }, { "description": "The type of access policy subject", "required": false, "schema": { "title": "Subject Type", "type": "array", "items": { "type": "string" }, "description": "The type of access policy subject" }, "name": "subject_type", "in": "query" }, { "description": "An access policy permission string", "required": false, "schema": { "title": "PERMISSION", "type": "array", "items": { "type": "string" }, "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": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Name", "type": "string" }, "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": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Name", "type": "string" }, "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": { "title": "Registry Owner", "type": "string" }, "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": { "title": "Registry Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Repository Type", "type": "string" }, "name": "type", "in": "path" }, { "required": true, "schema": { "title": "Repository Name", "type": "string" }, "name": "name", "in": "path" }, { "required": true, "schema": { "title": "Package Digest", "type": "string" }, "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": { "title": "Registry Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Repository Type", "type": "string" }, "name": "type", "in": "path" }, { "required": true, "schema": { "title": "Repository Name", "type": "string" }, "name": "name", "in": "path" }, { "required": true, "schema": { "title": "Package Digest", "type": "string" }, "name": "digest", "in": "path" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "title": "Response Get Package Json Owner Type Name Digest Json Get", "anyOf": [ { "$ref": "#/components/schemas/Recipe" }, { "$ref": "#/components/schemas/Plugin" } ] } } } }, "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": { "title": "Registry Owner", "type": "string" }, "name": "owner", "in": "path" } ], "requestBody": { "content": { "multipart/form-data": { "schema": { "$ref": "#/components/schemas/Body_post_plugin__owner__plugins_post" } } }, "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": { "title": "Registry Owner", "type": "string" }, "name": "owner", "in": "path" } ], "requestBody": { "content": { "multipart/form-data": { "schema": { "$ref": "#/components/schemas/Body_post_recipe__owner__recipes_post" } } }, "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": [] } ] } }, "/projects/{owner}/{name}/jobs": { "get": { "tags": [ "Jobs" ], "summary": "List Jobs", "description": "Retrieve a list of jobs.", "operationId": "list_jobs", "parameters": [ { "required": true, "schema": { "title": "Project Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Project Name", "type": "string" }, "name": "name", "in": "path" }, { "required": false, "schema": { "title": "Job IDs", "type": "array", "items": { "type": "string" } }, "name": "ids", "in": "query" }, { "required": false, "schema": { "title": "The status of the job", "allOf": [ { "$ref": "#/components/schemas/JobStatusEnum" } ] }, "name": "status", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "title": "Page number", "minimum": 1.0, "type": "integer", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "title": "Items per page", "maximum": 100.0, "type": "integer", "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": { "title": "Project Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Project Name", "type": "string" }, "name": "name", "in": "path" }, { "required": false, "schema": { "title": "Authorization", "type": "string" }, "name": "authorization", "in": "header" }, { "required": false, "schema": { "title": "X-Pollination-Token", "type": "string" }, "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": { "title": "Project Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Project Name", "type": "string" }, "name": "name", "in": "path" }, { "required": true, "schema": { "title": "Job ID", "type": "string" }, "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": [] } ] } }, "/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": { "title": "Project Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Project Name", "type": "string" }, "name": "name", "in": "path" }, { "required": true, "schema": { "title": "Job ID", "type": "string" }, "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}/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": { "title": "Project Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Project Name", "type": "string" }, "name": "name", "in": "path" }, { "required": true, "schema": { "title": "Job ID", "type": "string" }, "name": "job_id", "in": "path" }, { "description": "The path to an file within a project folder", "required": false, "schema": { "title": "Project File Path", "type": "array", "items": { "type": "string" }, "description": "The path to an file within a project folder" }, "name": "path", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "title": "Page number", "minimum": 1.0, "type": "integer", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "title": "Items per page", "maximum": 100.0, "type": "integer", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "title": "Response Search Job Folder Projects Owner Name Jobs Job Id Artifacts Get", "type": "array", "items": { "$ref": "#/components/schemas/FileMeta" } } } } }, "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": { "title": "Project Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Project Name", "type": "string" }, "name": "name", "in": "path" }, { "required": true, "schema": { "title": "Job id", "type": "string" }, "name": "job_id", "in": "path" }, { "description": "The path to an file within a project folder", "required": false, "schema": { "title": "Project File Path", "type": "string", "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": [] } ] } }, "/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": { "title": "Project Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Project Name", "type": "string" }, "name": "name", "in": "path" }, { "required": false, "schema": { "title": "Job IDs", "type": "array", "items": { "type": "string" } }, "name": "job_id", "in": "query" }, { "required": false, "schema": { "title": "The status of the job", "allOf": [ { "$ref": "#/components/schemas/RunStatusEnum" } ] }, "name": "status", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "title": "Page number", "minimum": 1.0, "type": "integer", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "title": "Items per page", "maximum": 100.0, "type": "integer", "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": { "title": "Project Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Project Name", "type": "string" }, "name": "name", "in": "path" }, { "required": false, "schema": { "title": "Job IDs", "type": "array", "items": { "type": "string" } }, "name": "job_id", "in": "query" }, { "required": false, "schema": { "title": "The status of the job", "allOf": [ { "$ref": "#/components/schemas/RunStatusEnum" } ] }, "name": "status", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "title": "Page number", "minimum": 1.0, "type": "integer", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "title": "Items per page", "maximum": 100.0, "type": "integer", "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": { "title": "Project Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Project Name", "type": "string" }, "name": "name", "in": "path" }, { "required": true, "schema": { "title": "Run ID", "type": "string" }, "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}/cancel": { "put": { "tags": [ "Runs" ], "summary": "Cancel a run", "description": "Stop a run.", "operationId": "cancel_run", "parameters": [ { "required": true, "schema": { "title": "Project Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Project Name", "type": "string" }, "name": "name", "in": "path" }, { "required": true, "schema": { "title": "Run id.", "type": "string" }, "name": "run_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}/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": { "title": "Project Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Project Name", "type": "string" }, "name": "name", "in": "path" }, { "required": true, "schema": { "title": "Run ID", "type": "string" }, "name": "run_id", "in": "path" }, { "required": true, "schema": { "title": "Output Name", "type": "string" }, "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": { "title": "Project Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Project Name", "type": "string" }, "name": "name", "in": "path" }, { "required": true, "schema": { "title": "Run id.", "type": "string" }, "name": "run_id", "in": "path" }, { "required": false, "schema": { "title": "The status of the task", "allOf": [ { "$ref": "#/components/schemas/StepStatusEnum" } ] }, "name": "status", "in": "query" }, { "required": false, "schema": { "title": "The specific step IDs to retrieve", "type": "array", "items": { "type": "string" } }, "name": "step_id", "in": "query" }, { "required": false, "schema": { "title": "The newest run generation to retrieve steps from", "type": "string" }, "name": "until_generation", "in": "query" }, { "required": false, "schema": { "title": "The oldest run generation to retrieve steps from", "type": "string" }, "name": "since_generation", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "title": "Page number", "minimum": 1.0, "type": "integer", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "title": "Items per page", "maximum": 100.0, "type": "integer", "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" } } } } }, "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": { "title": "Project Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Project Name", "type": "string" }, "name": "name", "in": "path" }, { "required": true, "schema": { "title": "Run id.", "type": "string" }, "name": "run_id", "in": "path" }, { "required": true, "schema": { "title": "Run Task name.", "type": "string" }, "name": "step_id", "in": "path" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "title": "Response Get Step Logs Projects Owner Name Runs Run Id Steps Step Id Logs Get", "type": "string" } } } }, "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": { "title": "Project Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Project Name", "type": "string" }, "name": "name", "in": "path" }, { "required": true, "schema": { "title": "Run id.", "type": "string" }, "name": "run_id", "in": "path" }, { "description": "The path to an file within a project folder", "required": false, "schema": { "title": "Project File Path", "type": "array", "items": { "type": "string" }, "description": "The path to an file within a project folder" }, "name": "path", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "title": "Page number", "minimum": 1.0, "type": "integer", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "title": "Items per page", "maximum": 100.0, "type": "integer", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "title": "Response Get List Artifacts Projects Owner Name Runs Run Id Artifacts Get", "type": "array", "items": { "$ref": "#/components/schemas/FileMeta" } } } } }, "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": { "title": "Project Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Project Name", "type": "string" }, "name": "name", "in": "path" }, { "required": true, "schema": { "title": "Run id.", "type": "string" }, "name": "run_id", "in": "path" }, { "description": "The path to an file within a project folder", "required": false, "schema": { "title": "Project File Path", "type": "string", "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" } } } } }, "deprecated": true, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } } }, "components": { "schemas": { "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "Function": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "name", "command" ], "properties": { "name": { "title": "Name", "description": "Function name. Must be unique within a plugin.", "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" }, "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" }, "type": { "title": "Type", "default": "Function", "pattern": "^Function$", "type": "string", "readOnly": true } } } ], "title": "Function", "description": "A Function with a single command", "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "Permission": { "title": "Permission", "description": "An enumeration.", "enum": [ "admin", "write", "read" ], "type": "string" }, "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" } }, "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" } }, "Body_post_plugin__owner__plugins_post": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "package": { "title": "Plugin Package", "type": "string", "format": "binary" }, "type": { "title": "Type", "default": "Body_post_plugin__owner__plugins_post", "type": "string", "pattern": "^Body_post_plugin__owner__plugins_post$", "readOnly": true } }, "required": [ "package" ] } ], "title": "Body_post_plugin__owner__plugins_post", "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" } }, "Body_post_recipe__owner__recipes_post": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "package": { "title": "Recipe Package", "type": "string", "format": "binary" }, "type": { "title": "Type", "default": "Body_post_recipe__owner__recipes_post", "type": "string", "pattern": "^Body_post_recipe__owner__recipes_post$", "readOnly": true } }, "required": [ "package" ] } ], "title": "Body_post_recipe__owner__recipes_post", "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" } }, "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" } }, "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", "example": "ladybugbot", "type": "string" }, "type": { "title": "Type", "default": "UserCreate", "type": "string", "pattern": "^UserCreate$", "readOnly": true } } } ], "title": "UserCreate", "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "RoleEnum": { "title": "RoleEnum", "enum": [ "owner", "member" ], "type": "string", "description": "An enumeration." }, "SortEnum": { "title": "SortEnum", "enum": [ "ascending", "descending" ], "type": "string", "description": "An enumeration." }, "OrganizationRoleEnum": { "title": "OrganizationRoleEnum", "description": "An enumeration.", "enum": [ "owner", "member" ], "type": "string" }, "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" } }, "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" } }, "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.", "examples": [ "https://registry.pollination.cloud/ladybugbot", "https://some-random-user.github.io/registry" ], "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } ] }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "RunStatusEnum": { "title": "RunStatusEnum", "description": "Enumaration of allowable status strings", "enum": [ "Created", "Scheduled", "Running", "Post-Processing", "Failed", "Cancelled", "Succeeded", "Unknown" ], "type": "string" }, "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", "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" } }, "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" } }, "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" } ] }, "type": { "title": "Type", "default": "Run", "type": "string", "pattern": "^Run$", "readOnly": true } }, "required": [ "id" ] } ], "title": "Run", "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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", "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "_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" } }, "_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" } }, "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" } }, "_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" } }, "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" } }, "_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" } }, "_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" } }, "_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" } }, "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" } }, "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" } }, "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" } }, "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" } }, "_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" } } }, "securitySchemes": { "JWTAuth": { "type": "http", "scheme": "bearer" }, "APIKeyAuth": { "type": "apiKey", "in": "header", "name": "x-pollination-token" } } } }