{ "openapi": "3.0.2", "info": { "title": "pollination-server", "description": "Pollination Server OpenAPI Definition", "version": "0.12.2", "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": "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": "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" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PublicAccountList" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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 a org (must have org `owner` role)", "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 org.", "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": [] }, { "APIKeyAuth": [] } ] } }, "/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 User Roles Get", "type": "array", "items": { "type": "string" } } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/users": { "get": { "tags": [ "Users" ], "summary": "List Users", "operationId": "list_users", "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": "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": "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": "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" } ], "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" }, { "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/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": "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": "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": "Account Name", "type": "array", "items": { "type": "string" }, "description": "The account name" }, "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" }, "name": "member", "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" }, { "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/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": [] } ] } }, "/plugins": { "get": { "tags": [ "Plugins" ], "summary": "List plugins", "operationId": "list_plugins", "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" }, { "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" } ], "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": "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 `contribute` 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": [] } ] } }, "/recipes": { "get": { "tags": [ "Recipes" ], "summary": "List recipes", "operationId": "list_recipes", "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" }, { "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" } ], "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": "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" }, { "required": false, "schema": { "title": "Authorization", "type": "string" }, "name": "authorization", "in": "header" } ], "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 `contribute` 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": [] } ] } }, "/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 Registries 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_registries__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" }, { "required": false, "schema": { "title": "Authorization", "type": "string" }, "name": "authorization", "in": "header" } ], "requestBody": { "content": { "multipart/form-data": { "schema": { "$ref": "#/components/schemas/Body_post_recipe_registries__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": { "get": { "tags": [ "Projects" ], "summary": "List Projects", "description": "search for projects using query parameters", "operationId": "list_projects", "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" }, { "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 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" }, "name": "id", "in": "query" }, { "description": "The account name", "required": false, "schema": { "title": "Account Name", "type": "array", "items": { "type": "string" }, "description": "The account name" }, "name": "name", "in": "query" }, { "description": "Owner of the project", "required": false, "schema": { "title": "Project 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 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" }, "name": "permission", "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", "description": "Create a new 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", "description": "Retrieve a project by name", "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", "description": "Update a project (must have `contribute` permission)", "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", "description": "Delete a project (must have `admin` permission)", "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", "description": "Retrieve a project's access permissions (must have `contribute` permission)", "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", "description": "Delete a project's access policy (must have `admin` permission)", "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", "description": "Upsert a project's access policy (must have `admin` permission)", "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}/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 run.", "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": "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 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" } ], "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": "The status of the run", "allOf": [ { "$ref": "#/components/schemas/RunStatusEnum" } ] }, "name": "status", "in": "query" }, { "required": false, "schema": { "title": "Job IDs", "type": "array", "items": { "type": "string" } }, "name": "job_id", "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": "The status of the run", "allOf": [ { "$ref": "#/components/schemas/RunStatusEnum" } ] }, "name": "status", "in": "query" }, { "required": false, "schema": { "title": "Job IDs", "type": "array", "items": { "type": "string" } }, "name": "job_id", "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": "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 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" } ], "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": [] } ] } }, "/projects/{owner}/{name}/artifacts": { "get": { "tags": [ "Artifacts" ], "summary": "List artifacts in a project folder", "description": "Retrieve a list of artifacts.", "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": "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 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" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "title": "Response Get List Artifacts Projects 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.", "description": "Create a new artifact.", "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", "description": "Delete one or multiple artifacts based on 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" } ], "responses": { "202": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateAccepted" } } } }, "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", "description": "Retrieve a list of artifacts.", "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": [] } ] } }, "/projects/{owner}/{name}/recipes": { "get": { "tags": [ "Projects" ], "summary": "Get project recipes", "description": "Retrieve a project's access permissions (must have `read` permission)", "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" }, { "required": false, "schema": { "title": "Text search for recipes", "type": "string" }, "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", "description": "Retrieve a project's access permissions (must have `read` permission)", "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" } ], "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", "description": "Upsert a project's access policy (must have `admin` permission)", "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/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": "Remove a Project permissions", "description": "Delete a project's access policy (must have `admin` permission)", "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": [] } ] } } }, "components": { "schemas": { "APIToken": { "title": "APIToken", "required": [ "token_id", "name" ], "type": "object", "properties": { "token_id": { "title": "Token Id", "type": "string", "description": "The unique ID of this API token" }, "name": { "title": "Name", "type": "string", "description": "The user friendly name of the API token" }, "claims": { "title": "Claims", "type": "object", "additionalProperties": { "type": "string" }, "description": "Key value pairs of auth claims the API token is entitled to", "default": {} } } }, "APITokenCreate": { "title": "APITokenCreate", "required": [ "token_id", "name" ], "type": "object", "properties": { "token_id": { "title": "Token Id", "type": "string", "description": "The unique ID of this API token" }, "name": { "title": "Name", "type": "string", "description": "The user friendly name of the API token" }, "claims": { "title": "Claims", "type": "object", "additionalProperties": { "type": "string" }, "description": "Key value pairs of auth claims the API token is entitled to", "default": {} } } }, "APITokenList": { "title": "APITokenList", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "type": "object", "properties": { "page": { "title": "Page", "type": "integer", "description": "The current page the pagination request is on", "format": "int32" }, "per_page": { "title": "Per Page", "type": "integer", "description": "The number of pages per pagination request", "format": "int32" }, "page_count": { "title": "Page Count", "type": "integer", "description": "The total number of pages", "format": "int32" }, "total_count": { "title": "Total Count", "type": "integer", "description": "The total number of resources matching the list request", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/APIToken" } }, "next_page": { "title": "Next Page", "type": "integer", "description": "The next page, if this on is not the last", "format": "int32" } }, "description": "A list response from a pagination request" }, "APITokenPrivate": { "title": "APITokenPrivate", "required": [ "token_id", "name", "token" ], "type": "object", "properties": { "token_id": { "title": "Token Id", "type": "string", "description": "The unique ID of this API token" }, "name": { "title": "Name", "type": "string", "description": "The user friendly name of the API token" }, "token": { "title": "Token", "type": "string", "description": "The decoded API token" }, "claims": { "title": "Claims", "type": "object", "additionalProperties": { "type": "string" }, "description": "Key value pairs of auth claims the API token is entitled to", "default": {} } } }, "AccountPublic": { "title": "AccountPublic", "required": [ "id", "account_type", "name" ], "type": "object", "properties": { "id": { "title": "Id", "type": "string", "example": "0ad77f99-8043-46e4-8220-7221487c3ee5" }, "account_type": { "title": "Account Type", "type": "string", "example": "user" }, "name": { "title": "Name", "type": "string", "example": "ladybugbot" }, "display_name": { "title": "Display Name", "type": "string", "example": "Ladybug Bot" }, "description": { "title": "Description", "type": "string", "example": "Beep Boop!" }, "picture_url": { "title": "Picture Url", "type": "string", "description": "https://robohash.org/ladybugbot" } } }, "Body_post_plugin_registries__owner__plugins_post": { "title": "Body_post_plugin_registries__owner__plugins_post", "required": [ "package" ], "type": "object", "properties": { "package": { "title": "Plugin Package", "type": "string", "format": "binary" } } }, "Body_post_recipe_registries__owner__recipes_post": { "title": "Body_post_recipe_registries__owner__recipes_post", "required": [ "package" ], "type": "object", "properties": { "package": { "title": "Recipe Package", "type": "string", "format": "binary" } } }, "CloudJob": { "title": "CloudJob", "required": [ "id", "spec" ], "type": "object", "properties": { "id": { "title": "Id", "type": "string", "description": "The unique ID for this run" }, "spec": { "title": "Spec", "allOf": [ { "$ref": "#/components/schemas/Job" } ], "description": "The job specification" }, "author": { "title": "Author", "allOf": [ { "$ref": "#/components/schemas/AccountPublic" } ], "description": "author" }, "owner": { "title": "Owner", "allOf": [ { "$ref": "#/components/schemas/AccountPublic" } ], "description": "owner" }, "recipe": { "title": "Recipe", "allOf": [ { "$ref": "#/components/schemas/RecipeInterface" } ], "description": "The recipe used to generate this " }, "status": { "title": "Status", "allOf": [ { "$ref": "#/components/schemas/JobStatus" } ], "description": "The status of the job" } } }, "CloudJobList": { "title": "CloudJobList", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "type": "object", "properties": { "page": { "title": "Page", "type": "integer", "description": "The current page the pagination request is on", "format": "int32" }, "per_page": { "title": "Per Page", "type": "integer", "description": "The number of pages per pagination request", "format": "int32" }, "page_count": { "title": "Page Count", "type": "integer", "description": "The total number of pages", "format": "int32" }, "total_count": { "title": "Total Count", "type": "integer", "description": "The total number of resources matching the list request", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/CloudJob" } }, "next_page": { "title": "Next Page", "type": "integer", "description": "The next page, if this on is not the last", "format": "int32" } }, "description": "A list response from a pagination request" }, "CreatedContent": { "title": "CreatedContent", "required": [ "id" ], "type": "object", "properties": { "id": { "title": "Id", "type": "string", "description": "Id for the newly created resource.", "format": "uuid", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6" }, "message": { "title": "Message", "type": "string", "description": " A human readable message", "example": "Use Location in headers to access the new object." } }, "description": "Content for created response." }, "DAG": { "title": "DAG", "required": [ "name", "tasks" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "A unique name for this dag." }, "tasks": { "title": "Tasks", "type": "array", "items": { "$ref": "#/components/schemas/DAGTask" }, "description": "Tasks are a list of DAG steps" }, "type": { "title": "Type", "pattern": "^DAG$", "type": "string", "default": "DAG", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "inputs": { "title": "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" } ] }, "description": "Inputs for the DAG." }, "outputs": { "title": "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" } ] }, "description": "Outputs of the DAG that can be used by other DAGs." }, "fail_fast": { "title": "Fail Fast", "type": "boolean", "description": "Stop scheduling new steps, as soon as it detects that one of the DAG nodes is failed. Default is True.", "default": true } }, "description": "A Directed Acyclic Graph containing a list of tasks." }, "DAGArrayInput": { "title": "DAGArrayInput", "required": [ "name" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Input name." }, "type": { "title": "Type", "pattern": "^DAGArrayInput$", "type": "string", "default": "DAGArrayInput", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for input." }, "default": { "title": "Default", "type": "array", "items": {}, "description": "Default value to use for an input if a value was not supplied." }, "alias": { "title": "Alias", "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" } ] }, "description": "A list of aliases for this input in different platforms." }, "required": { "title": "Required", "type": "boolean", "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 }, "spec": { "title": "Spec", "type": "object", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec." }, "items_type": { "allOf": [ { "$ref": "#/components/schemas/ItemType" } ], "description": "Type of items in an array. All the items in an array must be from the same type.", "default": "String" } }, "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." }, "DAGArrayInputAlias": { "title": "DAGArrayInputAlias", "required": [ "name", "platform", "handler" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Input name." }, "platform": { "title": "Platform", "type": "array", "items": { "type": "string" }, "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." }, "handler": { "title": "Handler", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" }, "description": "List of process actions to process the input or output value." }, "type": { "title": "Type", "pattern": "^DAGArrayInputAlias$", "type": "string", "default": "DAGArrayInputAlias", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for input." }, "default": { "title": "Default", "type": "array", "items": {}, "description": "Default value to use for an input if a value was not supplied." }, "required": { "title": "Required", "type": "boolean", "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 }, "spec": { "title": "Spec", "type": "object", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec." }, "items_type": { "allOf": [ { "$ref": "#/components/schemas/ItemType" } ], "description": "Type of items in an array. All the items in an array must be from the same type.", "default": "String" } }, "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." }, "DAGArrayOutput": { "title": "DAGArrayOutput", "required": [ "name", "from" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Output name." }, "from": { "title": "From", "anyOf": [ { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/FileReference" } ], "description": "Reference to a file or a task output. Task output must be file." }, "type": { "title": "Type", "pattern": "^DAGArrayOutput$", "type": "string", "default": "DAGArrayOutput", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for output." }, "alias": { "title": "Alias", "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" } ] }, "description": "A list of additional processes for loading this output on different platforms." }, "required": { "title": "Required", "type": "boolean", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true }, "items_type": { "allOf": [ { "$ref": "#/components/schemas/ItemType" } ], "description": "Type of items in this array. All the items in an array must be from the same type.", "default": "String" } }, "description": "DAG array output.\n\nThis output loads the content from a JSON file which must be a JSON Array." }, "DAGArrayOutputAlias": { "title": "DAGArrayOutputAlias", "required": [ "name", "platform", "handler", "from" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Output name." }, "platform": { "title": "Platform", "type": "array", "items": { "type": "string" }, "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." }, "handler": { "title": "Handler", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" }, "description": "List of process actions to process the input or output value." }, "from": { "title": "From", "anyOf": [ { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/FileReference" } ], "description": "Reference to a file or a task output. Task output must be file." }, "type": { "title": "Type", "pattern": "^DAGArrayOutputAlias$", "type": "string", "default": "DAGArrayOutputAlias", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for output." }, "required": { "title": "Required", "type": "boolean", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true }, "items_type": { "allOf": [ { "$ref": "#/components/schemas/ItemType" } ], "description": "Type of items in this array. All the items in an array must be from the same type.", "default": "String" } }, "description": "DAG alias array output.\n\nThis output loads the content from a JSON file which must be a JSON Array." }, "DAGBooleanInput": { "title": "DAGBooleanInput", "required": [ "name" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Input name." }, "type": { "title": "Type", "pattern": "^DAGBooleanInput$", "type": "string", "default": "DAGBooleanInput", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for input." }, "default": { "title": "Default", "type": "boolean", "description": "Default value to use for an input if a value was not supplied." }, "alias": { "title": "Alias", "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" } ] }, "description": "A list of aliases for this input in different platforms." }, "required": { "title": "Required", "type": "boolean", "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 }, "spec": { "title": "Spec", "type": "object", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec." } }, "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." }, "DAGBooleanInputAlias": { "title": "DAGBooleanInputAlias", "required": [ "name", "platform", "handler" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Input name." }, "platform": { "title": "Platform", "type": "array", "items": { "type": "string" }, "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." }, "handler": { "title": "Handler", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" }, "description": "List of process actions to process the input or output value." }, "type": { "title": "Type", "pattern": "^DAGBooleanInputAlias$", "type": "string", "default": "DAGBooleanInputAlias", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for input." }, "default": { "title": "Default", "type": "boolean", "description": "Default value to use for an input if a value was not supplied." }, "required": { "title": "Required", "type": "boolean", "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 }, "spec": { "title": "Spec", "type": "object", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec." } }, "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." }, "DAGBooleanOutput": { "title": "DAGBooleanOutput", "required": [ "name", "from" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Output name." }, "from": { "title": "From", "anyOf": [ { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/FileReference" } ], "description": "Reference to a file or a task output. Task output must be file." }, "type": { "title": "Type", "pattern": "^DAGBooleanOutput$", "type": "string", "default": "DAGBooleanOutput", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for output." }, "alias": { "title": "Alias", "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" } ] }, "description": "A list of additional processes for loading this output on different platforms." }, "required": { "title": "Required", "type": "boolean", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true } }, "description": "DAG boolean output.\n\nThis output loads the content from a file as a boolean." }, "DAGBooleanOutputAlias": { "title": "DAGBooleanOutputAlias", "required": [ "name", "platform", "handler", "from" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Output name." }, "platform": { "title": "Platform", "type": "array", "items": { "type": "string" }, "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." }, "handler": { "title": "Handler", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" }, "description": "List of process actions to process the input or output value." }, "from": { "title": "From", "anyOf": [ { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/FileReference" } ], "description": "Reference to a file or a task output. Task output must be file." }, "type": { "title": "Type", "pattern": "^DAGBooleanOutputAlias$", "type": "string", "default": "DAGBooleanOutputAlias", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for output." }, "required": { "title": "Required", "type": "boolean", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true } }, "description": "DAG alias boolean output.\n\nThis output loads the content from a file as a boolean." }, "DAGFileInput": { "title": "DAGFileInput", "required": [ "name" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Input name." }, "type": { "title": "Type", "pattern": "^DAGFileInput$", "type": "string", "default": "DAGFileInput", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for input." }, "default": { "title": "Default", "anyOf": [ { "$ref": "#/components/schemas/HTTP" }, { "$ref": "#/components/schemas/S3" }, { "$ref": "#/components/schemas/ProjectFolder" } ], "description": "The default source for file if the value is not provided." }, "alias": { "title": "Alias", "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" } ] }, "description": "A list of aliases for this input in different platforms." }, "required": { "title": "Required", "type": "boolean", "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 }, "spec": { "title": "Spec", "type": "object", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec." }, "extensions": { "title": "Extensions", "type": "array", "items": { "type": "string" }, "description": "Optional list of extensions for file. The check for extension is case-insensitive." } }, "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 }" }, "DAGFileInputAlias": { "title": "DAGFileInputAlias", "required": [ "name", "platform", "handler" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Input name." }, "platform": { "title": "Platform", "type": "array", "items": { "type": "string" }, "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." }, "handler": { "title": "Handler", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" }, "description": "List of process actions to process the input or output value." }, "type": { "title": "Type", "pattern": "^DAGFileInputAlias$", "type": "string", "default": "DAGFileInputAlias", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for input." }, "default": { "title": "Default", "anyOf": [ { "$ref": "#/components/schemas/HTTP" }, { "$ref": "#/components/schemas/S3" }, { "$ref": "#/components/schemas/ProjectFolder" } ], "description": "The default source for file if the value is not provided." }, "required": { "title": "Required", "type": "boolean", "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 }, "spec": { "title": "Spec", "type": "object", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec." }, "extensions": { "title": "Extensions", "type": "array", "items": { "type": "string" }, "description": "Optional list of extensions for file. The check for extension is case-insensitive." } }, "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 }" }, "DAGFileOutput": { "title": "DAGFileOutput", "required": [ "name", "from" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Output name." }, "from": { "title": "From", "anyOf": [ { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/FileReference" } ], "description": "Reference to a file or a task output. Task output must be file." }, "type": { "title": "Type", "pattern": "^DAGFileOutput$", "type": "string", "default": "DAGFileOutput", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for output." }, "alias": { "title": "Alias", "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" } ] }, "description": "A list of additional processes for loading this output on different platforms." }, "required": { "title": "Required", "type": "boolean", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true } }, "description": "DAG file output." }, "DAGFileOutputAlias": { "title": "DAGFileOutputAlias", "required": [ "name", "platform", "handler", "from" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Output name." }, "platform": { "title": "Platform", "type": "array", "items": { "type": "string" }, "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." }, "handler": { "title": "Handler", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" }, "description": "List of process actions to process the input or output value." }, "from": { "title": "From", "anyOf": [ { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/FileReference" } ], "description": "Reference to a file or a task output. Task output must be file." }, "type": { "title": "Type", "pattern": "^DAGFileOutputAlias$", "type": "string", "default": "DAGFileOutputAlias", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for output." }, "required": { "title": "Required", "type": "boolean", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true } }, "description": "DAG alias file output." }, "DAGFolderInput": { "title": "DAGFolderInput", "required": [ "name" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Input name." }, "type": { "title": "Type", "pattern": "^DAGFolderInput$", "type": "string", "default": "DAGFolderInput", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for input." }, "default": { "title": "Default", "anyOf": [ { "$ref": "#/components/schemas/HTTP" }, { "$ref": "#/components/schemas/S3" }, { "$ref": "#/components/schemas/ProjectFolder" } ], "description": "The default source for file if the value is not provided." }, "alias": { "title": "Alias", "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" } ] }, "description": "A list of aliases for this input in different platforms." }, "required": { "title": "Required", "type": "boolean", "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 }, "spec": { "title": "Spec", "type": "object", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec." } }, "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 }" }, "DAGFolderInputAlias": { "title": "DAGFolderInputAlias", "required": [ "name", "platform", "handler" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Input name." }, "platform": { "title": "Platform", "type": "array", "items": { "type": "string" }, "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." }, "handler": { "title": "Handler", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" }, "description": "List of process actions to process the input or output value." }, "type": { "title": "Type", "pattern": "^DAGFolderInputAlias$", "type": "string", "default": "DAGFolderInputAlias", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for input." }, "default": { "title": "Default", "anyOf": [ { "$ref": "#/components/schemas/HTTP" }, { "$ref": "#/components/schemas/S3" }, { "$ref": "#/components/schemas/ProjectFolder" } ], "description": "The default source for file if the value is not provided." }, "required": { "title": "Required", "type": "boolean", "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 }, "spec": { "title": "Spec", "type": "object", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec." } }, "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 }" }, "DAGFolderOutput": { "title": "DAGFolderOutput", "required": [ "name", "from" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Output name." }, "from": { "title": "From", "anyOf": [ { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/FolderReference" } ], "description": "Reference to a folder or a task output. Task output must be folder." }, "type": { "title": "Type", "pattern": "^DAGFolderOutput$", "type": "string", "default": "DAGFolderOutput", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for output." }, "alias": { "title": "Alias", "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" } ] }, "description": "A list of additional processes for loading this output on different platforms." }, "required": { "title": "Required", "type": "boolean", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true } }, "description": "DAG folder output." }, "DAGFolderOutputAlias": { "title": "DAGFolderOutputAlias", "required": [ "name", "platform", "handler", "from" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Output name." }, "platform": { "title": "Platform", "type": "array", "items": { "type": "string" }, "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." }, "handler": { "title": "Handler", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" }, "description": "List of process actions to process the input or output value." }, "from": { "title": "From", "anyOf": [ { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/FolderReference" } ], "description": "Reference to a folder or a task output. Task output must be folder." }, "type": { "title": "Type", "pattern": "^DAGFolderOutputAlias$", "type": "string", "default": "DAGFolderOutputAlias", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for output." }, "required": { "title": "Required", "type": "boolean", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true } }, "description": "DAG alias folder output." }, "DAGGenericInput": { "title": "DAGGenericInput", "required": [ "name" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Input name." }, "type": { "title": "Type", "pattern": "^DAGGenericInput$", "type": "string", "default": "DAGGenericInput", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for input." }, "default": { "title": "Default", "type": "string", "description": "Default value for generic input." }, "alias": { "title": "Alias", "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" } ] }, "description": "A list of aliases for this input in different platforms." }, "required": { "title": "Required", "type": "boolean", "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 }, "spec": { "title": "Spec", "type": "object", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec." } }, "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." }, "DAGGenericInputAlias": { "title": "DAGGenericInputAlias", "required": [ "name", "platform", "handler" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Input name." }, "platform": { "title": "Platform", "type": "array", "items": { "type": "string" }, "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." }, "handler": { "title": "Handler", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" }, "description": "List of process actions to process the input or output value." }, "type": { "title": "Type", "pattern": "^DAGGenericInputAlias$", "type": "string", "default": "DAGGenericInputAlias", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for input." }, "default": { "title": "Default", "type": "string", "description": "Default value for generic input." }, "required": { "title": "Required", "type": "boolean", "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 }, "spec": { "title": "Spec", "type": "object", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec." } }, "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." }, "DAGGenericOutput": { "title": "DAGGenericOutput", "required": [ "name", "from" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Output name." }, "from": { "title": "From", "description": "Reference to a file or a task output. Task output must be file." }, "type": { "title": "Type", "pattern": "^DAGGenericOutput$", "type": "string", "default": "DAGGenericOutput", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for output." }, "alias": { "title": "Alias", "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" } ] }, "description": "A list of additional processes for loading this output on different platforms." } }, "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." }, "DAGGenericOutputAlias": { "title": "DAGGenericOutputAlias", "required": [ "name", "platform", "handler" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Output name." }, "platform": { "title": "Platform", "type": "array", "items": { "type": "string" }, "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." }, "handler": { "title": "Handler", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" }, "description": "List of process actions to process the input or output value." }, "type": { "title": "Type", "pattern": "^DAGGenericOutputAlias$", "type": "string", "default": "DAGGenericOutputAlias", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for output." } }, "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." }, "DAGIntegerInput": { "title": "DAGIntegerInput", "required": [ "name" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Input name." }, "type": { "title": "Type", "pattern": "^DAGIntegerInput$", "type": "string", "default": "DAGIntegerInput", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for input." }, "default": { "title": "Default", "type": "integer", "description": "Default value to use for an input if a value was not supplied.", "format": "int32" }, "alias": { "title": "Alias", "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" } ] }, "description": "A list of aliases for this input in different platforms." }, "required": { "title": "Required", "type": "boolean", "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 }, "spec": { "title": "Spec", "type": "object", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec." } }, "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." }, "DAGIntegerInputAlias": { "title": "DAGIntegerInputAlias", "required": [ "name", "platform", "handler" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Input name." }, "platform": { "title": "Platform", "type": "array", "items": { "type": "string" }, "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." }, "handler": { "title": "Handler", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" }, "description": "List of process actions to process the input or output value." }, "type": { "title": "Type", "pattern": "^DAGIntegerInputAlias$", "type": "string", "default": "DAGIntegerInputAlias", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for input." }, "default": { "title": "Default", "type": "integer", "description": "Default value to use for an input if a value was not supplied.", "format": "int32" }, "required": { "title": "Required", "type": "boolean", "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 }, "spec": { "title": "Spec", "type": "object", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec." } }, "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." }, "DAGIntegerOutput": { "title": "DAGIntegerOutput", "required": [ "name", "from" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Output name." }, "from": { "title": "From", "anyOf": [ { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/FileReference" } ], "description": "Reference to a file or a task output. Task output must be file." }, "type": { "title": "Type", "pattern": "^DAGIntegerOutput$", "type": "string", "default": "DAGIntegerOutput", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for output." }, "alias": { "title": "Alias", "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" } ] }, "description": "A list of additional processes for loading this output on different platforms." }, "required": { "title": "Required", "type": "boolean", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true } }, "description": "DAG integer output.\n\nThis output loads the content from a file as an integer." }, "DAGIntegerOutputAlias": { "title": "DAGIntegerOutputAlias", "required": [ "name", "platform", "handler", "from" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Output name." }, "platform": { "title": "Platform", "type": "array", "items": { "type": "string" }, "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." }, "handler": { "title": "Handler", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" }, "description": "List of process actions to process the input or output value." }, "from": { "title": "From", "anyOf": [ { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/FileReference" } ], "description": "Reference to a file or a task output. Task output must be file." }, "type": { "title": "Type", "pattern": "^DAGIntegerOutputAlias$", "type": "string", "default": "DAGIntegerOutputAlias", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for output." }, "required": { "title": "Required", "type": "boolean", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true } }, "description": "DAG alias integer output.\n\nThis output loads the content from a file as an integer." }, "DAGJSONObjectInput": { "title": "DAGJSONObjectInput", "required": [ "name" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Input name." }, "type": { "title": "Type", "pattern": "^DAGJSONObjectInput$", "type": "string", "default": "DAGJSONObjectInput", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for input." }, "default": { "title": "Default", "type": "object", "description": "Default value to use for an input if a value was not supplied." }, "alias": { "title": "Alias", "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" } ] }, "description": "A list of aliases for this input in different platforms." }, "required": { "title": "Required", "type": "boolean", "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 }, "spec": { "title": "Spec", "type": "object", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec." } }, "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." }, "DAGJSONObjectInputAlias": { "title": "DAGJSONObjectInputAlias", "required": [ "name", "platform", "handler" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Input name." }, "platform": { "title": "Platform", "type": "array", "items": { "type": "string" }, "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." }, "handler": { "title": "Handler", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" }, "description": "List of process actions to process the input or output value." }, "type": { "title": "Type", "pattern": "^DAGJSONObjectInputAlias$", "type": "string", "default": "DAGJSONObjectInputAlias", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for input." }, "default": { "title": "Default", "type": "object", "description": "Default value to use for an input if a value was not supplied." }, "required": { "title": "Required", "type": "boolean", "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 }, "spec": { "title": "Spec", "type": "object", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec." } }, "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." }, "DAGJSONObjectOutput": { "title": "DAGJSONObjectOutput", "required": [ "name", "from" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Output name." }, "from": { "title": "From", "anyOf": [ { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/FileReference" } ], "description": "Reference to a file or a task output. Task output must be file." }, "type": { "title": "Type", "pattern": "^DAGJSONObjectOutput$", "type": "string", "default": "DAGJSONObjectOutput", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for output." }, "alias": { "title": "Alias", "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" } ] }, "description": "A list of additional processes for loading this output on different platforms." }, "required": { "title": "Required", "type": "boolean", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true } }, "description": "DAG object output.\n\nThis output loads the content from a file as a JSON object." }, "DAGJSONObjectOutputAlias": { "title": "DAGJSONObjectOutputAlias", "required": [ "name", "platform", "handler", "from" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Output name." }, "platform": { "title": "Platform", "type": "array", "items": { "type": "string" }, "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." }, "handler": { "title": "Handler", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" }, "description": "List of process actions to process the input or output value." }, "from": { "title": "From", "anyOf": [ { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/FileReference" } ], "description": "Reference to a file or a task output. Task output must be file." }, "type": { "title": "Type", "pattern": "^DAGJSONObjectOutputAlias$", "type": "string", "default": "DAGJSONObjectOutputAlias", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for output." }, "required": { "title": "Required", "type": "boolean", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true } }, "description": "DAG alias object output.\n\nThis output loads the content from a file as a JSON object." }, "DAGLinkedInputAlias": { "title": "DAGLinkedInputAlias", "required": [ "name", "platform", "handler" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Input name." }, "platform": { "title": "Platform", "type": "array", "items": { "type": "string" }, "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." }, "handler": { "title": "Handler", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" }, "description": "List of process actions to process the input or output value." }, "type": { "title": "Type", "pattern": "^DAGLinkedInputAlias$", "type": "string", "default": "DAGLinkedInputAlias", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for input." }, "default": { "title": "Default", "type": "string", "description": "Default value for generic input." }, "required": { "title": "Required", "type": "boolean", "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 }, "spec": { "title": "Spec", "type": "object", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec." } }, "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." }, "DAGLinkedOutputAlias": { "title": "DAGLinkedOutputAlias", "required": [ "name", "platform", "handler" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Output name." }, "platform": { "title": "Platform", "type": "array", "items": { "type": "string" }, "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." }, "handler": { "title": "Handler", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" }, "description": "List of process actions to process the input or output value." }, "type": { "title": "Type", "pattern": "^DAGLinkedOutputAlias$", "type": "string", "default": "DAGLinkedOutputAlias", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for output." } }, "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." }, "DAGNumberInput": { "title": "DAGNumberInput", "required": [ "name" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Input name." }, "type": { "title": "Type", "pattern": "^DAGNumberInput$", "type": "string", "default": "DAGNumberInput", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for input." }, "default": { "title": "Default", "type": "number", "description": "Default value to use for an input if a value was not supplied.", "format": "double" }, "alias": { "title": "Alias", "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" } ] }, "description": "A list of aliases for this input in different platforms." }, "required": { "title": "Required", "type": "boolean", "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 }, "spec": { "title": "Spec", "type": "object", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec." } }, "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." }, "DAGNumberInputAlias": { "title": "DAGNumberInputAlias", "required": [ "name", "platform", "handler" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Input name." }, "platform": { "title": "Platform", "type": "array", "items": { "type": "string" }, "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." }, "handler": { "title": "Handler", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" }, "description": "List of process actions to process the input or output value." }, "type": { "title": "Type", "pattern": "^DAGNumberInputAlias$", "type": "string", "default": "DAGNumberInputAlias", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for input." }, "default": { "title": "Default", "type": "number", "description": "Default value to use for an input if a value was not supplied.", "format": "double" }, "required": { "title": "Required", "type": "boolean", "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 }, "spec": { "title": "Spec", "type": "object", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec." } }, "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." }, "DAGNumberOutput": { "title": "DAGNumberOutput", "required": [ "name", "from" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Output name." }, "from": { "title": "From", "anyOf": [ { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/FileReference" } ], "description": "Reference to a file or a task output. Task output must be file." }, "type": { "title": "Type", "pattern": "^DAGNumberOutput$", "type": "string", "default": "DAGNumberOutput", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for output." }, "alias": { "title": "Alias", "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" } ] }, "description": "A list of additional processes for loading this output on different platforms." }, "required": { "title": "Required", "type": "boolean", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true } }, "description": "DAG number output.\n\nThis output loads the content from a file as a floating number." }, "DAGNumberOutputAlias": { "title": "DAGNumberOutputAlias", "required": [ "name", "platform", "handler", "from" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Output name." }, "platform": { "title": "Platform", "type": "array", "items": { "type": "string" }, "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." }, "handler": { "title": "Handler", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" }, "description": "List of process actions to process the input or output value." }, "from": { "title": "From", "anyOf": [ { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/FileReference" } ], "description": "Reference to a file or a task output. Task output must be file." }, "type": { "title": "Type", "pattern": "^DAGNumberOutputAlias$", "type": "string", "default": "DAGNumberOutputAlias", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for output." }, "required": { "title": "Required", "type": "boolean", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true } }, "description": "DAG alias number output.\n\nThis output loads the content from a file as a floating number." }, "DAGPathInput": { "title": "DAGPathInput", "required": [ "name" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Input name." }, "type": { "title": "Type", "pattern": "^DAGPathInput$", "type": "string", "default": "DAGPathInput", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for input." }, "default": { "title": "Default", "anyOf": [ { "$ref": "#/components/schemas/HTTP" }, { "$ref": "#/components/schemas/S3" }, { "$ref": "#/components/schemas/ProjectFolder" } ], "description": "The default source for file if the value is not provided." }, "alias": { "title": "Alias", "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" } ] }, "description": "A list of aliases for this input in different platforms." }, "required": { "title": "Required", "type": "boolean", "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 }, "spec": { "title": "Spec", "type": "object", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec." }, "extensions": { "title": "Extensions", "type": "array", "items": { "type": "string" }, "description": "Optional list of extensions for path. The check for extension is case-insensitive. The extension will only be validated for file inputs." } }, "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 }" }, "DAGPathInputAlias": { "title": "DAGPathInputAlias", "required": [ "name", "platform", "handler" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Input name." }, "platform": { "title": "Platform", "type": "array", "items": { "type": "string" }, "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." }, "handler": { "title": "Handler", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" }, "description": "List of process actions to process the input or output value." }, "type": { "title": "Type", "pattern": "^DAGPathInputAlias$", "type": "string", "default": "DAGPathInputAlias", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for input." }, "default": { "title": "Default", "anyOf": [ { "$ref": "#/components/schemas/HTTP" }, { "$ref": "#/components/schemas/S3" }, { "$ref": "#/components/schemas/ProjectFolder" } ], "description": "The default source for file if the value is not provided." }, "required": { "title": "Required", "type": "boolean", "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 }, "spec": { "title": "Spec", "type": "object", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec." }, "extensions": { "title": "Extensions", "type": "array", "items": { "type": "string" }, "description": "Optional list of extensions for path. The check for extension is case-insensitive. The extension will only be validated for file inputs." } }, "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 }" }, "DAGPathOutput": { "title": "DAGPathOutput", "required": [ "name", "from" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Output name." }, "from": { "title": "From", "anyOf": [ { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/FileReference" }, { "$ref": "#/components/schemas/FolderReference" } ], "description": "Reference to a file, folder or a task output. Task output must either be a file or a folder." }, "type": { "title": "Type", "pattern": "^DAGPathOutput$", "type": "string", "default": "DAGPathOutput", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for output." }, "alias": { "title": "Alias", "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" } ] }, "description": "A list of additional processes for loading this output on different platforms." }, "required": { "title": "Required", "type": "boolean", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true } }, "description": "DAG path output." }, "DAGPathOutputAlias": { "title": "DAGPathOutputAlias", "required": [ "name", "platform", "handler", "from" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Output name." }, "platform": { "title": "Platform", "type": "array", "items": { "type": "string" }, "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." }, "handler": { "title": "Handler", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" }, "description": "List of process actions to process the input or output value." }, "from": { "title": "From", "anyOf": [ { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/FileReference" }, { "$ref": "#/components/schemas/FolderReference" } ], "description": "Reference to a file, folder or a task output. Task output must either be a file or a folder." }, "type": { "title": "Type", "pattern": "^DAGPathOutputAlias$", "type": "string", "default": "DAGPathOutputAlias", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for output." }, "required": { "title": "Required", "type": "boolean", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true } }, "description": "DAG alias path output." }, "DAGStringInput": { "title": "DAGStringInput", "required": [ "name" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Input name." }, "type": { "title": "Type", "pattern": "^DAGStringInput$", "type": "string", "default": "DAGStringInput", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for input." }, "default": { "title": "Default", "type": "string", "description": "Default value to use for an input if a value was not supplied." }, "alias": { "title": "Alias", "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" } ] }, "description": "A list of aliases for this input in different platforms." }, "required": { "title": "Required", "type": "boolean", "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 }, "spec": { "title": "Spec", "type": "object", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec." } }, "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 }" }, "DAGStringInputAlias": { "title": "DAGStringInputAlias", "required": [ "name", "platform", "handler" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Input name." }, "platform": { "title": "Platform", "type": "array", "items": { "type": "string" }, "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." }, "handler": { "title": "Handler", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" }, "description": "List of process actions to process the input or output value." }, "type": { "title": "Type", "pattern": "^DAGStringInputAlias$", "type": "string", "default": "DAGStringInputAlias", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for input." }, "default": { "title": "Default", "type": "string", "description": "Default value to use for an input if a value was not supplied." }, "required": { "title": "Required", "type": "boolean", "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 }, "spec": { "title": "Spec", "type": "object", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec." } }, "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 }" }, "DAGStringOutput": { "title": "DAGStringOutput", "required": [ "name", "from" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Output name." }, "from": { "title": "From", "anyOf": [ { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/FileReference" } ], "description": "Reference to a file or a task output. Task output must be file." }, "type": { "title": "Type", "pattern": "^DAGStringOutput$", "type": "string", "default": "DAGStringOutput", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for output." }, "alias": { "title": "Alias", "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" } ] }, "description": "A list of additional processes for loading this output on different platforms." }, "required": { "title": "Required", "type": "boolean", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true } }, "description": "DAG string output.\n\nThis output loads the content from a file as a string." }, "DAGStringOutputAlias": { "title": "DAGStringOutputAlias", "required": [ "name", "platform", "handler", "from" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Output name." }, "platform": { "title": "Platform", "type": "array", "items": { "type": "string" }, "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." }, "handler": { "title": "Handler", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" }, "description": "List of process actions to process the input or output value." }, "from": { "title": "From", "anyOf": [ { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/FileReference" } ], "description": "Reference to a file or a task output. Task output must be file." }, "type": { "title": "Type", "pattern": "^DAGStringOutputAlias$", "type": "string", "default": "DAGStringOutputAlias", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for output." }, "required": { "title": "Required", "type": "boolean", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true } }, "description": "DAG alias string output.\n\nThis output loads the content from a file as a string." }, "DAGTask": { "title": "DAGTask", "required": [ "name", "template" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Name for this task. It must be unique in a DAG." }, "template": { "title": "Template", "type": "string", "description": "Template name. A template is a Function or a DAG. This template must be available in the dependencies." }, "type": { "title": "Type", "pattern": "^DAGTask$", "type": "string", "default": "DAGTask", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "needs": { "title": "Needs", "type": "array", "items": { "type": "string" }, "description": "List of DAG tasks that this task depends on and needs to be executed before this task." }, "arguments": { "title": "Arguments", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/TaskArgument" }, { "$ref": "#/components/schemas/TaskPathArgument" } ] }, "description": "The input arguments for this task." }, "loop": { "title": "Loop", "allOf": [ { "$ref": "#/components/schemas/DAGTaskLoop" } ], "description": "Loop configuration for this task." }, "sub_folder": { "title": "Sub Folder", "type": "string", "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." }, "returns": { "title": "Returns", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/TaskReturn" }, { "$ref": "#/components/schemas/TaskPathReturn" } ] }, "description": "List of task returns." } }, "description": "A single task in a DAG flow." }, "DAGTaskLoop": { "title": "DAGTaskLoop", "type": "object", "properties": { "type": { "title": "Type", "pattern": "^DAGTaskLoop$", "type": "string", "default": "DAGTaskLoop", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "from": { "title": "From", "anyOf": [ { "$ref": "#/components/schemas/InputReference" }, { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/ValueListReference" } ], "description": "The task or DAG parameter to loop over (must be iterable)." } }, "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." }, "Dependency": { "title": "Dependency", "required": [ "kind", "name", "tag", "source" ], "type": "object", "properties": { "kind": { "allOf": [ { "$ref": "#/components/schemas/DependencyKind" } ], "description": "The kind of dependency. It can be a recipe or an plugin." }, "name": { "title": "Name", "type": "string", "description": "Workflow name. This name should be unique among all the resources in your resource. Use an alias if this is not the case." }, "tag": { "title": "Tag", "type": "string", "description": "Tag of the resource." }, "source": { "title": "Source", "type": "string", "description": "URL to a repository where this resource can be found." }, "type": { "title": "Type", "pattern": "^Dependency$", "type": "string", "default": "Dependency", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "hash": { "title": "Hash", "type": "string", "description": "The digest hash of the dependency when retrieved from its source. This is locked when the resource dependencies are downloaded." }, "alias": { "title": "Alias", "type": "string", "description": "An optional alias to refer to this dependency. Useful if the name is already used somewhere else." } }, "description": "Configuration to fetch a Recipe or Plugin that another Recipe depends on." }, "DependencyKind": { "title": "DependencyKind", "enum": [ "recipe", "plugin" ], "type": "string", "description": "Dependency kind." }, "DockerConfig": { "title": "DockerConfig", "required": [ "image", "workdir" ], "type": "object", "properties": { "image": { "title": "Image", "type": "string", "description": "Docker image name. Must include tag." }, "workdir": { "title": "Workdir", "type": "string", "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": { "title": "Type", "pattern": "^DockerConfig", "type": "string", "default": "DockerConfig", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "registry": { "title": "Registry", "type": "string", "description": "The container registry URLs that this container should be pulled from. Will default to Dockerhub if none is specified." } }, "description": "Plugin Configuration to run in a Docker container" }, "FileMeta": { "title": "FileMeta", "required": [ "key", "file_type", "file_name" ], "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" } } }, "FileReference": { "title": "FileReference", "required": [ "path" ], "type": "object", "properties": { "path": { "title": "Path", "type": "string", "description": "Relative path to a file." }, "type": { "title": "Type", "pattern": "^FileReference$", "type": "string", "default": "FileReference", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." } }, "description": "Reference to a file." }, "FolderReference": { "title": "FolderReference", "required": [ "path" ], "type": "object", "properties": { "path": { "title": "Path", "type": "string", "description": "Relative path to a folder." }, "type": { "title": "Type", "pattern": "^FolderReference$", "type": "string", "default": "FolderReference", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." } }, "description": "Reference to a folder." }, "Function": { "title": "Function", "required": [ "name", "command" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Function name. Must be unique within a plugin." }, "command": { "title": "Command", "type": "string", "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": { "title": "Type", "pattern": "^Function$", "type": "string", "default": "Function", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "inputs": { "title": "Inputs", "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" } ] }, "description": "Input arguments for this function." }, "outputs": { "title": "Outputs", "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": "List of output arguments." }, "description": { "title": "Description", "type": "string", "description": "Function description. A short human readable description for this function." } }, "description": "A Function with a single command" }, "FunctionArrayInput": { "title": "FunctionArrayInput", "required": [ "name" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Input name." }, "type": { "title": "Type", "pattern": "^FunctionArrayInput$", "type": "string", "default": "FunctionArrayInput", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for input." }, "default": { "title": "Default", "type": "array", "items": {}, "description": "Default value to use for an input if a value was not supplied." }, "alias": { "title": "Alias", "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" } ] }, "description": "A list of aliases for this input in different platforms." }, "required": { "title": "Required", "type": "boolean", "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 }, "spec": { "title": "Spec", "type": "object", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec." }, "items_type": { "allOf": [ { "$ref": "#/components/schemas/ItemType" } ], "description": "Type of items in an array. All the items in an array must be from the same type.", "default": "String" } }, "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." }, "FunctionArrayOutput": { "title": "FunctionArrayOutput", "required": [ "name", "path" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Output name." }, "path": { "title": "Path", "type": "string", "description": "Path to the output file relative to where the function command is executed." }, "type": { "title": "Type", "pattern": "^FunctionArrayOutput$", "type": "string", "default": "FunctionArrayOutput", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for output." }, "required": { "title": "Required", "type": "boolean", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true }, "items_type": { "allOf": [ { "$ref": "#/components/schemas/ItemType" } ], "description": "Type of items in this array. All the items in an array must be from the same type.", "default": "String" } }, "description": "Function array output.\n\nThis output loads the content from a JSON file which must be a JSON Array." }, "FunctionBooleanInput": { "title": "FunctionBooleanInput", "required": [ "name" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Input name." }, "type": { "title": "Type", "pattern": "^FunctionBooleanInput$", "type": "string", "default": "FunctionBooleanInput", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for input." }, "default": { "title": "Default", "type": "boolean", "description": "Default value to use for an input if a value was not supplied." }, "alias": { "title": "Alias", "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" } ] }, "description": "A list of aliases for this input in different platforms." }, "required": { "title": "Required", "type": "boolean", "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 }, "spec": { "title": "Spec", "type": "object", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec." } }, "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." }, "FunctionBooleanOutput": { "title": "FunctionBooleanOutput", "required": [ "name", "path" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Output name." }, "path": { "title": "Path", "type": "string", "description": "Path to the output file relative to where the function command is executed." }, "type": { "title": "Type", "pattern": "^FunctionBooleanOutput$", "type": "string", "default": "FunctionBooleanOutput", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for output." }, "required": { "title": "Required", "type": "boolean", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true } }, "description": "Function boolean output.\n\nThis output loads the content from a file as a boolean." }, "FunctionFileInput": { "title": "FunctionFileInput", "required": [ "name", "path" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Input name." }, "path": { "title": "Path", "type": "string", "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": { "title": "Type", "pattern": "^FunctionFileInput$", "type": "string", "default": "FunctionFileInput", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for input." }, "default": { "title": "Default", "anyOf": [ { "$ref": "#/components/schemas/HTTP" }, { "$ref": "#/components/schemas/S3" }, { "$ref": "#/components/schemas/ProjectFolder" } ], "description": "The default source for file if the value is not provided." }, "alias": { "title": "Alias", "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" } ] }, "description": "A list of aliases for this input in different platforms." }, "required": { "title": "Required", "type": "boolean", "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 }, "spec": { "title": "Spec", "type": "object", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec." }, "extensions": { "title": "Extensions", "type": "array", "items": { "type": "string" }, "description": "Optional list of extensions for file. The check for extension is case-insensitive." } }, "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 }" }, "FunctionFileOutput": { "title": "FunctionFileOutput", "required": [ "name", "path" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Output name." }, "path": { "title": "Path", "type": "string", "description": "Path to the output file relative to where the function command is executed." }, "type": { "title": "Type", "pattern": "^FunctionFileOutput$", "type": "string", "default": "FunctionFileOutput", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for output." }, "required": { "title": "Required", "type": "boolean", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true } }, "description": "Function File output." }, "FunctionFolderInput": { "title": "FunctionFolderInput", "required": [ "name", "path" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Input name." }, "path": { "title": "Path", "type": "string", "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": { "title": "Type", "pattern": "^FunctionFolderInput$", "type": "string", "default": "FunctionFolderInput", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for input." }, "default": { "title": "Default", "anyOf": [ { "$ref": "#/components/schemas/HTTP" }, { "$ref": "#/components/schemas/S3" }, { "$ref": "#/components/schemas/ProjectFolder" } ], "description": "The default source for file if the value is not provided." }, "alias": { "title": "Alias", "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" } ] }, "description": "A list of aliases for this input in different platforms." }, "required": { "title": "Required", "type": "boolean", "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 }, "spec": { "title": "Spec", "type": "object", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec." } }, "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 }" }, "FunctionFolderOutput": { "title": "FunctionFolderOutput", "required": [ "name", "path" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Output name." }, "path": { "title": "Path", "type": "string", "description": "Path to the output folder relative to where the function command is executed." }, "type": { "title": "Type", "pattern": "^FunctionFolderOutput$", "type": "string", "default": "FunctionFolderOutput", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for output." }, "required": { "title": "Required", "type": "boolean", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true } }, "description": "Function Folder output." }, "FunctionIntegerInput": { "title": "FunctionIntegerInput", "required": [ "name" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Input name." }, "type": { "title": "Type", "pattern": "^FunctionIntegerInput$", "type": "string", "default": "FunctionIntegerInput", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for input." }, "default": { "title": "Default", "type": "integer", "description": "Default value to use for an input if a value was not supplied.", "format": "int32" }, "alias": { "title": "Alias", "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" } ] }, "description": "A list of aliases for this input in different platforms." }, "required": { "title": "Required", "type": "boolean", "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 }, "spec": { "title": "Spec", "type": "object", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec." } }, "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." }, "FunctionIntegerOutput": { "title": "FunctionIntegerOutput", "required": [ "name", "path" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Output name." }, "path": { "title": "Path", "type": "string", "description": "Path to the output file relative to where the function command is executed." }, "type": { "title": "Type", "pattern": "^FunctionIntegerOutput$", "type": "string", "default": "FunctionIntegerOutput", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for output." }, "required": { "title": "Required", "type": "boolean", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true } }, "description": "Function integer output.\n\nThis output loads the content from a file as an integer." }, "FunctionJSONObjectInput": { "title": "FunctionJSONObjectInput", "required": [ "name" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Input name." }, "type": { "title": "Type", "pattern": "^FunctionJSONObjectInput$", "type": "string", "default": "FunctionJSONObjectInput", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for input." }, "default": { "title": "Default", "type": "object", "description": "Default value to use for an input if a value was not supplied." }, "alias": { "title": "Alias", "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" } ] }, "description": "A list of aliases for this input in different platforms." }, "required": { "title": "Required", "type": "boolean", "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 }, "spec": { "title": "Spec", "type": "object", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec." } }, "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." }, "FunctionJSONObjectOutput": { "title": "FunctionJSONObjectOutput", "required": [ "name", "path" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Output name." }, "path": { "title": "Path", "type": "string", "description": "Path to the output file relative to where the function command is executed." }, "type": { "title": "Type", "pattern": "^FunctionJSONObjectOutput$", "type": "string", "default": "FunctionJSONObjectOutput", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for output." }, "required": { "title": "Required", "type": "boolean", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true } }, "description": "Function object output.\n\nThis output loads the content from a file as a JSON object." }, "FunctionNumberInput": { "title": "FunctionNumberInput", "required": [ "name" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Input name." }, "type": { "title": "Type", "pattern": "^FunctionNumberInput$", "type": "string", "default": "FunctionNumberInput", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for input." }, "default": { "title": "Default", "type": "number", "description": "Default value to use for an input if a value was not supplied.", "format": "double" }, "alias": { "title": "Alias", "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" } ] }, "description": "A list of aliases for this input in different platforms." }, "required": { "title": "Required", "type": "boolean", "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 }, "spec": { "title": "Spec", "type": "object", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec." } }, "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." }, "FunctionNumberOutput": { "title": "FunctionNumberOutput", "required": [ "name", "path" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Output name." }, "path": { "title": "Path", "type": "string", "description": "Path to the output file relative to where the function command is executed." }, "type": { "title": "Type", "pattern": "^FunctionNumberOutput$", "type": "string", "default": "FunctionNumberOutput", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for output." }, "required": { "title": "Required", "type": "boolean", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true } }, "description": "Function number output.\n\nThis output loads the content from a file as a floating number." }, "FunctionPathInput": { "title": "FunctionPathInput", "required": [ "name", "path" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Input name." }, "path": { "title": "Path", "type": "string", "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": { "title": "Type", "pattern": "^FunctionPathInput$", "type": "string", "default": "FunctionPathInput", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for input." }, "default": { "title": "Default", "anyOf": [ { "$ref": "#/components/schemas/HTTP" }, { "$ref": "#/components/schemas/S3" }, { "$ref": "#/components/schemas/ProjectFolder" } ], "description": "The default source for file if the value is not provided." }, "alias": { "title": "Alias", "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" } ] }, "description": "A list of aliases for this input in different platforms." }, "required": { "title": "Required", "type": "boolean", "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 }, "spec": { "title": "Spec", "type": "object", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec." }, "extensions": { "title": "Extensions", "type": "array", "items": { "type": "string" }, "description": "Optional list of extensions for file. The check for extension is case-insensitive." } }, "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 }" }, "FunctionPathOutput": { "title": "FunctionPathOutput", "required": [ "name", "path" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Output name." }, "path": { "title": "Path", "type": "string", "description": "Path to the output file or folder relative to where the function command is executed." }, "type": { "title": "Type", "pattern": "^FunctionPathOutput$", "type": "string", "default": "FunctionPathOutput", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for output." }, "required": { "title": "Required", "type": "boolean", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true } }, "description": "Function Path output." }, "FunctionStringInput": { "title": "FunctionStringInput", "required": [ "name" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Input name." }, "type": { "title": "Type", "pattern": "^FunctionStringInput$", "type": "string", "default": "FunctionStringInput", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for input." }, "default": { "title": "Default", "type": "string", "description": "Default value to use for an input if a value was not supplied." }, "alias": { "title": "Alias", "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" } ] }, "description": "A list of aliases for this input in different platforms." }, "required": { "title": "Required", "type": "boolean", "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 }, "spec": { "title": "Spec", "type": "object", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec." } }, "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 }" }, "FunctionStringOutput": { "title": "FunctionStringOutput", "required": [ "name", "path" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Output name." }, "path": { "title": "Path", "type": "string", "description": "Path to the output file relative to where the function command is executed." }, "type": { "title": "Type", "pattern": "^FunctionStringOutput$", "type": "string", "default": "FunctionStringOutput", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for output." }, "required": { "title": "Required", "type": "boolean", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true } }, "description": "Function string output.\n\nThis output loads the content from a file as a string." }, "HTTP": { "title": "HTTP", "required": [ "url" ], "type": "object", "properties": { "url": { "title": "Url", "type": "string", "description": "For a HTTP endpoint this can be http://climate.onebuilding.org." }, "type": { "title": "Type", "pattern": "^HTTP$", "type": "string", "default": "HTTP", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." } }, "description": "HTTP Source\n\nA web HTTP to an FTP server or an API for example." }, "HTTPValidationError": { "title": "HTTPValidationError", "type": "object", "properties": { "detail": { "title": "Detail", "type": "array", "items": { "$ref": "#/components/schemas/ValidationError" } } } }, "IOAliasHandler": { "title": "IOAliasHandler", "required": [ "language", "module", "function" ], "type": "object", "properties": { "language": { "title": "Language", "type": "string", "description": "Declare the language (e.g. python, csharp, etc.). This option allows the recipe to be flexible on handling different programming languages." }, "module": { "title": "Module", "type": "string", "description": "Target module or namespace to load the alias function.", "example": "honeybee_rhino.handlers" }, "function": { "title": "Function", "type": "string", "description": "Name of the function. The input value will be passed to this function as the first argument." }, "type": { "title": "Type", "pattern": "^IOAliasHandler$", "type": "string", "default": "IOAliasHandler", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." } }, "description": "Input and output alias handler object." }, "InputFileReference": { "title": "InputFileReference", "required": [ "variable" ], "type": "object", "properties": { "variable": { "title": "Variable", "type": "string", "description": "The name of the DAG input variable" }, "type": { "title": "Type", "pattern": "^InputFileReference$", "type": "string", "default": "InputFileReference", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." } }, "description": "An input file reference" }, "InputFolderReference": { "title": "InputFolderReference", "required": [ "variable" ], "type": "object", "properties": { "variable": { "title": "Variable", "type": "string", "description": "The name of the DAG input variable" }, "type": { "title": "Type", "pattern": "^InputFolderReference$", "type": "string", "default": "InputFolderReference", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." } }, "description": "An input folder reference" }, "InputPathReference": { "title": "InputPathReference", "required": [ "variable" ], "type": "object", "properties": { "variable": { "title": "Variable", "type": "string", "description": "The name of the DAG input variable" }, "type": { "title": "Type", "pattern": "^InputPathReference$", "type": "string", "default": "InputPathReference", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." } }, "description": "An input file or folder reference" }, "InputReference": { "title": "InputReference", "required": [ "variable" ], "type": "object", "properties": { "variable": { "title": "Variable", "type": "string", "description": "The name of the DAG input variable" }, "type": { "title": "Type", "pattern": "^InputReference$", "type": "string", "default": "InputReference", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." } }, "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." }, "ItemReference": { "title": "ItemReference", "type": "object", "properties": { "type": { "title": "Type", "pattern": "^ItemReference$", "type": "string", "default": "ItemReference", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "variable": { "title": "Variable", "type": "string", "description": "The name of the looped item variable (use dot notation for nested json values)" } }, "description": "An Item Reference." }, "ItemType": { "title": "ItemType", "enum": [ "Generic", "String", "Integer", "Number", "Boolean", "Array", "JSONObject" ], "type": "string", "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." }, "Job": { "title": "Job", "required": [ "source" ], "type": "object", "properties": { "source": { "title": "Source", "type": "string", "description": "The source url for downloading the recipe." }, "type": { "title": "Type", "pattern": "^Job$", "type": "string", "default": "Job", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "api_version": { "title": "Api Version", "pattern": "^v1beta1$", "type": "string", "default": "v1beta1", "readOnly": true }, "arguments": { "title": "Arguments", "type": "array", "items": { "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/JobArgument" }, { "$ref": "#/components/schemas/JobPathArgument" } ] } }, "description": "Input arguments for this job." }, "name": { "title": "Name", "type": "string", "description": "An optional name for this job. This name will be used a the display name for the run." }, "description": { "title": "Description", "type": "string", "description": "Run description." }, "labels": { "title": "Labels", "type": "object", "additionalProperties": { "type": "string" }, "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." } }, "description": "Queenbee Job.\n\nA Job is an object to submit a list of arguments to execute a Queenbee recipe." }, "JobArgument": { "title": "JobArgument", "required": [ "name", "value" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Argument name. The name must match one of the input names from Job's DAG template." }, "value": { "title": "Value", "description": "The value of the job argument." }, "type": { "title": "Type", "pattern": "^JobArgument$", "type": "string", "default": "JobArgument", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." } }, "description": "Job argument is an argument input for arguments which are not files or folders." }, "JobPathArgument": { "title": "JobPathArgument", "required": [ "name", "source" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Argument name. The name must match one of the input names from Job's template which can be a function or DAG." }, "source": { "title": "Source", "anyOf": [ { "$ref": "#/components/schemas/HTTP" }, { "$ref": "#/components/schemas/S3" }, { "$ref": "#/components/schemas/ProjectFolder" } ], "description": "The path to source the file from." }, "type": { "title": "Type", "pattern": "^JobPathArgument$", "type": "string", "default": "JobPathArgument", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." } }, "description": "BaseModel with functionality to return the object as a yaml string." }, "JobStatus": { "title": "JobStatus", "required": [ "id", "started_at" ], "type": "object", "properties": { "id": { "title": "Id", "type": "string", "description": "The ID of the individual job." }, "started_at": { "title": "Started At", "type": "string", "description": "The time at which the job was started", "format": "date-time" }, "type": { "title": "Type", "pattern": "^JobStatus$", "type": "string", "default": "JobStatus", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "api_version": { "title": "Api Version", "pattern": "^v1beta1$", "type": "string", "default": "v1beta1", "readOnly": true }, "status": { "allOf": [ { "$ref": "#/components/schemas/JobStatusEnum" } ], "description": "The status of this job.", "default": "Unknown" }, "message": { "title": "Message", "type": "string", "description": "Any message produced by the job. Usually error/debugging hints." }, "finished_at": { "title": "Finished At", "type": "string", "description": "The time at which the task was completed", "format": "date-time" }, "source": { "title": "Source", "type": "string", "description": "Source url for the status object. It can be a recipe or a function." }, "runs_pending": { "title": "Runs Pending", "type": "integer", "description": "The count of runs that are pending", "default": 0, "format": "int32" }, "runs_running": { "title": "Runs Running", "type": "integer", "description": "The count of runs that are running", "default": 0, "format": "int32" }, "runs_completed": { "title": "Runs Completed", "type": "integer", "description": "The count of runs that have completed", "default": 0, "format": "int32" }, "runs_failed": { "title": "Runs Failed", "type": "integer", "description": "The count of runs that have failed", "default": 0, "format": "int32" } }, "description": "Parametric Job Status." }, "JobStatusEnum": { "title": "JobStatusEnum", "enum": [ "Created", "Pre-Processing", "Running", "Failed", "Cancelled", "Completed", "Unknown" ], "type": "string", "description": "Enumaration of allowable status strings" }, "KeyRequest": { "title": "KeyRequest", "required": [ "key" ], "type": "object", "properties": { "key": { "title": "Key", "type": "string" } } }, "License": { "title": "License", "required": [ "name" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "The license name used for the package." }, "type": { "title": "Type", "pattern": "^License$", "type": "string", "default": "License", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "url": { "title": "Url", "maxLength": 65536, "minLength": 1, "type": "string", "description": "A URL to the license used for the package.", "format": "uri" } }, "description": "License information for the Package" }, "LocalConfig": { "title": "LocalConfig", "type": "object", "properties": { "type": { "title": "Type", "pattern": "^LocalConfig", "type": "string", "default": "LocalConfig", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." } }, "description": "Plugin Configuration to run on a desktop." }, "Maintainer": { "title": "Maintainer", "required": [ "name" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "The name of the author/maintainer person or organization." }, "type": { "title": "Type", "pattern": "^Maintainer$", "type": "string", "default": "Maintainer", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "email": { "title": "Email", "type": "string", "description": "The email address of the author/maintainer person or organization." } }, "description": "Maintainer information" }, "MetaData": { "title": "MetaData", "required": [ "name", "tag" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Package name. Make it descriptive and helpful ;)" }, "tag": { "title": "Tag", "type": "string", "description": "The tag of the package" }, "type": { "title": "Type", "pattern": "^MetaData$", "type": "string", "default": "MetaData", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "app_version": { "title": "App Version", "type": "string", "description": "The version of the application code underlying the manifest" }, "keywords": { "title": "Keywords", "type": "array", "items": { "type": "string" }, "description": "A list of keywords to search the package by" }, "maintainers": { "title": "Maintainers", "type": "array", "items": { "$ref": "#/components/schemas/Maintainer" }, "description": "A list of maintainers for the package" }, "home": { "title": "Home", "type": "string", "description": "The URL of this package's home page" }, "sources": { "title": "Sources", "type": "array", "items": { "type": "string" }, "description": "A list of URLs to source code for this project" }, "icon": { "title": "Icon", "type": "string", "description": "A URL to an SVG or PNG image to be used as an icon" }, "deprecated": { "title": "Deprecated", "type": "boolean", "description": "Whether this package is deprecated" }, "description": { "title": "Description", "type": "string", "description": "A description of what this package does" }, "license": { "title": "License", "allOf": [ { "$ref": "#/components/schemas/License" } ], "description": "The license information." } }, "description": "Package metadata information." }, "NewPluginPackage": { "title": "NewPluginPackage", "required": [ "manifest" ], "type": "object", "properties": { "manifest": { "title": "Manifest", "allOf": [ { "$ref": "#/components/schemas/Plugin" } ], "description": "The Plugin manifest to be created" }, "readme": { "title": "Readme", "type": "string", "description": "The README file to attach to this package", "default": "" } } }, "NewRecipePackage": { "title": "NewRecipePackage", "required": [ "manifest" ], "type": "object", "properties": { "manifest": { "title": "Manifest", "allOf": [ { "$ref": "#/components/schemas/Recipe" } ], "description": "The Recipe manifest to be created" }, "readme": { "title": "Readme", "type": "string", "description": "The README file to attach to this package", "default": "" } } }, "Organization": { "title": "Organization", "required": [ "id", "owner" ], "type": "object", "properties": { "id": { "title": "Id", "type": "string", "description": "The org ID", "example": "1eb8e60d-771d-4a30-8078-fe553eb2f0bc" }, "owner": { "title": "Owner", "allOf": [ { "$ref": "#/components/schemas/AccountPublic" } ], "description": "The account the organization represents", "example": { "id": "e4d0d922-2031-4b39-94d2-aa6d584d6bb2", "type": "org", "name": "ladybug-tools" } }, "name": { "title": "Name", "type": "string", "description": "The display name for this org", "example": "Ladybug Tools" }, "picture_url": { "title": "Picture Url", "type": "string", "description": "URL to the picture associated with this org", "example": "https://avatars1.githubusercontent.com/u/38131342" }, "contact_email": { "title": "Contact Email", "type": "string", "description": "The contact email for the Organization", "example": "info@ladybug.tools" }, "description": { "title": "Description", "type": "string", "description": "A description of the org", "example": "Making environmental design knowledge and tools freely accessible to every person, project and design process" }, "role": { "allOf": [ { "$ref": "#/components/schemas/OrganizationRoleEnum" } ], "description": "The role the user has within the organization", "example": "member" }, "member_count": { "title": "Member Count", "type": "integer", "description": "The number of members that are part of this org", "default": 0, "example": 10, "format": "int32" }, "team_count": { "title": "Team Count", "type": "integer", "description": "The number of teams that are part of this org", "default": 0, "example": 3, "format": "int32" } } }, "OrganizationCreate": { "title": "OrganizationCreate", "required": [ "account_name", "name", "picture_url", "contact_email" ], "type": "object", "properties": { "account_name": { "title": "Account Name", "type": "string", "description": "The unique name of the org in small case without spaces", "example": "ladybug-tools" }, "name": { "title": "Name", "type": "string", "description": "The display name for this org", "example": "Ladybug Tools" }, "picture_url": { "title": "Picture Url", "type": "string", "description": "URL to the picture associated with this org", "example": "https://avatars1.githubusercontent.com/u/38131342" }, "contact_email": { "title": "Contact Email", "type": "string", "description": "The contact email for the Organization", "example": "info@ladybug.tools" }, "description": { "title": "Description", "type": "string", "description": "A description of the org", "example": "Making environmental design knowledge and tools freely accessible to every person, project and design process" } } }, "OrganizationList": { "title": "OrganizationList", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "type": "object", "properties": { "page": { "title": "Page", "type": "integer", "description": "The current page the pagination request is on", "format": "int32" }, "per_page": { "title": "Per Page", "type": "integer", "description": "The number of pages per pagination request", "format": "int32" }, "page_count": { "title": "Page Count", "type": "integer", "description": "The total number of pages", "format": "int32" }, "total_count": { "title": "Total Count", "type": "integer", "description": "The total number of resources matching the list request", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/Organization" } }, "next_page": { "title": "Next Page", "type": "integer", "description": "The next page, if this on is not the last", "format": "int32" } }, "description": "A list response from a pagination request" }, "OrganizationMember": { "title": "OrganizationMember", "required": [ "user", "role" ], "type": "object", "properties": { "user": { "title": "User", "allOf": [ { "$ref": "#/components/schemas/UserPublic" } ], "description": "The organization member" }, "role": { "allOf": [ { "$ref": "#/components/schemas/OrganizationRoleEnum" } ], "description": "The role the user has within the organization", "example": "member" } } }, "OrganizationMemberList": { "title": "OrganizationMemberList", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "type": "object", "properties": { "page": { "title": "Page", "type": "integer", "description": "The current page the pagination request is on", "format": "int32" }, "per_page": { "title": "Per Page", "type": "integer", "description": "The number of pages per pagination request", "format": "int32" }, "page_count": { "title": "Page Count", "type": "integer", "description": "The total number of pages", "format": "int32" }, "total_count": { "title": "Total Count", "type": "integer", "description": "The total number of resources matching the list request", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/OrganizationMember" } }, "next_page": { "title": "Next Page", "type": "integer", "description": "The next page, if this on is not the last", "format": "int32" } }, "description": "A list response from a pagination request" }, "OrganizationRoleEnum": { "title": "OrganizationRoleEnum", "enum": [ "owner", "member" ], "type": "string", "description": "An enumeration." }, "OrganizationUpdate": { "title": "OrganizationUpdate", "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "The display name for this org", "example": "Ladybug Tools" }, "picture_url": { "title": "Picture Url", "type": "string", "description": "URL to the picture associated with this org", "example": "https://avatars1.githubusercontent.com/u/38131342" }, "contact_email": { "title": "Contact Email", "type": "string", "description": "The contact email for the Organization", "example": "info@ladybug.tools" }, "description": { "title": "Description", "type": "string", "description": "A description of the org", "example": "Making environmental design knowledge and tools freely accessible to every person, project and design process" } } }, "PackageVersion": { "title": "PackageVersion", "required": [ "name", "tag", "url", "created", "digest" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Package name. Make it descriptive and helpful ;)" }, "tag": { "title": "Tag", "type": "string", "description": "The tag of the package" }, "url": { "title": "Url", "type": "string" }, "created": { "title": "Created", "type": "string", "format": "date-time" }, "digest": { "title": "Digest", "type": "string" }, "type": { "title": "Type", "pattern": "^PackageVersion$", "type": "string", "default": "PackageVersion", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "app_version": { "title": "App Version", "type": "string", "description": "The version of the application code underlying the manifest" }, "keywords": { "title": "Keywords", "type": "array", "items": { "type": "string" }, "description": "A list of keywords to search the package by" }, "maintainers": { "title": "Maintainers", "type": "array", "items": { "$ref": "#/components/schemas/Maintainer" }, "description": "A list of maintainers for the package" }, "home": { "title": "Home", "type": "string", "description": "The URL of this package's home page" }, "sources": { "title": "Sources", "type": "array", "items": { "type": "string" }, "description": "A list of URLs to source code for this project" }, "icon": { "title": "Icon", "type": "string", "description": "A URL to an SVG or PNG image to be used as an icon" }, "deprecated": { "title": "Deprecated", "type": "boolean", "description": "Whether this package is deprecated" }, "description": { "title": "Description", "type": "string", "description": "A description of what this package does" }, "license": { "title": "License", "allOf": [ { "$ref": "#/components/schemas/License" } ], "description": "The license information." }, "slug": { "title": "Slug", "type": "string", "description": "A slug of the repository name and the package name." }, "kind": { "title": "Kind", "type": "string", "description": "The type of Queenbee package (ie: recipe or plugin)", "default": "" }, "readme": { "title": "Readme", "type": "string", "description": "The README file string for this package" }, "manifest": { "title": "Manifest", "anyOf": [ { "$ref": "#/components/schemas/Recipe" }, { "$ref": "#/components/schemas/Plugin" } ], "description": "The package Recipe or Plugin manifest" } }, "description": "Package Version\n\nA MetaData object to distinguish a specific package version within a repository\nindex." }, "Permission": { "title": "Permission", "enum": [ "admin", "write", "read" ], "type": "string", "description": "An enumeration." }, "Plugin": { "title": "Plugin", "required": [ "metadata", "config", "functions" ], "type": "object", "properties": { "metadata": { "title": "Metadata", "allOf": [ { "$ref": "#/components/schemas/MetaData" } ], "description": "The Plugin metadata information" }, "config": { "title": "Config", "allOf": [ { "$ref": "#/components/schemas/PluginConfig" } ], "description": "The configuration information to run this plugin" }, "functions": { "title": "Functions", "type": "array", "items": { "$ref": "#/components/schemas/Function" }, "description": "List of Plugin functions" }, "type": { "title": "Type", "pattern": "^Plugin", "type": "string", "default": "Plugin", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "api_version": { "title": "Api Version", "pattern": "^v1beta1$", "type": "string", "default": "v1beta1", "readOnly": true } }, "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." }, "PluginConfig": { "title": "PluginConfig", "required": [ "docker" ], "type": "object", "properties": { "docker": { "title": "Docker", "allOf": [ { "$ref": "#/components/schemas/DockerConfig" } ], "description": "The configuration to use this plugin in a docker container" }, "type": { "title": "Type", "pattern": "^PluginConfig", "type": "string", "default": "PluginConfig", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "local": { "title": "Local", "allOf": [ { "$ref": "#/components/schemas/LocalConfig" } ], "description": "The configuration to use this plugin locally" } }, "description": "Plugin configuration.\n\nThe config is used to schedule functions on a desktop or in other contexts\n(ie: Docker)." }, "PluginPackage": { "title": "PluginPackage", "required": [ "digest", "tag", "manifest" ], "type": "object", "properties": { "digest": { "title": "Digest", "type": "string", "description": "The new package digest" }, "tag": { "title": "Tag", "type": "string", "description": "The new package tag" }, "manifest": { "$ref": "#/components/schemas/Plugin" }, "keywords": { "title": "Keywords", "type": "array", "items": { "type": "string" }, "description": "keywords" }, "description": { "title": "Description", "type": "string", "description": "description" }, "icon": { "title": "Icon", "type": "string", "description": "icon" }, "created_at": { "title": "Created At", "type": "string", "description": "Creation Timestamp", "format": "date-time" }, "readme": { "title": "Readme", "type": "string", "description": "The Repository Readme", "example": "# Daylight Factor \n This recipe runs a daylight factor simulation." } } }, "PluginPackageList": { "title": "PluginPackageList", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "type": "object", "properties": { "page": { "title": "Page", "type": "integer", "description": "The current page the pagination request is on", "format": "int32" }, "per_page": { "title": "Per Page", "type": "integer", "description": "The number of pages per pagination request", "format": "int32" }, "page_count": { "title": "Page Count", "type": "integer", "description": "The total number of pages", "format": "int32" }, "total_count": { "title": "Total Count", "type": "integer", "description": "The total number of resources matching the list request", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/PluginPackage" } }, "next_page": { "title": "Next Page", "type": "integer", "description": "The next page, if this on is not the last", "format": "int32" } }, "description": "A list response from a pagination request" }, "PolicySubject": { "title": "PolicySubject", "required": [ "subject_type", "name" ], "type": "object", "properties": { "subject_type": { "$ref": "#/components/schemas/SubjectType" }, "name": { "title": "Name", "type": "string", "description": "The name of the policy subject", "example": "ladybugbot" } } }, "Project": { "title": "Project", "required": [ "name", "id", "owner", "permissions", "slug" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "The name of the project. Must be unique to a given owner", "example": "Project Falcon" }, "id": { "title": "Id", "type": "string", "description": "The project ID", "example": "50bb7fe0-8f19-499e-972e-1ebec8af2c71" }, "owner": { "$ref": "#/components/schemas/AccountPublic" }, "permissions": { "$ref": "#/components/schemas/ProjectUserPermissions" }, "slug": { "title": "Slug", "type": "string", "description": "The project name in slug format", "example": "project-falcon" }, "description": { "title": "Description", "type": "string", "description": "A description of the project", "default": "", "example": "I always wanted to have a project called project Falcon" }, "public": { "title": "Public", "type": "boolean", "description": "Whether or not a project is publicly viewable", "default": true }, "usage": { "title": "Usage", "allOf": [ { "$ref": "#/components/schemas/ProjectUsage" } ], "description": "The CPU/Memory usage of this project" } } }, "ProjectAccessPolicy": { "title": "ProjectAccessPolicy", "required": [ "subject", "permission" ], "type": "object", "properties": { "subject": { "title": "Subject", "allOf": [ { "$ref": "#/components/schemas/PolicySubject" } ], "description": "The subject of the access policy" }, "permission": { "allOf": [ { "$ref": "#/components/schemas/Permission" } ], "description": "The permission given to the subject of the access policy", "example": "write" } } }, "ProjectAccessPolicyList": { "title": "ProjectAccessPolicyList", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "type": "object", "properties": { "page": { "title": "Page", "type": "integer", "description": "The current page the pagination request is on", "format": "int32" }, "per_page": { "title": "Per Page", "type": "integer", "description": "The number of pages per pagination request", "format": "int32" }, "page_count": { "title": "Page Count", "type": "integer", "description": "The total number of pages", "format": "int32" }, "total_count": { "title": "Total Count", "type": "integer", "description": "The total number of resources matching the list request", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/ProjectAccessPolicy" } }, "next_page": { "title": "Next Page", "type": "integer", "description": "The next page, if this on is not the last", "format": "int32" } }, "description": "A list response from a pagination request" }, "ProjectCreate": { "title": "ProjectCreate", "required": [ "name" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "The name of the project. Must be unique to a given owner", "example": "Project Falcon" }, "description": { "title": "Description", "type": "string", "description": "A description of the project", "default": "", "example": "I always wanted to have a project called project Falcon" }, "public": { "title": "Public", "type": "boolean", "description": "Whether or not a project is publicly viewable", "default": true } } }, "ProjectDailyUsage": { "title": "ProjectDailyUsage", "required": [ "date" ], "type": "object", "properties": { "date": { "title": "Date", "type": "string", "format": "date-time" }, "cpu": { "title": "Cpu", "type": "number", "default": 0, "format": "double" }, "memory": { "title": "Memory", "type": "number", "default": 0, "format": "double" }, "succeeded": { "title": "Succeeded", "type": "number", "default": 0, "format": "double" }, "failed": { "title": "Failed", "type": "number", "default": 0, "format": "double" } } }, "ProjectFolder": { "title": "ProjectFolder", "type": "object", "properties": { "type": { "title": "Type", "pattern": "^ProjectFolder$", "type": "string", "default": "ProjectFolder", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "path": { "title": "Path", "type": "string", "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\"." } }, "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." }, "ProjectList": { "title": "ProjectList", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "type": "object", "properties": { "page": { "title": "Page", "type": "integer", "description": "The current page the pagination request is on", "format": "int32" }, "per_page": { "title": "Per Page", "type": "integer", "description": "The number of pages per pagination request", "format": "int32" }, "page_count": { "title": "Page Count", "type": "integer", "description": "The total number of pages", "format": "int32" }, "total_count": { "title": "Total Count", "type": "integer", "description": "The total number of resources matching the list request", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/Project" } }, "next_page": { "title": "Next Page", "type": "integer", "description": "The next page, if this on is not the last", "format": "int32" } }, "description": "A list response from a pagination request" }, "ProjectPolicySubject": { "title": "ProjectPolicySubject", "required": [ "subject_type", "name" ], "type": "object", "properties": { "subject_type": { "$ref": "#/components/schemas/SubjectType" }, "name": { "title": "Name", "type": "string", "description": "The name of the policy subject", "example": "ladybugbot" } } }, "ProjectRecipeFilter": { "title": "ProjectRecipeFilter", "required": [ "owner", "name" ], "type": "object", "properties": { "owner": { "title": "Owner", "type": "string", "description": "The name of the account the recipe belongs to", "example": "ladybug-tools" }, "name": { "title": "Name", "type": "string", "description": "The name of the recipe", "example": "daylight-factor" }, "tag": { "title": "Tag", "type": "string", "description": "The specific recipe tag", "example": "0.2.1" } } }, "ProjectRecipeFilterList": { "title": "ProjectRecipeFilterList", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "type": "object", "properties": { "page": { "title": "Page", "type": "integer", "description": "The current page the pagination request is on", "format": "int32" }, "per_page": { "title": "Per Page", "type": "integer", "description": "The number of pages per pagination request", "format": "int32" }, "page_count": { "title": "Page Count", "type": "integer", "description": "The total number of pages", "format": "int32" }, "total_count": { "title": "Total Count", "type": "integer", "description": "The total number of resources matching the list request", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/ProjectRecipeFilter" } }, "next_page": { "title": "Next Page", "type": "integer", "description": "The next page, if this on is not the last", "format": "int32" } }, "description": "A list response from a pagination request" }, "ProjectUpdate": { "title": "ProjectUpdate", "required": [ "name" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "The name of the project. Must be unique to a given owner", "example": "Project Falcon" }, "description": { "title": "Description", "type": "string", "description": "A description of the project", "default": "", "example": "I always wanted to have a project called project Falcon" }, "public": { "title": "Public", "type": "boolean", "description": "Whether or not a project is publicly viewable", "default": true } } }, "ProjectUsage": { "title": "ProjectUsage", "required": [ "start", "end" ], "type": "object", "properties": { "start": { "title": "Start", "type": "string", "format": "date-time" }, "end": { "title": "End", "type": "string", "format": "date-time" }, "cpu": { "title": "Cpu", "type": "number", "default": 0, "format": "double" }, "memory": { "title": "Memory", "type": "number", "default": 0, "format": "double" }, "succeeded": { "title": "Succeeded", "type": "number", "default": 0, "format": "double" }, "failed": { "title": "Failed", "type": "number", "default": 0, "format": "double" }, "daily_usage": { "title": "Daily Usage", "type": "array", "items": { "$ref": "#/components/schemas/ProjectDailyUsage" }, "default": [] } } }, "ProjectUserPermissions": { "title": "ProjectUserPermissions", "type": "object", "properties": { "admin": { "title": "Admin", "type": "boolean", "description": "The user has admin permission to this resource", "default": false, "example": false }, "write": { "title": "Write", "type": "boolean", "description": "The user has write permission on this resource", "default": false, "example": false }, "read": { "title": "Read", "type": "boolean", "description": "The user has read permission on this resource", "default": false, "example": true } } }, "PublicAccountList": { "title": "PublicAccountList", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "type": "object", "properties": { "page": { "title": "Page", "type": "integer", "description": "The current page the pagination request is on", "format": "int32" }, "per_page": { "title": "Per Page", "type": "integer", "description": "The number of pages per pagination request", "format": "int32" }, "page_count": { "title": "Page Count", "type": "integer", "description": "The total number of pages", "format": "int32" }, "total_count": { "title": "Total Count", "type": "integer", "description": "The total number of resources matching the list request", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/AccountPublic" } }, "next_page": { "title": "Next Page", "type": "integer", "description": "The next page, if this on is not the last", "format": "int32" } }, "description": "A list response from a pagination request" }, "Recipe": { "title": "Recipe", "required": [ "flow" ], "type": "object", "properties": { "flow": { "title": "Flow", "type": "array", "items": { "$ref": "#/components/schemas/DAG" }, "description": "A list of tasks to create a DAG recipe." }, "type": { "title": "Type", "pattern": "^Recipe$", "type": "string", "default": "Recipe", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "api_version": { "title": "Api Version", "pattern": "^v1beta1$", "type": "string", "default": "v1beta1", "readOnly": true }, "metadata": { "title": "Metadata", "allOf": [ { "$ref": "#/components/schemas/MetaData" } ], "description": "Recipe metadata information." }, "dependencies": { "title": "Dependencies", "type": "array", "items": { "$ref": "#/components/schemas/Dependency" }, "description": "A list of plugins and other recipes this recipe depends on." } }, "description": "A Queenbee Recipe" }, "RecipeInterface": { "title": "RecipeInterface", "required": [ "metadata" ], "type": "object", "properties": { "metadata": { "title": "Metadata", "allOf": [ { "$ref": "#/components/schemas/MetaData" } ], "description": "Recipe metadata information." }, "type": { "title": "Type", "pattern": "^RecipeInterface$", "type": "string", "default": "RecipeInterface", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "api_version": { "title": "Api Version", "pattern": "^v1beta1$", "type": "string", "default": "v1beta1", "readOnly": true }, "source": { "title": "Source", "type": "string", "description": "A URL to the source this recipe from a registry." }, "inputs": { "title": "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" } ] }, "description": "A list of recipe inputs." }, "outputs": { "title": "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" } ] }, "description": "A list of recipe outputs." } }, "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." }, "RecipeInterfaceList": { "title": "RecipeInterfaceList", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "type": "object", "properties": { "page": { "title": "Page", "type": "integer", "description": "The current page the pagination request is on", "format": "int32" }, "per_page": { "title": "Per Page", "type": "integer", "description": "The number of pages per pagination request", "format": "int32" }, "page_count": { "title": "Page Count", "type": "integer", "description": "The total number of pages", "format": "int32" }, "total_count": { "title": "Total Count", "type": "integer", "description": "The total number of resources matching the list request", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/RecipeInterface" } }, "next_page": { "title": "Next Page", "type": "integer", "description": "The next page, if this on is not the last", "format": "int32" } }, "description": "A list response from a pagination request" }, "RecipePackage": { "title": "RecipePackage", "required": [ "digest", "tag", "manifest" ], "type": "object", "properties": { "digest": { "title": "Digest", "type": "string", "description": "The new package digest" }, "tag": { "title": "Tag", "type": "string", "description": "The new package tag" }, "manifest": { "$ref": "#/components/schemas/RecipeInterface" }, "keywords": { "title": "Keywords", "type": "array", "items": { "type": "string" }, "description": "keywords" }, "description": { "title": "Description", "type": "string", "description": "description" }, "icon": { "title": "Icon", "type": "string", "description": "icon" }, "created_at": { "title": "Created At", "type": "string", "description": "Creation Timestamp", "format": "date-time" }, "readme": { "title": "Readme", "type": "string", "description": "The Repository Readme", "example": "# Daylight Factor \n This recipe runs a daylight factor simulation." } } }, "RecipePackageList": { "title": "RecipePackageList", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "type": "object", "properties": { "page": { "title": "Page", "type": "integer", "description": "The current page the pagination request is on", "format": "int32" }, "per_page": { "title": "Per Page", "type": "integer", "description": "The number of pages per pagination request", "format": "int32" }, "page_count": { "title": "Page Count", "type": "integer", "description": "The total number of pages", "format": "int32" }, "total_count": { "title": "Total Count", "type": "integer", "description": "The total number of resources matching the list request", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/RecipePackage" } }, "next_page": { "title": "Next Page", "type": "integer", "description": "The next page, if this on is not the last", "format": "int32" } }, "description": "A list response from a pagination request" }, "Repository": { "title": "Repository", "required": [ "name", "id", "latest_tag", "owner" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "The name of the repository", "example": "daylight-factor" }, "id": { "title": "Id", "type": "string", "description": "The recipe unique ID", "example": "5d5e7103-2c1e-413f-9332-f8ec4a9aace7" }, "latest_tag": { "title": "Latest Tag", "type": "string", "description": "The latest package version to be indexed", "example": "0.2.1" }, "owner": { "title": "Owner", "allOf": [ { "$ref": "#/components/schemas/AccountPublic" } ], "description": "The owner of the repository" }, "public": { "title": "Public", "type": "boolean", "description": "Whether or not a repository is publicly viewable", "default": true }, "keywords": { "title": "Keywords", "type": "array", "items": { "type": "string" }, "description": "A list of keywords to index the repository by", "example": [ "daylight", "radiance" ] }, "description": { "title": "Description", "type": "string", "description": "A description of the repository", "example": "Run daylight simulations the easy way!" }, "icon": { "title": "Icon", "type": "string", "description": "An icon to represent this repository", "example": "https://avatars1.githubusercontent.com/u/38131342" }, "permissions": { "title": "Permissions", "allOf": [ { "$ref": "#/components/schemas/RepositoryUserPermissions" } ], "description": "The permissions the user making the API call has on the resource", "default": { "admin": false, "write": false, "read": false } }, "slug": { "title": "Slug", "type": "string", "description": "The repository slug", "example": "ladybug-tools/daylight-factor" } } }, "RepositoryAccessPolicy": { "title": "RepositoryAccessPolicy", "required": [ "subject", "permission" ], "type": "object", "properties": { "subject": { "title": "Subject", "allOf": [ { "$ref": "#/components/schemas/PolicySubject" } ], "description": "The subject of the access policy" }, "permission": { "allOf": [ { "$ref": "#/components/schemas/Permission" } ], "description": "The permission given to the subject of the access policy", "example": "write" } } }, "RepositoryAccessPolicyList": { "title": "RepositoryAccessPolicyList", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "type": "object", "properties": { "page": { "title": "Page", "type": "integer", "description": "The current page the pagination request is on", "format": "int32" }, "per_page": { "title": "Per Page", "type": "integer", "description": "The number of pages per pagination request", "format": "int32" }, "page_count": { "title": "Page Count", "type": "integer", "description": "The total number of pages", "format": "int32" }, "total_count": { "title": "Total Count", "type": "integer", "description": "The total number of resources matching the list request", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/RepositoryAccessPolicy" } }, "next_page": { "title": "Next Page", "type": "integer", "description": "The next page, if this on is not the last", "format": "int32" } }, "description": "A list response from a pagination request" }, "RepositoryCreate": { "title": "RepositoryCreate", "required": [ "name" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "The name of the repository", "example": "daylight-factor" }, "public": { "title": "Public", "type": "boolean", "description": "Whether or not a repository is publicly viewable", "default": true }, "keywords": { "title": "Keywords", "type": "array", "items": { "type": "string" }, "description": "A list of keywords to index the repository by", "example": [ "daylight", "radiance" ] }, "description": { "title": "Description", "type": "string", "description": "A description of the repository", "example": "Run daylight simulations the easy way!" }, "icon": { "title": "Icon", "type": "string", "description": "An icon to represent this repository", "example": "https://avatars1.githubusercontent.com/u/38131342" } } }, "RepositoryIndex": { "title": "RepositoryIndex", "type": "object", "properties": { "type": { "title": "Type", "pattern": "^RepositoryIndex$", "type": "string", "default": "RepositoryIndex", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "api_version": { "title": "Api Version", "pattern": "^v1beta1$", "type": "string", "default": "v1beta1", "readOnly": true }, "generated": { "title": "Generated", "type": "string", "description": "The timestamp at which the index was generated", "format": "date-time" }, "metadata": { "title": "Metadata", "allOf": [ { "$ref": "#/components/schemas/RepositoryMetadata" } ], "description": "Extra information about the repository", "default": { "type": "RepositoryMetadata", "annotations": {}, "description": "A Queenbee package repository", "plugin_count": 0, "recipe_count": 0 } }, "plugin": { "title": "Plugin", "type": "object", "additionalProperties": { "type": "array", "items": { "$ref": "#/components/schemas/PackageVersion" } }, "description": "A dict of plugins accessible by name. Each name key points to a list of plugin versions", "default": {} }, "recipe": { "title": "Recipe", "type": "object", "additionalProperties": { "type": "array", "items": { "$ref": "#/components/schemas/PackageVersion" } }, "description": "A dict of recipes accessible by name. Each name key points to a list of recipesversions", "default": {} } }, "description": "A searchable index for a Queenbee Plugin and Recipe repository" }, "RepositoryList": { "title": "RepositoryList", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "type": "object", "properties": { "page": { "title": "Page", "type": "integer", "description": "The current page the pagination request is on", "format": "int32" }, "per_page": { "title": "Per Page", "type": "integer", "description": "The number of pages per pagination request", "format": "int32" }, "page_count": { "title": "Page Count", "type": "integer", "description": "The total number of pages", "format": "int32" }, "total_count": { "title": "Total Count", "type": "integer", "description": "The total number of resources matching the list request", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/Repository" } }, "next_page": { "title": "Next Page", "type": "integer", "description": "The next page, if this on is not the last", "format": "int32" } }, "description": "A list response from a pagination request" }, "RepositoryMetadata": { "title": "RepositoryMetadata", "type": "object", "properties": { "type": { "title": "Type", "pattern": "^RepositoryMetadata$", "type": "string", "default": "RepositoryMetadata", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "name": { "title": "Name", "type": "string", "description": "The name of the repository" }, "description": { "title": "Description", "type": "string", "description": "A short description of the repository", "default": "A Queenbee package repository" }, "source": { "title": "Source", "type": "string", "description": "The source path (url or local) to the repository" }, "plugin_count": { "title": "Plugin Count", "type": "integer", "description": "The number of plugins hosted by the repository", "default": 0, "format": "int32" }, "recipe_count": { "title": "Recipe Count", "type": "integer", "description": "The number of recipes hosted by the repository", "default": 0, "format": "int32" } }, "description": "BaseModel with functionality to return the object as a yaml string." }, "RepositoryPolicySubject": { "title": "RepositoryPolicySubject", "required": [ "subject_type", "name" ], "type": "object", "properties": { "subject_type": { "$ref": "#/components/schemas/SubjectType" }, "name": { "title": "Name", "type": "string", "description": "The name of the policy subject", "example": "ladybugbot" } } }, "RepositoryUpdate": { "title": "RepositoryUpdate", "type": "object", "properties": { "public": { "title": "Public", "type": "boolean", "description": "Whether or not a repository is publicly viewable", "default": true }, "keywords": { "title": "Keywords", "type": "array", "items": { "type": "string" }, "description": "A list of keywords to index the repository by", "example": [ "daylight", "radiance" ] }, "description": { "title": "Description", "type": "string", "description": "A description of the repository", "example": "Run daylight simulations the easy way!" }, "icon": { "title": "Icon", "type": "string", "description": "An icon to represent this repository", "example": "https://avatars1.githubusercontent.com/u/38131342" } } }, "RepositoryUserPermissions": { "title": "RepositoryUserPermissions", "type": "object", "properties": { "admin": { "title": "Admin", "type": "boolean", "description": "The user has admin permission to this resource", "default": false, "example": false }, "write": { "title": "Write", "type": "boolean", "description": "The user has write permission on this resource", "default": false, "example": false }, "read": { "title": "Read", "type": "boolean", "description": "The user has read permission on this resource", "default": false, "example": true } } }, "Run": { "title": "Run", "required": [ "id" ], "type": "object", "properties": { "id": { "title": "Id", "type": "string", "description": "The unique ID for this run" }, "author": { "title": "Author", "allOf": [ { "$ref": "#/components/schemas/AccountPublic" } ], "description": "author" }, "owner": { "title": "Owner", "allOf": [ { "$ref": "#/components/schemas/AccountPublic" } ], "description": "owner" }, "recipe": { "title": "Recipe", "allOf": [ { "$ref": "#/components/schemas/RecipeInterface" } ], "description": "The recipe used to generate this " }, "generation": { "title": "Generation", "type": "number", "description": "The generation of this run", "format": "double" }, "status": { "title": "Status", "allOf": [ { "$ref": "#/components/schemas/RunStatus" } ], "description": "The status of the run" } } }, "RunList": { "title": "RunList", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "type": "object", "properties": { "page": { "title": "Page", "type": "integer", "description": "The current page the pagination request is on", "format": "int32" }, "per_page": { "title": "Per Page", "type": "integer", "description": "The number of pages per pagination request", "format": "int32" }, "page_count": { "title": "Page Count", "type": "integer", "description": "The total number of pages", "format": "int32" }, "total_count": { "title": "Total Count", "type": "integer", "description": "The total number of resources matching the list request", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/Run" } }, "next_page": { "title": "Next Page", "type": "integer", "description": "The next page, if this on is not the last", "format": "int32" } }, "description": "A list response from a pagination request" }, "RunResultList": { "title": "RunResultList", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "type": "object", "properties": { "page": { "title": "Page", "type": "integer", "description": "The current page the pagination request is on", "format": "int32" }, "per_page": { "title": "Per Page", "type": "integer", "description": "The number of pages per pagination request", "format": "int32" }, "page_count": { "title": "Page Count", "type": "integer", "description": "The total number of pages", "format": "int32" }, "total_count": { "title": "Total Count", "type": "integer", "description": "The total number of resources matching the list request", "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", "type": "integer", "description": "The next page, if this on is not the last", "format": "int32" } }, "description": "A list response from a pagination request" }, "RunStatus": { "title": "RunStatus", "required": [ "inputs", "outputs", "started_at", "id", "job_id" ], "type": "object", "properties": { "inputs": { "title": "Inputs", "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" } ] }, "description": "The inputs used for this run." }, "outputs": { "title": "Outputs", "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" } ] }, "description": "The outputs produced by this run." }, "started_at": { "title": "Started At", "type": "string", "description": "The time at which the task was started", "format": "date-time" }, "id": { "title": "Id", "type": "string", "description": "The ID of the individual run." }, "job_id": { "title": "Job Id", "type": "string", "description": "The ID of the job that generated this run." }, "type": { "title": "Type", "pattern": "^RunStatus$", "type": "string", "default": "RunStatus", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "message": { "title": "Message", "type": "string", "description": "Any message produced by the task. Usually error/debugging hints." }, "finished_at": { "title": "Finished At", "type": "string", "description": "The time at which the task was completed", "format": "date-time" }, "source": { "title": "Source", "type": "string", "description": "Source url for the status object. It can be a recipe or a function." }, "api_version": { "title": "Api Version", "pattern": "^v1beta1$", "type": "string", "default": "v1beta1", "readOnly": true }, "entrypoint": { "title": "Entrypoint", "type": "string", "description": "The ID of the first step in the run." }, "status": { "allOf": [ { "$ref": "#/components/schemas/RunStatusEnum" } ], "description": "The status of this run.", "default": "Unknown" }, "steps": { "title": "Steps", "type": "object", "additionalProperties": { "$ref": "#/components/schemas/StepStatus" }, "default": {} } }, "description": "Job Status." }, "RunStatusEnum": { "title": "RunStatusEnum", "enum": [ "Created", "Scheduled", "Running", "Post-Processing", "Failed", "Cancelled", "Succeeded", "Unknown" ], "type": "string", "description": "Enumaration of allowable status strings" }, "S3": { "title": "S3", "required": [ "key", "endpoint", "bucket" ], "type": "object", "properties": { "key": { "title": "Key", "type": "string", "description": "The path inside the bucket to source artifacts from." }, "endpoint": { "title": "Endpoint", "type": "string", "description": "The HTTP endpoint to reach the S3 bucket." }, "bucket": { "title": "Bucket", "type": "string", "description": "The name of the S3 bucket on the host server." }, "type": { "title": "Type", "pattern": "^S3$", "type": "string", "default": "S3", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "credentials_path": { "title": "Credentials Path", "type": "string", "description": "Path to the file holding the AccessKey and SecretAccessKey to authenticate to the bucket. Assumes public bucket access if none are specified." } }, "description": "S3 Source\n\nAn S3 bucket artifact Source." }, "S3UploadRequest": { "title": "S3UploadRequest", "required": [ "url", "fields" ], "type": "object", "properties": { "url": { "title": "Url", "type": "string" }, "fields": { "title": "Fields", "type": "object", "additionalProperties": { "type": "string" } } } }, "StatusType": { "title": "StatusType", "enum": [ "Function", "DAG", "Loop", "Unknown" ], "type": "string", "description": "Type enum for status type." }, "StepArrayInput": { "title": "StepArrayInput", "required": [ "name", "value" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Input name." }, "value": { "title": "Value", "type": "array", "items": {} }, "type": { "title": "Type", "pattern": "^StepArrayInput$", "type": "string", "default": "StepArrayInput", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for input." }, "default": { "title": "Default", "type": "array", "items": {}, "description": "Default value to use for an input if a value was not supplied." }, "alias": { "title": "Alias", "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" } ] }, "description": "A list of aliases for this input in different platforms." }, "required": { "title": "Required", "type": "boolean", "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 }, "spec": { "title": "Spec", "type": "object", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec." }, "items_type": { "allOf": [ { "$ref": "#/components/schemas/ItemType" } ], "description": "Type of items in an array. All the items in an array must be from the same type.", "default": "String" } }, "description": "A JSON array input." }, "StepArrayOutput": { "title": "StepArrayOutput", "required": [ "name", "path", "value" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Output name." }, "path": { "title": "Path", "type": "string", "description": "Path to the output file relative to where the function command is executed." }, "value": { "title": "Value", "type": "array", "items": {} }, "type": { "title": "Type", "pattern": "^StepArrayOutput$", "type": "string", "default": "StepArrayOutput", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for output." }, "required": { "title": "Required", "type": "boolean", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true }, "items_type": { "allOf": [ { "$ref": "#/components/schemas/ItemType" } ], "description": "Type of items in this array. All the items in an array must be from the same type.", "default": "String" } }, "description": "A JSON array output." }, "StepBooleanInput": { "title": "StepBooleanInput", "required": [ "name", "value" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Input name." }, "value": { "title": "Value", "type": "boolean" }, "type": { "title": "Type", "pattern": "^StepBooleanInput$", "type": "string", "default": "StepBooleanInput", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for input." }, "default": { "title": "Default", "type": "boolean", "description": "Default value to use for an input if a value was not supplied." }, "alias": { "title": "Alias", "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" } ] }, "description": "A list of aliases for this input in different platforms." }, "required": { "title": "Required", "type": "boolean", "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 }, "spec": { "title": "Spec", "type": "object", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec." } }, "description": "The boolean type matches only two special values: True and False." }, "StepBooleanOutput": { "title": "StepBooleanOutput", "required": [ "name", "path", "value" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Output name." }, "path": { "title": "Path", "type": "string", "description": "Path to the output file relative to where the function command is executed." }, "value": { "title": "Value", "type": "boolean" }, "type": { "title": "Type", "pattern": "^StepBooleanOutput$", "type": "string", "default": "StepBooleanOutput", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for output." }, "required": { "title": "Required", "type": "boolean", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true } }, "description": "The boolean type matches only two special values: True and False." }, "StepFileInput": { "title": "StepFileInput", "required": [ "name", "source" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Input name." }, "source": { "title": "Source", "anyOf": [ { "$ref": "#/components/schemas/HTTP" }, { "$ref": "#/components/schemas/S3" }, { "$ref": "#/components/schemas/ProjectFolder" } ], "description": "The path to source the file from." }, "type": { "title": "Type", "pattern": "^StepFileInput$", "type": "string", "default": "StepFileInput", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for input." }, "default": { "title": "Default", "anyOf": [ { "$ref": "#/components/schemas/HTTP" }, { "$ref": "#/components/schemas/S3" }, { "$ref": "#/components/schemas/ProjectFolder" } ], "description": "The default source for file if the value is not provided." }, "alias": { "title": "Alias", "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" } ] }, "description": "A list of aliases for this input in different platforms." }, "required": { "title": "Required", "type": "boolean", "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 }, "spec": { "title": "Spec", "type": "object", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec." }, "path": { "title": "Path", "type": "string", "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." }, "extensions": { "title": "Extensions", "type": "array", "items": { "type": "string" }, "description": "Optional list of extensions for file. The check for extension is case-insensitive." } }, "description": "A file input." }, "StepFileOutput": { "title": "StepFileOutput", "required": [ "name", "path", "source" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Output name." }, "path": { "title": "Path", "type": "string", "description": "Path to the output file relative to where the function command is executed." }, "source": { "title": "Source", "anyOf": [ { "$ref": "#/components/schemas/HTTP" }, { "$ref": "#/components/schemas/S3" }, { "$ref": "#/components/schemas/ProjectFolder" } ], "description": "The path to source the file from." }, "type": { "title": "Type", "pattern": "^StepFileOutput$", "type": "string", "default": "StepFileOutput", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for output." }, "required": { "title": "Required", "type": "boolean", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true } }, "description": "A file output." }, "StepFolderInput": { "title": "StepFolderInput", "required": [ "name", "source" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Input name." }, "source": { "title": "Source", "anyOf": [ { "$ref": "#/components/schemas/HTTP" }, { "$ref": "#/components/schemas/S3" }, { "$ref": "#/components/schemas/ProjectFolder" } ], "description": "The path to source the file from." }, "type": { "title": "Type", "pattern": "^StepFolderInput$", "type": "string", "default": "StepFolderInput", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for input." }, "default": { "title": "Default", "anyOf": [ { "$ref": "#/components/schemas/HTTP" }, { "$ref": "#/components/schemas/S3" }, { "$ref": "#/components/schemas/ProjectFolder" } ], "description": "The default source for file if the value is not provided." }, "alias": { "title": "Alias", "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" } ] }, "description": "A list of aliases for this input in different platforms." }, "required": { "title": "Required", "type": "boolean", "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 }, "spec": { "title": "Spec", "type": "object", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec." }, "path": { "title": "Path", "type": "string", "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." } }, "description": "A folder input." }, "StepFolderOutput": { "title": "StepFolderOutput", "required": [ "name", "path", "source" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Output name." }, "path": { "title": "Path", "type": "string", "description": "Path to the output folder relative to where the function command is executed." }, "source": { "title": "Source", "anyOf": [ { "$ref": "#/components/schemas/HTTP" }, { "$ref": "#/components/schemas/S3" }, { "$ref": "#/components/schemas/ProjectFolder" } ], "description": "The path to source the file from." }, "type": { "title": "Type", "pattern": "^StepFolderOutput$", "type": "string", "default": "StepFolderOutput", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for output." }, "required": { "title": "Required", "type": "boolean", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true } }, "description": "A folder output." }, "StepIntegerInput": { "title": "StepIntegerInput", "required": [ "name", "value" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Input name." }, "value": { "title": "Value", "type": "integer", "format": "int32" }, "type": { "title": "Type", "pattern": "^StepIntegerInput$", "type": "string", "default": "StepIntegerInput", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for input." }, "default": { "title": "Default", "type": "integer", "description": "Default value to use for an input if a value was not supplied.", "format": "int32" }, "alias": { "title": "Alias", "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" } ] }, "description": "A list of aliases for this input in different platforms." }, "required": { "title": "Required", "type": "boolean", "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 }, "spec": { "title": "Spec", "type": "object", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec." } }, "description": "An integer input." }, "StepIntegerOutput": { "title": "StepIntegerOutput", "required": [ "name", "path", "value" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Output name." }, "path": { "title": "Path", "type": "string", "description": "Path to the output file relative to where the function command is executed." }, "value": { "title": "Value", "type": "integer", "format": "int32" }, "type": { "title": "Type", "pattern": "^StepIntegerOutput$", "type": "string", "default": "StepIntegerOutput", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for output." }, "required": { "title": "Required", "type": "boolean", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true } }, "description": "An integer output." }, "StepJSONObjectInput": { "title": "StepJSONObjectInput", "required": [ "name", "value" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Input name." }, "value": { "title": "Value", "type": "object" }, "type": { "title": "Type", "pattern": "^StepJSONObjectInput$", "type": "string", "default": "StepJSONObjectInput", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for input." }, "default": { "title": "Default", "type": "object", "description": "Default value to use for an input if a value was not supplied." }, "alias": { "title": "Alias", "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" } ] }, "description": "A list of aliases for this input in different platforms." }, "required": { "title": "Required", "type": "boolean", "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 }, "spec": { "title": "Spec", "type": "object", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec." } }, "description": "A JSON object input." }, "StepJSONObjectOutput": { "title": "StepJSONObjectOutput", "required": [ "name", "path", "value" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Output name." }, "path": { "title": "Path", "type": "string", "description": "Path to the output file relative to where the function command is executed." }, "value": { "title": "Value", "type": "object" }, "type": { "title": "Type", "pattern": "^StepJSONObjectOutput$", "type": "string", "default": "StepJSONObjectOutput", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for output." }, "required": { "title": "Required", "type": "boolean", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true } }, "description": "A JSON object output." }, "StepList": { "title": "StepList", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "type": "object", "properties": { "page": { "title": "Page", "type": "integer", "description": "The current page the pagination request is on", "format": "int32" }, "per_page": { "title": "Per Page", "type": "integer", "description": "The number of pages per pagination request", "format": "int32" }, "page_count": { "title": "Page Count", "type": "integer", "description": "The total number of pages", "format": "int32" }, "total_count": { "title": "Total Count", "type": "integer", "description": "The total number of resources matching the list request", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/StepStatus" } }, "next_page": { "title": "Next Page", "type": "integer", "description": "The next page, if this on is not the last", "format": "int32" } }, "description": "A list response from a pagination request" }, "StepNumberInput": { "title": "StepNumberInput", "required": [ "name", "value" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Input name." }, "value": { "title": "Value", "type": "number", "format": "double" }, "type": { "title": "Type", "pattern": "^StepNumberInput$", "type": "string", "default": "StepNumberInput", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for input." }, "default": { "title": "Default", "type": "number", "description": "Default value to use for an input if a value was not supplied.", "format": "double" }, "alias": { "title": "Alias", "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" } ] }, "description": "A list of aliases for this input in different platforms." }, "required": { "title": "Required", "type": "boolean", "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 }, "spec": { "title": "Spec", "type": "object", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec." } }, "description": "A number input." }, "StepNumberOutput": { "title": "StepNumberOutput", "required": [ "name", "path", "value" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Output name." }, "path": { "title": "Path", "type": "string", "description": "Path to the output file relative to where the function command is executed." }, "value": { "title": "Value", "type": "number", "format": "double" }, "type": { "title": "Type", "pattern": "^StepNumberOutput$", "type": "string", "default": "StepNumberOutput", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for output." }, "required": { "title": "Required", "type": "boolean", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true } }, "description": "A number output." }, "StepPathInput": { "title": "StepPathInput", "required": [ "name", "source" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Input name." }, "source": { "title": "Source", "anyOf": [ { "$ref": "#/components/schemas/HTTP" }, { "$ref": "#/components/schemas/S3" }, { "$ref": "#/components/schemas/ProjectFolder" } ], "description": "The path to source the file from." }, "type": { "title": "Type", "pattern": "^StepPathInput$", "type": "string", "default": "StepPathInput", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for input." }, "default": { "title": "Default", "anyOf": [ { "$ref": "#/components/schemas/HTTP" }, { "$ref": "#/components/schemas/S3" }, { "$ref": "#/components/schemas/ProjectFolder" } ], "description": "The default source for file if the value is not provided." }, "alias": { "title": "Alias", "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" } ] }, "description": "A list of aliases for this input in different platforms." }, "required": { "title": "Required", "type": "boolean", "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 }, "spec": { "title": "Spec", "type": "object", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec." }, "path": { "title": "Path", "type": "string", "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." }, "extensions": { "title": "Extensions", "type": "array", "items": { "type": "string" }, "description": "Optional list of extensions for file. The check for extension is case-insensitive." } }, "description": "A file or a folder input." }, "StepPathOutput": { "title": "StepPathOutput", "required": [ "name", "path", "source" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Output name." }, "path": { "title": "Path", "type": "string", "description": "Path to the output file or folder relative to where the function command is executed." }, "source": { "title": "Source", "anyOf": [ { "$ref": "#/components/schemas/HTTP" }, { "$ref": "#/components/schemas/S3" }, { "$ref": "#/components/schemas/ProjectFolder" } ], "description": "The path to source the file from." }, "type": { "title": "Type", "pattern": "^StepPathOutput$", "type": "string", "default": "StepPathOutput", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for output." }, "required": { "title": "Required", "type": "boolean", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true } }, "description": "A file or a folder output." }, "StepStatus": { "title": "StepStatus", "required": [ "inputs", "outputs", "started_at", "id", "name", "status_type", "template_ref", "children_ids", "outbound_steps" ], "type": "object", "properties": { "inputs": { "title": "Inputs", "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" } ] }, "description": "The inputs used by this step." }, "outputs": { "title": "Outputs", "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" } ] }, "description": "The outputs produced by this step." }, "started_at": { "title": "Started At", "type": "string", "description": "The time at which the task was started", "format": "date-time" }, "id": { "title": "Id", "type": "string", "description": "The step unique ID" }, "name": { "title": "Name", "type": "string", "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." }, "status_type": { "allOf": [ { "$ref": "#/components/schemas/StatusType" } ], "description": "The type of step this status is for. Can be \"Function\", \"DAG\" or \"Loop\"" }, "template_ref": { "title": "Template Ref", "type": "string", "description": "The name of the template that spawned this step" }, "children_ids": { "title": "Children Ids", "type": "array", "items": { "type": "string" }, "description": "A list of child step IDs" }, "outbound_steps": { "title": "Outbound Steps", "type": "array", "items": { "type": "string" }, "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": { "title": "Type", "pattern": "^StepStatus$", "type": "string", "default": "StepStatus", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "message": { "title": "Message", "type": "string", "description": "Any message produced by the task. Usually error/debugging hints." }, "finished_at": { "title": "Finished At", "type": "string", "description": "The time at which the task was completed", "format": "date-time" }, "source": { "title": "Source", "type": "string", "description": "Source url for the status object. It can be a recipe or a function." }, "status": { "allOf": [ { "$ref": "#/components/schemas/StepStatusEnum" } ], "description": "The status of this step.", "default": "Unknown" }, "command": { "title": "Command", "type": "string", "description": "The command used to run this step. Only applies to Function steps." }, "boundary_id": { "title": "Boundary Id", "type": "string", "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." } }, "description": "The Status of a Job Step" }, "StepStatusEnum": { "title": "StepStatusEnum", "enum": [ "Scheduled", "Running", "Failed", "Succeeded", "Skipped", "Unknown" ], "type": "string", "description": "Enumaration of allowable status strings" }, "StepStringInput": { "title": "StepStringInput", "required": [ "name", "value" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Input name." }, "value": { "title": "Value", "type": "string" }, "type": { "title": "Type", "pattern": "^StepStringInput$", "type": "string", "default": "StepStringInput", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for input." }, "default": { "title": "Default", "type": "string", "description": "Default value to use for an input if a value was not supplied." }, "alias": { "title": "Alias", "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" } ] }, "description": "A list of aliases for this input in different platforms." }, "required": { "title": "Required", "type": "boolean", "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 }, "spec": { "title": "Spec", "type": "object", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec." } }, "description": "A String input." }, "StepStringOutput": { "title": "StepStringOutput", "required": [ "name", "path", "value" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Output name." }, "path": { "title": "Path", "type": "string", "description": "Path to the output file relative to where the function command is executed." }, "value": { "title": "Value", "type": "string" }, "type": { "title": "Type", "pattern": "^StepStringOutput$", "type": "string", "default": "StepStringOutput", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for output." }, "required": { "title": "Required", "type": "boolean", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true } }, "description": "A String output." }, "SubjectType": { "title": "SubjectType", "enum": [ "user", "team" ], "type": "string", "description": "An enumeration." }, "TaskArgument": { "title": "TaskArgument", "required": [ "name", "from" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Argument name. The name must match one of the input names from Task's template which can be a function or DAG." }, "from": { "title": "From", "anyOf": [ { "$ref": "#/components/schemas/InputReference" }, { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/ItemReference" }, { "$ref": "#/components/schemas/ValueReference" } ], "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." }, "type": { "title": "Type", "pattern": "^TaskArgument$", "type": "string", "default": "TaskArgument", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." } }, "description": "Task argument for receiving inputs that are not files or folders." }, "TaskFileReference": { "title": "TaskFileReference", "required": [ "name", "variable" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "The name of the task to pull output data from." }, "variable": { "title": "Variable", "type": "string", "description": "The name of the variable." }, "type": { "title": "Type", "pattern": "^TaskFileReference$", "type": "string", "default": "TaskFileReference", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." } }, "description": "A reference to a file that is generated in a task." }, "TaskFolderReference": { "title": "TaskFolderReference", "required": [ "name", "variable" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "The name of the task to pull output data from." }, "variable": { "title": "Variable", "type": "string", "description": "The name of the variable." }, "type": { "title": "Type", "pattern": "^TaskFolderReference$", "type": "string", "default": "TaskFolderReference", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." } }, "description": "A reference to a folder that is generated in a task." }, "TaskPathArgument": { "title": "TaskPathArgument", "required": [ "name", "from" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Argument name. The name must match one of the input names from Task's template which can be a function or DAG." }, "from": { "title": "From", "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" } ], "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." }, "type": { "title": "Type", "pattern": "^TaskPathArgument$", "type": "string", "default": "TaskPathArgument", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "sub_path": { "title": "Sub Path", "type": "string", "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." } }, "description": "BaseModel with functionality to return the object as a yaml string." }, "TaskPathReference": { "title": "TaskPathReference", "required": [ "name", "variable" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "The name of the task to pull output data from." }, "variable": { "title": "Variable", "type": "string", "description": "The name of the variable." }, "type": { "title": "Type", "pattern": "^TaskPathReference$", "type": "string", "default": "TaskPathReference", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." } }, "description": "A reference to a file or folder that is generated in a task." }, "TaskPathReturn": { "title": "TaskPathReturn", "required": [ "name", "path" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Output name." }, "path": { "title": "Path", "type": "string", "description": "Path to the output artifact relative to where the function command is executed." }, "type": { "title": "Type", "pattern": "^TaskPathReturn$", "type": "string", "default": "TaskPathReturn", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for output." }, "required": { "title": "Required", "type": "boolean", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true } }, "description": "A Task output that returns a file or a folder output from a function or a DAG." }, "TaskReference": { "title": "TaskReference", "required": [ "name", "variable" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "The name of the task to pull output data from." }, "variable": { "title": "Variable", "type": "string", "description": "The name of the variable." }, "type": { "title": "Type", "pattern": "^TaskReference$", "type": "string", "default": "TaskReference", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." } }, "description": "A Task reference for parameters other than files or folders." }, "TaskReturn": { "title": "TaskReturn", "required": [ "name" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "Output name." }, "type": { "title": "Type", "pattern": "^TaskReturn$", "type": "string", "default": "TaskReturn", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." }, "description": { "title": "Description", "type": "string", "description": "Optional description for output." } }, "description": "A Task return output that exposes the values from a function or a DAG." }, "Team": { "title": "Team", "required": [ "name", "id", "slug" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "example": "Honeybee Contributors" }, "id": { "title": "Id", "type": "string", "description": "The team ID", "example": "142ee933-6110-4186-92ab-92df359aa108" }, "slug": { "title": "Slug", "type": "string", "description": "The slug of the team", "example": "honeybee-contributors" }, "description": { "title": "Description", "type": "string", "example": "The Honeybee team works on all things energy modelling" }, "member_count": { "title": "Member Count", "type": "integer", "description": "The number of members that are part of this team", "default": 0, "example": 5, "format": "int32" } } }, "TeamCreate": { "title": "TeamCreate", "required": [ "name" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "example": "Honeybee Contributors" }, "description": { "title": "Description", "type": "string", "example": "The Honeybee team works on all things energy modelling" } } }, "TeamList": { "title": "TeamList", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "type": "object", "properties": { "page": { "title": "Page", "type": "integer", "description": "The current page the pagination request is on", "format": "int32" }, "per_page": { "title": "Per Page", "type": "integer", "description": "The number of pages per pagination request", "format": "int32" }, "page_count": { "title": "Page Count", "type": "integer", "description": "The total number of pages", "format": "int32" }, "total_count": { "title": "Total Count", "type": "integer", "description": "The total number of resources matching the list request", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/Team" } }, "next_page": { "title": "Next Page", "type": "integer", "description": "The next page, if this on is not the last", "format": "int32" } }, "description": "A list response from a pagination request" }, "TeamMember": { "title": "TeamMember", "required": [ "user", "role" ], "type": "object", "properties": { "user": { "title": "User", "allOf": [ { "$ref": "#/components/schemas/UserPublic" } ], "description": "The team member" }, "role": { "allOf": [ { "$ref": "#/components/schemas/TeamRoleEnum" } ], "description": "The role the user has within the team", "example": "member" } } }, "TeamMemberList": { "title": "TeamMemberList", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "type": "object", "properties": { "page": { "title": "Page", "type": "integer", "description": "The current page the pagination request is on", "format": "int32" }, "per_page": { "title": "Per Page", "type": "integer", "description": "The number of pages per pagination request", "format": "int32" }, "page_count": { "title": "Page Count", "type": "integer", "description": "The total number of pages", "format": "int32" }, "total_count": { "title": "Total Count", "type": "integer", "description": "The total number of resources matching the list request", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/TeamMember" } }, "next_page": { "title": "Next Page", "type": "integer", "description": "The next page, if this on is not the last", "format": "int32" } }, "description": "A list response from a pagination request" }, "TeamRoleEnum": { "title": "TeamRoleEnum", "enum": [ "owner", "member" ], "type": "string", "description": "An enumeration." }, "TeamUpdate": { "title": "TeamUpdate", "required": [ "name" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "example": "Honeybee Contributors" }, "description": { "title": "Description", "type": "string", "example": "The Honeybee team works on all things energy modelling" } } }, "UpdateAccepted": { "title": "UpdateAccepted", "type": "object", "properties": { "status": { "title": "Status", "type": "string", "default": "accepted" } }, "description": "Accepted request response for existing resource" }, "UserCreate": { "title": "UserCreate", "required": [ "name", "picture_url", "username", "email", "password" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "The display name for this user", "example": "Ladybug Tools" }, "picture_url": { "title": "Picture Url", "type": "string", "description": "URL to the picture associated with this user", "example": "https://avatars1.githubusercontent.com/u/38131342" }, "username": { "title": "Username", "type": "string", "description": "The unique name of the user in small case without spaces", "example": "ladybugbot" }, "email": { "title": "Email", "type": "string", "description": "The contact email for the Organization", "example": "info@ladybug.tools" }, "password": { "title": "Password", "type": "string", "description": "A password for this new user to authenticate with" }, "description": { "title": "Description", "type": "string", "description": "A description of the user", "default": "", "example": "Making environmental design knowledge and tools freely accessible to every person, project and design process" } } }, "UserPrivate": { "title": "UserPrivate", "required": [ "username", "id", "email" ], "type": "object", "properties": { "username": { "title": "Username", "type": "string", "description": "The lowercase account name for this user", "example": "ladybugbot" }, "id": { "title": "Id", "type": "string" }, "email": { "title": "Email", "type": "string" }, "name": { "title": "Name", "type": "string", "description": "The display name for this user", "example": "Ladybug Bot" }, "description": { "title": "Description", "type": "string", "description": "A short description of the user", "example": "Beep Boop!" }, "picture": { "title": "Picture", "type": "string", "description": "URL to the picture associated with this user", "example": "https://avatars1.githubusercontent.com/u/38131342" } } }, "UserPublic": { "title": "UserPublic", "required": [ "username" ], "type": "object", "properties": { "username": { "title": "Username", "type": "string", "description": "The lowercase account name for this user", "example": "ladybugbot" }, "name": { "title": "Name", "type": "string", "description": "The display name for this user", "example": "Ladybug Bot" }, "description": { "title": "Description", "type": "string", "description": "A short description of the user", "example": "Beep Boop!" }, "picture": { "title": "Picture", "type": "string", "description": "URL to the picture associated with this user", "example": "https://avatars1.githubusercontent.com/u/38131342" } } }, "UserPublicList": { "title": "UserPublicList", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "type": "object", "properties": { "page": { "title": "Page", "type": "integer", "description": "The current page the pagination request is on", "format": "int32" }, "per_page": { "title": "Per Page", "type": "integer", "description": "The number of pages per pagination request", "format": "int32" }, "page_count": { "title": "Page Count", "type": "integer", "description": "The total number of pages", "format": "int32" }, "total_count": { "title": "Total Count", "type": "integer", "description": "The total number of resources matching the list request", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/UserPublic" } }, "next_page": { "title": "Next Page", "type": "integer", "description": "The next page, if this on is not the last", "format": "int32" } }, "description": "A list response from a pagination request" }, "UserUpdate": { "title": "UserUpdate", "required": [ "name", "picture_url" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "description": "The display name for this user", "example": "Ladybug Tools" }, "picture_url": { "title": "Picture Url", "type": "string", "description": "URL to the picture associated with this user", "example": "https://avatars1.githubusercontent.com/u/38131342" }, "description": { "title": "Description", "type": "string", "description": "A description of the user", "default": "", "example": "Making environmental design knowledge and tools freely accessible to every person, project and design process" } } }, "ValidationError": { "title": "ValidationError", "required": [ "loc", "msg", "type" ], "type": "object", "properties": { "loc": { "title": "Location", "type": "array", "items": { "type": "string" } }, "msg": { "title": "Message", "type": "string" }, "type": { "title": "Error Type", "type": "string", "readOnly": true } } }, "ValueFileReference": { "title": "ValueFileReference", "required": [ "path" ], "type": "object", "properties": { "path": { "title": "Path", "type": "string", "description": "A fixed value for this reference." }, "type": { "title": "Type", "pattern": "^ValueFileReference$", "type": "string", "default": "ValueFileReference", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." } }, "description": "A reference to a fixed file." }, "ValueFolderReference": { "title": "ValueFolderReference", "required": [ "path" ], "type": "object", "properties": { "path": { "title": "Path", "type": "string", "description": "A fixed value for this reference." }, "type": { "title": "Type", "pattern": "^ValueFolderReference$", "type": "string", "default": "ValueFolderReference", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." } }, "description": "A reference to a fixed folder." }, "ValueListReference": { "title": "ValueListReference", "required": [ "value" ], "type": "object", "properties": { "value": { "title": "Value", "type": "array", "items": {}, "description": "A fixed value for this reference." }, "type": { "title": "Type", "pattern": "^ValueListReference$", "type": "string", "default": "ValueListReference", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." } }, "description": "A reference to a fixed value." }, "ValueReference": { "title": "ValueReference", "required": [ "value" ], "type": "object", "properties": { "value": { "title": "Value", "description": "A fixed value for this reference." }, "type": { "title": "Type", "pattern": "^ValueReference$", "type": "string", "default": "ValueReference", "readOnly": true }, "annotations": { "title": "Annotations", "type": "object", "additionalProperties": { "type": "string" }, "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries." } }, "description": "A reference to a fixed value." } }, "securitySchemes": { "JWTAuth": { "type": "http", "scheme": "bearer" }, "APIKeyAuth": { "type": "apiKey", "in": "header", "name": "x-pollination-token" } } } }