{ "openapi": "3.0.2", "info": { "title": "Pollination Server", "description": "Pollination Server OpenAPI Definition", "version": "0.10.11", "contact": { "name": "PollinationSolutions", "url": "https://pollination.cloud", "email": "info@pollination.cloud" } }, "servers": [ { "url": "https://api.pollination.cloud", "description": "The production API server" }, { "url": "https://api.staging.pollination.cloud", "description": "The staging/Q&A API server" }, { "url": "http://localhost:8000", "description": "The local development server" } ], "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": [] } ] } }, "/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": [] } ] } }, "/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": "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": "Username of the user to search for", "required": false, "schema": { "title": "Username", "type": "array", "items": { "type": "string" }, "description": "Username of the user to search for" }, "name": "username", "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": { "title": "Role", "enum": [ "owner", "member" ], "type": "string" }, "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": { "title": "Role", "enum": [ "owner", "member" ], "type": "string" }, "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" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PluginList" } } } }, "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/Plugin" } } } }, "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" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RecipeInterfaceList" } } } }, "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/RecipeInterface" } } } }, "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", "type": "string" }, "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/JobList" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "post": { "tags": [ "Jobs" ], "summary": "Schedule a job", "description": "Create a new job.", "operationId": "create_job", "parameters": [ { "required": true, "schema": { "title": "Project Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Project Name", "type": "string" }, "name": "name", "in": "path" }, { "required": false, "schema": { "title": "Authorization", "type": "string" }, "name": "authorization", "in": "header" } ], "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/Run" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/jobs/{job_id}/stop": { "put": { "tags": [ "Jobs" ], "summary": "Stop a job", "description": "Stop a job.", "operationId": "stop_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": { "$ref": "#/components/schemas/Accepted" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/jobs/{job_id}/suspend": { "put": { "tags": [ "Jobs" ], "summary": "Suspend a job", "description": "Stop a job.", "operationId": "suspend_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": { "$ref": "#/components/schemas/Accepted" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/jobs/{job_id}/resume": { "put": { "tags": [ "Jobs" ], "summary": "resume a job", "description": "resume a job", "operationId": "resume_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": { "$ref": "#/components/schemas/Accepted" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/jobs/{job_id}/outputs/{output_name}": { "get": { "tags": [ "Jobs" ], "summary": "Get job output by name", "description": "get job output by name", "operationId": "get_job_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": "Job ID", "type": "string" }, "name": "job_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}/jobs/{job_id}/steps": { "get": { "tags": [ "Jobs" ], "summary": "Query the steps of a job", "description": "list job steps", "operationId": "get_job_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": "Job id.", "type": "string" }, "name": "job_id", "in": "path" }, { "required": false, "schema": { "title": "The status of the task", "type": "string" }, "name": "status", "in": "query" }, { "required": false, "schema": { "title": "The specific step IDs to retrieve", "type": "array", "items": { "type": "string" } }, "name": "step_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/StepList" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/jobs/{job_id}/steps/{step_id}/logs": { "get": { "tags": [ "Jobs" ], "summary": "Get the logs of a specific step of the job", "description": "get job step logs", "operationId": "get_job_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": "Job id.", "type": "string" }, "name": "job_id", "in": "path" }, { "required": true, "schema": { "title": "Job 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 Jobs Job 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}/jobs/{job_id}/artifacts": { "get": { "tags": [ "Jobs" ], "summary": "List artifacts in a job folder", "description": "Retrieve a list of artifacts in a job folder", "operationId": "list_job_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": "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 Get List Artifacts 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}/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": { "AccountPublic": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "id": { "title": "Id", "example": "0ad77f99-8043-46e4-8220-7221487c3ee5", "type": "string" }, "account_type": { "title": "Account Type", "example": "user", "type": "string" }, "name": { "title": "Name", "example": "LadybugBot", "type": "string" }, "type": { "title": "Type", "default": "AccountPublic", "type": "string", "pattern": "^AccountPublic$", "readOnly": true } }, "required": [ "id", "account_type", "name" ] } ], "title": "AccountPublic", "discriminator": { "propertyName": "type" } }, "InputReference": { "allOf": [ { "$ref": "#/components/schemas/_InputReferenceBase" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "InputReference", "type": "string", "pattern": "^InputReference$", "readOnly": true } }, "additionalProperties": false } ], "title": "InputReference", "description": "An input parameter reference which is not a file or a folder.\n\nFor a file or a folder use InputFileReference, InputFolderReference or\nInputPathReference instead.", "discriminator": { "propertyName": "type" } }, "TeamCreate": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "name": { "title": "Name", "example": "Honeybee Contributors", "type": "string" }, "description": { "title": "Description", "example": "The Honeybee team works on all things energy modelling", "type": "string" }, "type": { "title": "Type", "default": "TeamCreate", "type": "string", "pattern": "^TeamCreate$", "readOnly": true } }, "required": [ "name" ] } ], "title": "TeamCreate", "discriminator": { "propertyName": "type" } }, "FunctionBooleanOutput": { "allOf": [ { "$ref": "#/components/schemas/FunctionStringOutput" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "FunctionBooleanOutput", "type": "string", "pattern": "^FunctionBooleanOutput$", "readOnly": true } }, "additionalProperties": false } ], "title": "FunctionBooleanOutput", "description": "Function boolean output.\n\nThis output loads the content from a file as a boolean.", "discriminator": { "propertyName": "type" } }, "TaskReference": { "allOf": [ { "$ref": "#/components/schemas/_TaskReferenceBase" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "TaskReference", "type": "string", "pattern": "^TaskReference$", "readOnly": true } }, "additionalProperties": false } ], "title": "TaskReference", "description": "A Task reference for parameters other than files or folders.", "discriminator": { "propertyName": "type" } }, "ItemReference": { "allOf": [ { "$ref": "#/components/schemas/_BaseReference" }, { "type": "object", "properties": { "variable": { "title": "Variable", "description": "The name of the looped item variable (use dot notation for nested json values)", "type": "string" }, "type": { "title": "Type", "default": "ItemReference", "type": "string", "pattern": "^ItemReference$", "readOnly": true } }, "additionalProperties": false } ], "title": "ItemReference", "description": "An Item Reference.", "discriminator": { "propertyName": "type" } }, "ValueReference": { "allOf": [ { "$ref": "#/components/schemas/_BaseReference" }, { "type": "object", "required": [ "value" ], "properties": { "value": { "title": "Value", "description": "A fixed value for this reference." }, "type": { "title": "Type", "default": "ValueReference", "type": "string", "pattern": "^ValueReference$", "readOnly": true } }, "additionalProperties": false } ], "title": "ValueReference", "description": "A reference to a fixed value.", "discriminator": { "propertyName": "type" } }, "TaskArgument": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "name": { "title": "Name", "description": "Argument name. The name must match one of the input names from Task's template which can be a function or DAG.", "type": "string" }, "from": { "title": "From", "description": "A reference to a DAG input, a DAG output or another task output. You can also use the ValueReference type to hard-code an input value.", "anyOf": [ { "allOf": [ { "$ref": "#/components/schemas/InputReference" } ] }, { "allOf": [ { "$ref": "#/components/schemas/TaskReference" } ] }, { "allOf": [ { "$ref": "#/components/schemas/ItemReference" } ] }, { "allOf": [ { "$ref": "#/components/schemas/ValueReference" } ] } ] }, "type": { "title": "Type", "default": "TaskArgument", "type": "string", "pattern": "^TaskArgument$", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } } }, "required": [ "name", "from" ], "additionalProperties": false } ], "title": "TaskArgument", "description": "Task argument for receiving inputs that are not files or folders.", "discriminator": { "propertyName": "type" } }, "ProjectCreate": { "allOf": [ { "$ref": "#/components/schemas/ProjectUpdate" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "ProjectCreate", "type": "string", "pattern": "^ProjectCreate$", "readOnly": true } } } ], "title": "ProjectCreate", "discriminator": { "propertyName": "type" } }, "InputPathReference": { "allOf": [ { "$ref": "#/components/schemas/_InputReferenceBase" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "InputPathReference", "type": "string", "pattern": "^InputPathReference$", "readOnly": true } }, "additionalProperties": false } ], "title": "InputPathReference", "description": "An input file or folder reference", "discriminator": { "propertyName": "type" } }, "HTTP": { "allOf": [ { "$ref": "#/components/schemas/_ArtifactSource" }, { "type": "object", "required": [ "url" ], "properties": { "url": { "title": "Url", "description": "For a HTTP endpoint this can be http://climate.onebuilding.org.", "type": "string" }, "type": { "title": "Type", "default": "HTTP", "type": "string", "pattern": "^HTTP$", "readOnly": true } }, "additionalProperties": false } ], "title": "HTTP", "description": "HTTP Source\n\nA web HTTP to an FTP server or an API for example.", "discriminator": { "propertyName": "type" } }, "S3": { "allOf": [ { "$ref": "#/components/schemas/_ArtifactSource" }, { "type": "object", "required": [ "key", "endpoint", "bucket" ], "properties": { "key": { "title": "Key", "description": "The path inside the bucket to source artifacts from.", "type": "string" }, "endpoint": { "title": "Endpoint", "description": "The HTTP endpoint to reach the S3 bucket.", "type": "string" }, "bucket": { "title": "Bucket", "description": "The name of the S3 bucket on the host server.", "type": "string" }, "credentials_path": { "title": "Credentials Path", "description": "Path to the file holding the AccessKey and SecretAccessKey to authenticate to the bucket. Assumes public bucket access if none are specified.", "type": "string" }, "type": { "title": "Type", "default": "S3", "type": "string", "pattern": "^S3$", "readOnly": true } }, "additionalProperties": false } ], "title": "S3", "description": "S3 Source\n\nAn S3 bucket artifact Source.", "discriminator": { "propertyName": "type" } }, "ProjectFolder": { "allOf": [ { "$ref": "#/components/schemas/_ArtifactSource" }, { "type": "object", "properties": { "path": { "title": "Path", "description": "The path to a folder where files and folders can be sourced. For a local filesystem this can be \"C:\\Users\\me\\jobs\\test\".", "type": "string" }, "type": { "title": "Type", "default": "ProjectFolder", "type": "string", "pattern": "^ProjectFolder$", "readOnly": true } }, "additionalProperties": false } ], "title": "ProjectFolder", "description": "Project Folder Source\n\nThis is the path to a folder where files and folders can be sourced. In the context\nof a desktop run Workflow this folder will correspond to a local folder. In the\ncontext of a workflow run on Pollination this folder will correspond to a Project\nscoped folder.", "discriminator": { "propertyName": "type" } }, "StepFileOutput": { "allOf": [ { "$ref": "#/components/schemas/FunctionFileOutput" }, { "type": "object", "required": [ "source" ], "properties": { "source": { "title": "Source", "description": "The path to source the file from.", "anyOf": [ { "allOf": [ { "$ref": "#/components/schemas/HTTP" } ] }, { "allOf": [ { "$ref": "#/components/schemas/S3" } ] }, { "allOf": [ { "$ref": "#/components/schemas/ProjectFolder" } ] } ] }, "type": { "title": "Type", "default": "StepFileOutput", "type": "string", "pattern": "^StepFileOutput$", "readOnly": true } }, "additionalProperties": false } ], "title": "StepFileOutput", "description": "A file output.", "discriminator": { "propertyName": "type" } }, "IOAliasHandler": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "language": { "title": "Language", "description": "Declare the language (e.g. python, csharp, etc.). This option allows the recipe to be flexible on handling different programming languages.", "type": "string" }, "module": { "title": "Module", "description": "Target module or namespace to load the alias function.", "example": "honeybee_rhino.handlers", "type": "string" }, "function": { "title": "Function", "description": "Name of the function. The input value will be passed to this function as the first argument.", "type": "string" }, "type": { "title": "Type", "default": "IOAliasHandler", "type": "string", "pattern": "^IOAliasHandler$", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } } }, "required": [ "language", "module", "function" ], "additionalProperties": false } ], "title": "IOAliasHandler", "description": "Input and output alias handler object.", "discriminator": { "propertyName": "type" } }, "DAGGenericInputAlias": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "platform", "handler" ], "properties": { "platform": { "title": "Platform", "description": "Name of the client platform (e.g. Grasshopper, Revit, etc). The value can be any strings as long as it has been agreed between client-side developer and author of the recipe.", "type": "array", "items": { "type": "string" } }, "handler": { "title": "Handler", "description": "List of process actions to process the input or output value.", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" } }, "default": { "title": "Default", "description": "Default value for generic input.", "type": "string" }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "DAGGenericInputAlias", "type": "string", "pattern": "^DAGGenericInputAlias$", "readOnly": true } }, "additionalProperties": false } ], "title": "DAGGenericInputAlias", "description": "Base class for DAG Alias inputs.\n\nThis class adds a handler to input to handle the process of loading the input\nfrom different graphical interfaces.", "discriminator": { "propertyName": "type" } }, "DAGStringInputAlias": { "allOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "DAGStringInputAlias", "type": "string", "pattern": "^DAGStringInputAlias$", "readOnly": true } }, "additionalProperties": false } ], "title": "DAGStringInputAlias", "description": "An Alias String input.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/string.html#string for\nmore information.\n\n.. code-block:: python\n\n \"schema\": {\n \"type\": \"string\",\n \"maxLength\": 50,\n \"pattern\": \"(?i)(^.*\\.epw$)\"\n }", "discriminator": { "propertyName": "type" } }, "DAGIntegerInputAlias": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "platform", "handler" ], "properties": { "platform": { "title": "Platform", "description": "Name of the client platform (e.g. Grasshopper, Revit, etc). The value can be any strings as long as it has been agreed between client-side developer and author of the recipe.", "type": "array", "items": { "type": "string" } }, "handler": { "title": "Handler", "description": "List of process actions to process the input or output value.", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" } }, "default": { "title": "Default", "description": "Default value to use for an input if a value was not supplied.", "type": "integer", "format": "int32" }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "DAGIntegerInputAlias", "type": "string", "pattern": "^DAGIntegerInputAlias$", "readOnly": true } }, "additionalProperties": false } ], "title": "DAGIntegerInputAlias", "description": "An alias integer input.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/numeric.html#numeric\nfor more information.", "discriminator": { "propertyName": "type" } }, "DAGNumberInputAlias": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "platform", "handler" ], "properties": { "platform": { "title": "Platform", "description": "Name of the client platform (e.g. Grasshopper, Revit, etc). The value can be any strings as long as it has been agreed between client-side developer and author of the recipe.", "type": "array", "items": { "type": "string" } }, "handler": { "title": "Handler", "description": "List of process actions to process the input or output value.", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" } }, "default": { "title": "Default", "description": "Default value to use for an input if a value was not supplied.", "type": "number", "format": "double" }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "DAGNumberInputAlias", "type": "string", "pattern": "^DAGNumberInputAlias$", "readOnly": true } }, "additionalProperties": false } ], "title": "DAGNumberInputAlias", "description": "An alias number input.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/numeric.html#numeric\nfor more information.", "discriminator": { "propertyName": "type" } }, "DAGBooleanInputAlias": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "platform", "handler" ], "properties": { "platform": { "title": "Platform", "description": "Name of the client platform (e.g. Grasshopper, Revit, etc). The value can be any strings as long as it has been agreed between client-side developer and author of the recipe.", "type": "array", "items": { "type": "string" } }, "handler": { "title": "Handler", "description": "List of process actions to process the input or output value.", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" } }, "default": { "title": "Default", "description": "Default value to use for an input if a value was not supplied.", "type": "boolean" }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "DAGBooleanInputAlias", "type": "string", "pattern": "^DAGBooleanInputAlias$", "readOnly": true } }, "additionalProperties": false } ], "title": "DAGBooleanInputAlias", "description": "The boolean type matches only two special values: True and False.\n\nNote that values that evaluate to true or false, such as 1 and 0, are not accepted.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/boolean.html for more\ninformation.", "discriminator": { "propertyName": "type" } }, "DAGFolderInputAlias": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "platform", "handler" ], "properties": { "platform": { "title": "Platform", "description": "Name of the client platform (e.g. Grasshopper, Revit, etc). The value can be any strings as long as it has been agreed between client-side developer and author of the recipe.", "type": "array", "items": { "type": "string" } }, "handler": { "title": "Handler", "description": "List of process actions to process the input or output value.", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" } }, "default": { "title": "Default", "description": "The default source for file if the value is not provided.", "anyOf": [ { "allOf": [ { "$ref": "#/components/schemas/HTTP" } ] }, { "allOf": [ { "$ref": "#/components/schemas/S3" } ] }, { "allOf": [ { "$ref": "#/components/schemas/ProjectFolder" } ] } ] }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "DAGFolderInputAlias", "type": "string", "pattern": "^DAGFolderInputAlias$", "readOnly": true } }, "additionalProperties": false } ], "title": "DAGFolderInputAlias", "description": "An alias folder input.\n\nFolder is a special string input. Unlike other string inputs, a folder will be copied\nfrom its location to execution folder when a workflow is executed.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/string.html#string for\nmore information.\n\n.. code-block:: python\n\n \"schema\": {\n \"type\": \"string\",\n \"maxLength\": 50,\n }", "discriminator": { "propertyName": "type" } }, "DAGFileInputAlias": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "platform", "handler" ], "properties": { "platform": { "title": "Platform", "description": "Name of the client platform (e.g. Grasshopper, Revit, etc). The value can be any strings as long as it has been agreed between client-side developer and author of the recipe.", "type": "array", "items": { "type": "string" } }, "handler": { "title": "Handler", "description": "List of process actions to process the input or output value.", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" } }, "default": { "title": "Default", "description": "The default source for file if the value is not provided.", "anyOf": [ { "allOf": [ { "$ref": "#/components/schemas/HTTP" } ] }, { "allOf": [ { "$ref": "#/components/schemas/S3" } ] }, { "allOf": [ { "$ref": "#/components/schemas/ProjectFolder" } ] } ] }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "extensions": { "title": "Extensions", "description": "Optional list of extensions for file. The check for extension is case-insensitive.", "type": "array", "items": { "type": "string" } }, "type": { "title": "Type", "default": "DAGFileInputAlias", "type": "string", "pattern": "^DAGFileInputAlias$", "readOnly": true } }, "additionalProperties": false } ], "title": "DAGFileInputAlias", "description": "An alias file input.\n\nFile is a special string input. Unlike other string inputs, a file will be copied\nfrom its location to execution folder when a workflow is executed.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/string.html#string for\nmore information.\n\n.. code-block:: python\n\n # a file with maximum 50 characters with an ``epw`` extension.\n\n \"schema\": {\n \"type\": \"string\",\n \"maxLength\": 50,\n \"pattern\": \"(?i)(^.*\\.epw$)\"\n }", "discriminator": { "propertyName": "type" } }, "DAGPathInputAlias": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "platform", "handler" ], "properties": { "platform": { "title": "Platform", "description": "Name of the client platform (e.g. Grasshopper, Revit, etc). The value can be any strings as long as it has been agreed between client-side developer and author of the recipe.", "type": "array", "items": { "type": "string" } }, "handler": { "title": "Handler", "description": "List of process actions to process the input or output value.", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" } }, "default": { "title": "Default", "description": "The default source for file if the value is not provided.", "anyOf": [ { "allOf": [ { "$ref": "#/components/schemas/HTTP" } ] }, { "allOf": [ { "$ref": "#/components/schemas/S3" } ] }, { "allOf": [ { "$ref": "#/components/schemas/ProjectFolder" } ] } ] }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "extensions": { "title": "Extensions", "description": "Optional list of extensions for path. The check for extension is case-insensitive. The extension will only be validated for file inputs.", "type": "array", "items": { "type": "string" } }, "type": { "title": "Type", "default": "DAGPathInputAlias", "type": "string", "pattern": "^DAGPathInputAlias$", "readOnly": true } }, "additionalProperties": false } ], "title": "DAGPathInputAlias", "description": "A file or a folder input.\n\nUse this input only in cases that the input can be either a file or folder. For file\nor folder-only inputs see File and Folder.\n\nPath is a special string input. Unlike other string inputs, a path will be copied\nfrom its location to execution folder when a workflow is executed.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/string.html#string for\nmore information.\n\n.. code-block:: python\n\n # a file with maximum 50 characters with an ``epw`` extension.\n\n \"schema\": {\n \"type\": \"string\",\n \"maxLength\": 50,\n \"pattern\": \"(?i)(^.*\\.epw$)\"\n }", "discriminator": { "propertyName": "type" } }, "DAGArrayInputAlias": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "platform", "handler" ], "properties": { "platform": { "title": "Platform", "description": "Name of the client platform (e.g. Grasshopper, Revit, etc). The value can be any strings as long as it has been agreed between client-side developer and author of the recipe.", "type": "array", "items": { "type": "string" } }, "handler": { "title": "Handler", "description": "List of process actions to process the input or output value.", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" } }, "default": { "title": "Default", "description": "Default value to use for an input if a value was not supplied.", "type": "array", "items": {} }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "items_type": { "title": "Items Type", "description": "Type of items in an array. All the items in an array must be from the same type.", "default": "String", "enum": [ "Generic", "String", "Integer", "Number", "Boolean", "File", "Folder", "Path", "Array", "JSONObject" ], "type": "string" }, "type": { "title": "Type", "default": "DAGArrayInputAlias", "type": "string", "pattern": "^DAGArrayInputAlias$", "readOnly": true } }, "additionalProperties": false } ], "title": "DAGArrayInputAlias", "description": "An array input.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/array.html for\nmore information.", "discriminator": { "propertyName": "type" } }, "DAGJSONObjectInputAlias": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "platform", "handler" ], "properties": { "platform": { "title": "Platform", "description": "Name of the client platform (e.g. Grasshopper, Revit, etc). The value can be any strings as long as it has been agreed between client-side developer and author of the recipe.", "type": "array", "items": { "type": "string" } }, "handler": { "title": "Handler", "description": "List of process actions to process the input or output value.", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" } }, "default": { "title": "Default", "description": "Default value to use for an input if a value was not supplied.", "type": "object" }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "DAGJSONObjectInputAlias", "type": "string", "pattern": "^DAGJSONObjectInputAlias$", "readOnly": true } }, "additionalProperties": false } ], "title": "DAGJSONObjectInputAlias", "description": "An alias JSON object input.\n\nJSON objects are similar to Python dictionaries.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/object.html for\nmore information.", "discriminator": { "propertyName": "type" } }, "DAGLinkedInputAlias": { "allOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "DAGLinkedInputAlias", "type": "string", "pattern": "^DAGLinkedInputAlias$", "readOnly": true } }, "additionalProperties": false } ], "title": "DAGLinkedInputAlias", "description": "An Alias for Linked Inputs.\n\nA linked input alias will be hidden in the UI and will be linked to an object in \nthe UI using the input handler.", "discriminator": { "propertyName": "type" } }, "StepJSONObjectInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "value" ], "properties": { "value": { "title": "Value", "type": "object" }, "default": { "title": "Default", "description": "Default value to use for an input if a value was not supplied.", "type": "object" }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "StepJSONObjectInput", "type": "string", "pattern": "^StepJSONObjectInput$", "readOnly": true } }, "additionalProperties": false } ], "title": "StepJSONObjectInput", "description": "A JSON object input.", "discriminator": { "propertyName": "type" } }, "JobPathArgument": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "name": { "title": "Name", "description": "Argument name. The name must match one of the input names from Job's template which can be a function or DAG.", "type": "string" }, "source": { "title": "Source", "description": "The path to source the file from.", "anyOf": [ { "allOf": [ { "$ref": "#/components/schemas/HTTP" } ] }, { "allOf": [ { "$ref": "#/components/schemas/S3" } ] }, { "allOf": [ { "$ref": "#/components/schemas/ProjectFolder" } ] } ] }, "type": { "title": "Type", "default": "JobPathArgument", "type": "string", "pattern": "^JobPathArgument$", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } } }, "required": [ "name", "source" ], "additionalProperties": false } ], "title": "JobPathArgument", "description": "BaseModel with functionality to return the object as a yaml string.", "discriminator": { "propertyName": "type" } }, "FunctionNumberInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "properties": { "default": { "title": "Default", "description": "Default value to use for an input if a value was not supplied.", "type": "number", "format": "double" }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "FunctionNumberInput", "type": "string", "pattern": "^FunctionNumberInput$", "readOnly": true } }, "additionalProperties": false } ], "title": "FunctionNumberInput", "description": "A number input.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/numeric.html#numeric\nfor more information.", "discriminator": { "propertyName": "type" } }, "InputFolderReference": { "allOf": [ { "$ref": "#/components/schemas/_InputReferenceBase" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "InputFolderReference", "type": "string", "pattern": "^InputFolderReference$", "readOnly": true } }, "additionalProperties": false } ], "title": "InputFolderReference", "description": "An input folder reference", "discriminator": { "propertyName": "type" } }, "FunctionFolderOutput": { "allOf": [ { "$ref": "#/components/schemas/PathOutput" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "FunctionFolderOutput", "type": "string", "pattern": "^FunctionFolderOutput$", "readOnly": true } }, "additionalProperties": false } ], "title": "FunctionFolderOutput", "description": "Function Folder output.", "discriminator": { "propertyName": "type" } }, "FileReference": { "allOf": [ { "$ref": "#/components/schemas/_BaseReference" }, { "type": "object", "required": [ "path" ], "properties": { "path": { "title": "Path", "description": "Relative path to a file.", "type": "string" }, "type": { "title": "Type", "default": "FileReference", "type": "string", "pattern": "^FileReference$", "readOnly": true } }, "additionalProperties": false } ], "title": "FileReference", "description": "Reference to a file.", "discriminator": { "propertyName": "type" } }, "DAGBooleanOutputAlias": { "allOf": [ { "$ref": "#/components/schemas/GenericOutput" }, { "type": "object", "required": [ "from", "platform", "handler" ], "properties": { "from": { "title": "From", "description": "Reference to a file or a task output. Task output must be file.", "anyOf": [ { "allOf": [ { "$ref": "#/components/schemas/TaskReference" } ] }, { "allOf": [ { "$ref": "#/components/schemas/FileReference" } ] } ] }, "platform": { "title": "Platform", "description": "Name of the client platform (e.g. Grasshopper, Revit, etc). The value can be any strings as long as it has been agreed between client-side developer and author of the recipe.", "type": "array", "items": { "type": "string" } }, "handler": { "title": "Handler", "description": "List of process actions to process the input or output value.", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" } }, "type": { "title": "Type", "default": "DAGBooleanOutputAlias", "type": "string", "pattern": "^DAGBooleanOutputAlias$", "readOnly": true } }, "additionalProperties": false } ], "title": "DAGBooleanOutputAlias", "description": "DAG alias boolean output.\n\nThis output loads the content from a file as a boolean.", "discriminator": { "propertyName": "type" } }, "StepStringOutput": { "allOf": [ { "$ref": "#/components/schemas/FunctionStringOutput" }, { "type": "object", "required": [ "value" ], "properties": { "value": { "title": "Value", "type": "string" }, "type": { "title": "Type", "default": "StepStringOutput", "type": "string", "pattern": "^StepStringOutput$", "readOnly": true } }, "additionalProperties": false } ], "title": "StepStringOutput", "description": "A String output.", "discriminator": { "propertyName": "type" } }, "License": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "name": { "title": "Name", "description": "The license name used for the package.", "type": "string" }, "type": { "title": "Type", "default": "License", "type": "string", "pattern": "^License$", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "url": { "title": "Url", "description": "A URL to the license used for the package.", "type": "string", "minLength": 1, "maxLength": 65536, "format": "uri" } }, "required": [ "name" ], "additionalProperties": false } ], "title": "License", "description": "License information for the Package", "discriminator": { "propertyName": "type" } }, "DAGNumberOutputAlias": { "allOf": [ { "$ref": "#/components/schemas/GenericOutput" }, { "type": "object", "required": [ "from", "platform", "handler" ], "properties": { "from": { "title": "From", "description": "Reference to a file or a task output. Task output must be file.", "anyOf": [ { "allOf": [ { "$ref": "#/components/schemas/TaskReference" } ] }, { "allOf": [ { "$ref": "#/components/schemas/FileReference" } ] } ] }, "platform": { "title": "Platform", "description": "Name of the client platform (e.g. Grasshopper, Revit, etc). The value can be any strings as long as it has been agreed between client-side developer and author of the recipe.", "type": "array", "items": { "type": "string" } }, "handler": { "title": "Handler", "description": "List of process actions to process the input or output value.", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" } }, "type": { "title": "Type", "default": "DAGNumberOutputAlias", "type": "string", "pattern": "^DAGNumberOutputAlias$", "readOnly": true } }, "additionalProperties": false } ], "title": "DAGNumberOutputAlias", "description": "DAG alias number output.\n\nThis output loads the content from a file as a floating number.", "discriminator": { "propertyName": "type" } }, "DAGGenericOutputAlias": { "allOf": [ { "$ref": "#/components/schemas/FromOutput" }, { "type": "object", "required": [ "platform", "handler" ], "properties": { "platform": { "title": "Platform", "description": "Name of the client platform (e.g. Grasshopper, Revit, etc). The value can be any strings as long as it has been agreed between client-side developer and author of the recipe.", "type": "array", "items": { "type": "string" } }, "handler": { "title": "Handler", "description": "List of process actions to process the input or output value.", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" } }, "type": { "title": "Type", "default": "DAGGenericOutputAlias", "type": "string", "pattern": "^DAGGenericOutputAlias$", "readOnly": true } }, "additionalProperties": false } ], "title": "DAGGenericOutputAlias", "description": "DAG generic alias output.\n\nIn most cases, you should not be using the generic output unless you need a dynamic\noutput that changes its type in different platforms because of returning different\nobjects in handler.", "discriminator": { "propertyName": "type" } }, "DAGStringOutputAlias": { "allOf": [ { "$ref": "#/components/schemas/GenericOutput" }, { "type": "object", "required": [ "from", "platform", "handler" ], "properties": { "from": { "title": "From", "description": "Reference to a file or a task output. Task output must be file.", "anyOf": [ { "allOf": [ { "$ref": "#/components/schemas/TaskReference" } ] }, { "allOf": [ { "$ref": "#/components/schemas/FileReference" } ] } ] }, "platform": { "title": "Platform", "description": "Name of the client platform (e.g. Grasshopper, Revit, etc). The value can be any strings as long as it has been agreed between client-side developer and author of the recipe.", "type": "array", "items": { "type": "string" } }, "handler": { "title": "Handler", "description": "List of process actions to process the input or output value.", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" } }, "type": { "title": "Type", "default": "DAGStringOutputAlias", "type": "string", "pattern": "^DAGStringOutputAlias$", "readOnly": true } }, "additionalProperties": false } ], "title": "DAGStringOutputAlias", "description": "DAG alias string output.\n\nThis output loads the content from a file as a string.", "discriminator": { "propertyName": "type" } }, "DAGIntegerOutputAlias": { "allOf": [ { "$ref": "#/components/schemas/GenericOutput" }, { "type": "object", "required": [ "from", "platform", "handler" ], "properties": { "from": { "title": "From", "description": "Reference to a file or a task output. Task output must be file.", "anyOf": [ { "allOf": [ { "$ref": "#/components/schemas/TaskReference" } ] }, { "allOf": [ { "$ref": "#/components/schemas/FileReference" } ] } ] }, "platform": { "title": "Platform", "description": "Name of the client platform (e.g. Grasshopper, Revit, etc). The value can be any strings as long as it has been agreed between client-side developer and author of the recipe.", "type": "array", "items": { "type": "string" } }, "handler": { "title": "Handler", "description": "List of process actions to process the input or output value.", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" } }, "type": { "title": "Type", "default": "DAGIntegerOutputAlias", "type": "string", "pattern": "^DAGIntegerOutputAlias$", "readOnly": true } }, "additionalProperties": false } ], "title": "DAGIntegerOutputAlias", "description": "DAG alias integer output.\n\nThis output loads the content from a file as an integer.", "discriminator": { "propertyName": "type" } }, "FolderReference": { "allOf": [ { "$ref": "#/components/schemas/_BaseReference" }, { "type": "object", "required": [ "path" ], "properties": { "path": { "title": "Path", "description": "Relative path to a folder.", "type": "string" }, "type": { "title": "Type", "default": "FolderReference", "type": "string", "pattern": "^FolderReference$", "readOnly": true } }, "additionalProperties": false } ], "title": "FolderReference", "description": "Reference to a folder.", "discriminator": { "propertyName": "type" } }, "DAGFolderOutputAlias": { "allOf": [ { "$ref": "#/components/schemas/GenericOutput" }, { "type": "object", "required": [ "from", "platform", "handler" ], "properties": { "from": { "title": "From", "description": "Reference to a folder or a task output. Task output must be folder.", "anyOf": [ { "allOf": [ { "$ref": "#/components/schemas/TaskReference" } ] }, { "allOf": [ { "$ref": "#/components/schemas/FolderReference" } ] } ] }, "platform": { "title": "Platform", "description": "Name of the client platform (e.g. Grasshopper, Revit, etc). The value can be any strings as long as it has been agreed between client-side developer and author of the recipe.", "type": "array", "items": { "type": "string" } }, "handler": { "title": "Handler", "description": "List of process actions to process the input or output value.", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" } }, "type": { "title": "Type", "default": "DAGFolderOutputAlias", "type": "string", "pattern": "^DAGFolderOutputAlias$", "readOnly": true } }, "additionalProperties": false } ], "title": "DAGFolderOutputAlias", "description": "DAG alias folder output.", "discriminator": { "propertyName": "type" } }, "DAGFileOutputAlias": { "allOf": [ { "$ref": "#/components/schemas/GenericOutput" }, { "type": "object", "required": [ "from", "platform", "handler" ], "properties": { "from": { "title": "From", "description": "Reference to a file or a task output. Task output must be file.", "anyOf": [ { "allOf": [ { "$ref": "#/components/schemas/TaskReference" } ] }, { "allOf": [ { "$ref": "#/components/schemas/FileReference" } ] } ] }, "platform": { "title": "Platform", "description": "Name of the client platform (e.g. Grasshopper, Revit, etc). The value can be any strings as long as it has been agreed between client-side developer and author of the recipe.", "type": "array", "items": { "type": "string" } }, "handler": { "title": "Handler", "description": "List of process actions to process the input or output value.", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" } }, "type": { "title": "Type", "default": "DAGFileOutputAlias", "type": "string", "pattern": "^DAGFileOutputAlias$", "readOnly": true } }, "additionalProperties": false } ], "title": "DAGFileOutputAlias", "description": "DAG alias file output.", "discriminator": { "propertyName": "type" } }, "DAGPathOutputAlias": { "allOf": [ { "$ref": "#/components/schemas/GenericOutput" }, { "type": "object", "required": [ "from", "platform", "handler" ], "properties": { "from": { "title": "From", "description": "Reference to a file, folder or a task output. Task output must either be a file or a folder.", "anyOf": [ { "allOf": [ { "$ref": "#/components/schemas/TaskReference" } ] }, { "allOf": [ { "$ref": "#/components/schemas/FileReference" } ] }, { "allOf": [ { "$ref": "#/components/schemas/FolderReference" } ] } ] }, "platform": { "title": "Platform", "description": "Name of the client platform (e.g. Grasshopper, Revit, etc). The value can be any strings as long as it has been agreed between client-side developer and author of the recipe.", "type": "array", "items": { "type": "string" } }, "handler": { "title": "Handler", "description": "List of process actions to process the input or output value.", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" } }, "type": { "title": "Type", "default": "DAGPathOutputAlias", "type": "string", "pattern": "^DAGPathOutputAlias$", "readOnly": true } }, "additionalProperties": false } ], "title": "DAGPathOutputAlias", "description": "DAG alias path output.", "discriminator": { "propertyName": "type" } }, "DAGArrayOutputAlias": { "allOf": [ { "$ref": "#/components/schemas/GenericOutput" }, { "type": "object", "required": [ "from", "platform", "handler" ], "properties": { "from": { "title": "From", "description": "Reference to a file or a task output. Task output must be file.", "anyOf": [ { "allOf": [ { "$ref": "#/components/schemas/TaskReference" } ] }, { "allOf": [ { "$ref": "#/components/schemas/FileReference" } ] } ] }, "platform": { "title": "Platform", "description": "Name of the client platform (e.g. Grasshopper, Revit, etc). The value can be any strings as long as it has been agreed between client-side developer and author of the recipe.", "type": "array", "items": { "type": "string" } }, "handler": { "title": "Handler", "description": "List of process actions to process the input or output value.", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" } }, "items_type": { "title": "Items Type", "description": "Type of items in this array. All the items in an array must be from the same type.", "default": "String", "enum": [ "Generic", "String", "Integer", "Number", "Boolean", "File", "Folder", "Path", "Array", "JSONObject" ], "type": "string" }, "type": { "title": "Type", "default": "DAGArrayOutputAlias", "type": "string", "pattern": "^DAGArrayOutputAlias$", "readOnly": true } }, "additionalProperties": false } ], "title": "DAGArrayOutputAlias", "description": "DAG alias array output.\n\nThis output loads the content from a JSON file which must be a JSON Array.", "discriminator": { "propertyName": "type" } }, "DAGJSONObjectOutputAlias": { "allOf": [ { "$ref": "#/components/schemas/GenericOutput" }, { "type": "object", "required": [ "from", "platform", "handler" ], "properties": { "from": { "title": "From", "description": "Reference to a file or a task output. Task output must be file.", "anyOf": [ { "allOf": [ { "$ref": "#/components/schemas/TaskReference" } ] }, { "allOf": [ { "$ref": "#/components/schemas/FileReference" } ] } ] }, "platform": { "title": "Platform", "description": "Name of the client platform (e.g. Grasshopper, Revit, etc). The value can be any strings as long as it has been agreed between client-side developer and author of the recipe.", "type": "array", "items": { "type": "string" } }, "handler": { "title": "Handler", "description": "List of process actions to process the input or output value.", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" } }, "type": { "title": "Type", "default": "DAGJSONObjectOutputAlias", "type": "string", "pattern": "^DAGJSONObjectOutputAlias$", "readOnly": true } }, "additionalProperties": false } ], "title": "DAGJSONObjectOutputAlias", "description": "DAG alias object output.\n\nThis output loads the content from a file as a JSON object.", "discriminator": { "propertyName": "type" } }, "DAGLinkedOutputAlias": { "allOf": [ { "$ref": "#/components/schemas/DAGGenericOutputAlias" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "DAGLinkedOutputAlias", "type": "string", "pattern": "^DAGLinkedOutputAlias$", "readOnly": true } }, "additionalProperties": false } ], "title": "DAGLinkedOutputAlias", "description": "An Alias for Linked Outputs.\n\nA linked output alias will be translated to an object in the UI and stay linked to\nit.", "discriminator": { "propertyName": "type" } }, "DAGIntegerOutput": { "allOf": [ { "$ref": "#/components/schemas/GenericOutput" }, { "type": "object", "required": [ "from" ], "properties": { "from": { "title": "From", "description": "Reference to a file or a task output. Task output must be file.", "anyOf": [ { "allOf": [ { "$ref": "#/components/schemas/TaskReference" } ] }, { "allOf": [ { "$ref": "#/components/schemas/FileReference" } ] } ] }, "alias": { "title": "Alias", "description": "A list of additional processes for loading this output on different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericOutputAlias" }, { "$ref": "#/components/schemas/DAGStringOutputAlias" }, { "$ref": "#/components/schemas/DAGIntegerOutputAlias" }, { "$ref": "#/components/schemas/DAGNumberOutputAlias" }, { "$ref": "#/components/schemas/DAGBooleanOutputAlias" }, { "$ref": "#/components/schemas/DAGFolderOutputAlias" }, { "$ref": "#/components/schemas/DAGFileOutputAlias" }, { "$ref": "#/components/schemas/DAGPathOutputAlias" }, { "$ref": "#/components/schemas/DAGArrayOutputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectOutputAlias" }, { "$ref": "#/components/schemas/DAGLinkedOutputAlias" } ] } }, "type": { "title": "Type", "default": "DAGIntegerOutput", "type": "string", "pattern": "^DAGIntegerOutput$", "readOnly": true } }, "additionalProperties": false } ], "title": "DAGIntegerOutput", "description": "DAG integer output.\n\nThis output loads the content from a file as an integer.", "discriminator": { "propertyName": "type" } }, "TaskFolderReference": { "allOf": [ { "$ref": "#/components/schemas/_TaskReferenceBase" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "TaskFolderReference", "type": "string", "pattern": "^TaskFolderReference$", "readOnly": true } }, "additionalProperties": false } ], "title": "TaskFolderReference", "description": "A reference to a folder that is generated in a task.", "discriminator": { "propertyName": "type" } }, "DAGArrayOutput": { "allOf": [ { "$ref": "#/components/schemas/GenericOutput" }, { "type": "object", "required": [ "from" ], "properties": { "from": { "title": "From", "description": "Reference to a file or a task output. Task output must be file.", "anyOf": [ { "allOf": [ { "$ref": "#/components/schemas/TaskReference" } ] }, { "allOf": [ { "$ref": "#/components/schemas/FileReference" } ] } ] }, "alias": { "title": "Alias", "description": "A list of additional processes for loading this output on different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericOutputAlias" }, { "$ref": "#/components/schemas/DAGStringOutputAlias" }, { "$ref": "#/components/schemas/DAGIntegerOutputAlias" }, { "$ref": "#/components/schemas/DAGNumberOutputAlias" }, { "$ref": "#/components/schemas/DAGBooleanOutputAlias" }, { "$ref": "#/components/schemas/DAGFolderOutputAlias" }, { "$ref": "#/components/schemas/DAGFileOutputAlias" }, { "$ref": "#/components/schemas/DAGPathOutputAlias" }, { "$ref": "#/components/schemas/DAGArrayOutputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectOutputAlias" }, { "$ref": "#/components/schemas/DAGLinkedOutputAlias" } ] } }, "items_type": { "title": "Items Type", "description": "Type of items in this array. All the items in an array must be from the same type.", "default": "String", "enum": [ "Generic", "String", "Integer", "Number", "Boolean", "File", "Folder", "Path", "Array", "JSONObject" ], "type": "string" }, "type": { "title": "Type", "default": "DAGArrayOutput", "type": "string", "pattern": "^DAGArrayOutput$", "readOnly": true } }, "additionalProperties": false } ], "title": "DAGArrayOutput", "description": "DAG array output.\n\nThis output loads the content from a JSON file which must be a JSON Array.", "discriminator": { "propertyName": "type" } }, "PolicySubject": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "subject_type": { "title": "Subject Type", "enum": [ "user", "team" ], "type": "string" }, "name": { "title": "Name", "description": "The name of the policy subject", "example": "ladybugbot", "type": "string" }, "type": { "title": "Type", "default": "PolicySubject", "type": "string", "pattern": "^PolicySubject$", "readOnly": true } }, "required": [ "subject_type", "name" ] } ], "title": "PolicySubject", "discriminator": { "propertyName": "type" } }, "RepositoryAccessPolicy": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "subject", "permission" ], "properties": { "subject": { "title": "Subject", "description": "The subject of the access policy", "allOf": [ { "$ref": "#/components/schemas/PolicySubject" } ] }, "permission": { "title": "Permission", "description": "The permission given to the subject of the access policy", "example": "write", "enum": [ "admin", "write", "read" ], "type": "string" }, "type": { "title": "Type", "default": "RepositoryAccessPolicy", "type": "string", "pattern": "^RepositoryAccessPolicy$", "readOnly": true } } } ], "title": "RepositoryAccessPolicy", "discriminator": { "propertyName": "type" } }, "FunctionBooleanInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "properties": { "default": { "title": "Default", "description": "Default value to use for an input if a value was not supplied.", "type": "boolean" }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "FunctionBooleanInput", "type": "string", "pattern": "^FunctionBooleanInput$", "readOnly": true } }, "additionalProperties": false } ], "title": "FunctionBooleanInput", "description": "The boolean type matches only two special values: True and False.\n\nNote that values that evaluate to true or false, such as 1 and 0, are not accepted.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/boolean.html for more\ninformation.", "discriminator": { "propertyName": "type" } }, "Team": { "allOf": [ { "$ref": "#/components/schemas/TeamUpdate" }, { "type": "object", "required": [ "id", "slug" ], "properties": { "id": { "title": "Id", "description": "The team ID", "example": "142ee933-6110-4186-92ab-92df359aa108", "type": "string" }, "slug": { "title": "Slug", "description": "The slug of the team", "example": "honeybee-contributors", "type": "string" }, "member_count": { "title": "Member Count", "description": "The number of members that are part of this team", "default": 0, "example": 5, "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "Team", "type": "string", "pattern": "^Team$", "readOnly": true } } } ], "title": "Team", "discriminator": { "propertyName": "type" } }, "TeamList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "properties": { "page": { "title": "Page", "description": "The current page the pagination request is on", "type": "integer", "format": "int32" }, "per_page": { "title": "Per Page", "description": "The number of pages per pagination request", "type": "integer", "format": "int32" }, "page_count": { "title": "Page Count", "description": "The total number of pages", "type": "integer", "format": "int32" }, "total_count": { "title": "Total Count", "description": "The total number of resources matching the list request", "type": "integer", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/Team" } }, "next_page": { "title": "Next Page", "description": "The next page, if this on is not the last", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "TeamList", "type": "string", "pattern": "^TeamList$", "readOnly": true } } } ], "title": "TeamList", "description": "A list response from a pagination request", "discriminator": { "propertyName": "type" } }, "DAGStringInput": { "allOf": [ { "$ref": "#/components/schemas/DAGGenericInput" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "DAGStringInput", "type": "string", "pattern": "^DAGStringInput$", "readOnly": true } }, "additionalProperties": false } ], "title": "DAGStringInput", "description": "A String input.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/string.html#string for\nmore information.\n\n.. code-block:: python\n\n \"schema\": {\n \"type\": \"string\",\n \"maxLength\": 50,\n \"pattern\": \"(?i)(^.*\\.epw$)\"\n }", "discriminator": { "propertyName": "type" } }, "StepStringInput": { "allOf": [ { "$ref": "#/components/schemas/FunctionStringInput" }, { "type": "object", "required": [ "value" ], "properties": { "value": { "title": "Value", "type": "string" }, "type": { "title": "Type", "default": "StepStringInput", "type": "string", "pattern": "^StepStringInput$", "readOnly": true } }, "additionalProperties": false } ], "title": "StepStringInput", "description": "A String input.", "discriminator": { "propertyName": "type" } }, "StepIntegerInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "value" ], "properties": { "value": { "title": "Value", "type": "integer", "format": "int32" }, "default": { "title": "Default", "description": "Default value to use for an input if a value was not supplied.", "type": "integer", "format": "int32" }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "StepIntegerInput", "type": "string", "pattern": "^StepIntegerInput$", "readOnly": true } }, "additionalProperties": false } ], "title": "StepIntegerInput", "description": "An integer input.", "discriminator": { "propertyName": "type" } }, "StepNumberInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "value" ], "properties": { "value": { "title": "Value", "type": "number", "format": "double" }, "default": { "title": "Default", "description": "Default value to use for an input if a value was not supplied.", "type": "number", "format": "double" }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "StepNumberInput", "type": "string", "pattern": "^StepNumberInput$", "readOnly": true } }, "additionalProperties": false } ], "title": "StepNumberInput", "description": "A number input.", "discriminator": { "propertyName": "type" } }, "StepBooleanInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "value" ], "properties": { "value": { "title": "Value", "type": "boolean" }, "default": { "title": "Default", "description": "Default value to use for an input if a value was not supplied.", "type": "boolean" }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "StepBooleanInput", "type": "string", "pattern": "^StepBooleanInput$", "readOnly": true } }, "additionalProperties": false } ], "title": "StepBooleanInput", "description": "The boolean type matches only two special values: True and False.", "discriminator": { "propertyName": "type" } }, "StepFolderInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "source" ], "properties": { "source": { "title": "Source", "description": "The path to source the file from.", "anyOf": [ { "allOf": [ { "$ref": "#/components/schemas/HTTP" } ] }, { "allOf": [ { "$ref": "#/components/schemas/S3" } ] }, { "allOf": [ { "$ref": "#/components/schemas/ProjectFolder" } ] } ] }, "default": { "title": "Default", "description": "The default source for file if the value is not provided.", "anyOf": [ { "allOf": [ { "$ref": "#/components/schemas/HTTP" } ] }, { "allOf": [ { "$ref": "#/components/schemas/S3" } ] }, { "allOf": [ { "$ref": "#/components/schemas/ProjectFolder" } ] } ] }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "path": { "title": "Path", "description": "Path to the target location that the input will be copied to. This path is relative to the working directory where the command is executed.", "type": "string" }, "type": { "title": "Type", "default": "StepFolderInput", "type": "string", "pattern": "^StepFolderInput$", "readOnly": true } }, "additionalProperties": false } ], "title": "StepFolderInput", "description": "A folder input.", "discriminator": { "propertyName": "type" } }, "StepFileInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "source" ], "properties": { "source": { "title": "Source", "description": "The path to source the file from.", "anyOf": [ { "allOf": [ { "$ref": "#/components/schemas/HTTP" } ] }, { "allOf": [ { "$ref": "#/components/schemas/S3" } ] }, { "allOf": [ { "$ref": "#/components/schemas/ProjectFolder" } ] } ] }, "default": { "title": "Default", "description": "The default source for file if the value is not provided.", "anyOf": [ { "allOf": [ { "$ref": "#/components/schemas/HTTP" } ] }, { "allOf": [ { "$ref": "#/components/schemas/S3" } ] }, { "allOf": [ { "$ref": "#/components/schemas/ProjectFolder" } ] } ] }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "path": { "title": "Path", "description": "Path to the target location that the input will be copied to. This path is relative to the working directory where the command is executed.", "type": "string" }, "extensions": { "title": "Extensions", "description": "Optional list of extensions for file. The check for extension is case-insensitive.", "type": "array", "items": { "type": "string" } }, "type": { "title": "Type", "default": "StepFileInput", "type": "string", "pattern": "^StepFileInput$", "readOnly": true } }, "additionalProperties": false } ], "title": "StepFileInput", "description": "A file input.", "discriminator": { "propertyName": "type" } }, "StepPathInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "source" ], "properties": { "source": { "title": "Source", "description": "The path to source the file from.", "anyOf": [ { "allOf": [ { "$ref": "#/components/schemas/HTTP" } ] }, { "allOf": [ { "$ref": "#/components/schemas/S3" } ] }, { "allOf": [ { "$ref": "#/components/schemas/ProjectFolder" } ] } ] }, "default": { "title": "Default", "description": "The default source for file if the value is not provided.", "anyOf": [ { "allOf": [ { "$ref": "#/components/schemas/HTTP" } ] }, { "allOf": [ { "$ref": "#/components/schemas/S3" } ] }, { "allOf": [ { "$ref": "#/components/schemas/ProjectFolder" } ] } ] }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "path": { "title": "Path", "description": "Path to the target location that the input will be copied to. This path is relative to the working directory where the command is executed.", "type": "string" }, "extensions": { "title": "Extensions", "description": "Optional list of extensions for file. The check for extension is case-insensitive.", "type": "array", "items": { "type": "string" } }, "type": { "title": "Type", "default": "StepPathInput", "type": "string", "pattern": "^StepPathInput$", "readOnly": true } }, "additionalProperties": false } ], "title": "StepPathInput", "description": "A file or a folder input.", "discriminator": { "propertyName": "type" } }, "StepArrayInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "value" ], "properties": { "value": { "title": "Value", "type": "array", "items": {} }, "default": { "title": "Default", "description": "Default value to use for an input if a value was not supplied.", "type": "array", "items": {} }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "items_type": { "title": "Items Type", "description": "Type of items in an array. All the items in an array must be from the same type.", "default": "String", "enum": [ "Generic", "String", "Integer", "Number", "Boolean", "File", "Folder", "Path", "Array", "JSONObject" ], "type": "string" }, "type": { "title": "Type", "default": "StepArrayInput", "type": "string", "pattern": "^StepArrayInput$", "readOnly": true } }, "additionalProperties": false } ], "title": "StepArrayInput", "description": "An array input.", "discriminator": { "propertyName": "type" } }, "StepIntegerOutput": { "allOf": [ { "$ref": "#/components/schemas/FunctionIntegerOutput" }, { "type": "object", "required": [ "value" ], "properties": { "value": { "title": "Value", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "StepIntegerOutput", "type": "string", "pattern": "^StepIntegerOutput$", "readOnly": true } }, "additionalProperties": false } ], "title": "StepIntegerOutput", "description": "An integer output.", "discriminator": { "propertyName": "type" } }, "StepNumberOutput": { "allOf": [ { "$ref": "#/components/schemas/FunctionNumberOutput" }, { "type": "object", "required": [ "value" ], "properties": { "value": { "title": "Value", "type": "number", "format": "double" }, "type": { "title": "Type", "default": "StepNumberOutput", "type": "string", "pattern": "^StepNumberOutput$", "readOnly": true } }, "additionalProperties": false } ], "title": "StepNumberOutput", "description": "A number output.", "discriminator": { "propertyName": "type" } }, "StepBooleanOutput": { "allOf": [ { "$ref": "#/components/schemas/FunctionBooleanOutput" }, { "type": "object", "required": [ "value" ], "properties": { "value": { "title": "Value", "type": "boolean" }, "type": { "title": "Type", "default": "StepBooleanOutput", "type": "string", "pattern": "^StepBooleanOutput$", "readOnly": true } }, "additionalProperties": false } ], "title": "StepBooleanOutput", "description": "The boolean type matches only two special values: True and False.", "discriminator": { "propertyName": "type" } }, "StepFolderOutput": { "allOf": [ { "$ref": "#/components/schemas/FunctionFolderOutput" }, { "type": "object", "required": [ "source" ], "properties": { "source": { "title": "Source", "description": "The path to source the file from.", "anyOf": [ { "allOf": [ { "$ref": "#/components/schemas/HTTP" } ] }, { "allOf": [ { "$ref": "#/components/schemas/S3" } ] }, { "allOf": [ { "$ref": "#/components/schemas/ProjectFolder" } ] } ] }, "type": { "title": "Type", "default": "StepFolderOutput", "type": "string", "pattern": "^StepFolderOutput$", "readOnly": true } }, "additionalProperties": false } ], "title": "StepFolderOutput", "description": "A folder output.", "discriminator": { "propertyName": "type" } }, "StepPathOutput": { "allOf": [ { "$ref": "#/components/schemas/FunctionPathOutput" }, { "type": "object", "required": [ "source" ], "properties": { "source": { "title": "Source", "description": "The path to source the file from.", "anyOf": [ { "allOf": [ { "$ref": "#/components/schemas/HTTP" } ] }, { "allOf": [ { "$ref": "#/components/schemas/S3" } ] }, { "allOf": [ { "$ref": "#/components/schemas/ProjectFolder" } ] } ] }, "type": { "title": "Type", "default": "StepPathOutput", "type": "string", "pattern": "^StepPathOutput$", "readOnly": true } }, "additionalProperties": false } ], "title": "StepPathOutput", "description": "A file or a folder output.", "discriminator": { "propertyName": "type" } }, "StepArrayOutput": { "allOf": [ { "$ref": "#/components/schemas/FunctionArrayOutput" }, { "type": "object", "required": [ "value" ], "properties": { "value": { "title": "Value", "type": "array", "items": {} }, "type": { "title": "Type", "default": "StepArrayOutput", "type": "string", "pattern": "^StepArrayOutput$", "readOnly": true } }, "additionalProperties": false } ], "title": "StepArrayOutput", "description": "An array output.", "discriminator": { "propertyName": "type" } }, "StepJSONObjectOutput": { "allOf": [ { "$ref": "#/components/schemas/FunctionJSONObjectOutput" }, { "type": "object", "required": [ "value" ], "properties": { "value": { "title": "Value", "type": "object" }, "type": { "title": "Type", "default": "StepJSONObjectOutput", "type": "string", "pattern": "^StepJSONObjectOutput$", "readOnly": true } }, "additionalProperties": false } ], "title": "StepJSONObjectOutput", "description": "A JSON object output.", "discriminator": { "propertyName": "type" } }, "StepStatus": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "inputs", "outputs", "status", "started_at", "id", "name", "status_type", "template_ref", "children_ids", "outbound_steps" ], "properties": { "inputs": { "title": "Inputs", "description": "The inputs used by this step.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/StepStringInput" }, { "$ref": "#/components/schemas/StepIntegerInput" }, { "$ref": "#/components/schemas/StepNumberInput" }, { "$ref": "#/components/schemas/StepBooleanInput" }, { "$ref": "#/components/schemas/StepFolderInput" }, { "$ref": "#/components/schemas/StepFileInput" }, { "$ref": "#/components/schemas/StepPathInput" }, { "$ref": "#/components/schemas/StepArrayInput" }, { "$ref": "#/components/schemas/StepJSONObjectInput" } ] } }, "outputs": { "title": "Outputs", "description": "The outputs produced by this step.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/StepStringOutput" }, { "$ref": "#/components/schemas/StepIntegerOutput" }, { "$ref": "#/components/schemas/StepNumberOutput" }, { "$ref": "#/components/schemas/StepBooleanOutput" }, { "$ref": "#/components/schemas/StepFolderOutput" }, { "$ref": "#/components/schemas/StepFileOutput" }, { "$ref": "#/components/schemas/StepPathOutput" }, { "$ref": "#/components/schemas/StepArrayOutput" }, { "$ref": "#/components/schemas/StepJSONObjectOutput" } ] } }, "status": { "title": "Status", "description": "The status of this task. Can be \"Running\", \"Succeeded\", \"Failed\" or \"Error\"", "type": "string" }, "started_at": { "title": "Started At", "description": "The time at which the task was started", "type": "string", "format": "date-time" }, "id": { "title": "Id", "description": "The step unique ID", "type": "string" }, "name": { "title": "Name", "description": "A human readable name for the step. Usually defined by the DAG task name but can be extended if the step is part of a loop for example. This name is unique within the boundary of the DAG/Job that generated it.", "type": "string" }, "status_type": { "title": "Status Type", "description": "The type of step this status is for. Can be \"Function\", \"DAG\" or \"Loop\"", "enum": [ "Function", "DAG", "Loop", "Unknown" ], "type": "string" }, "template_ref": { "title": "Template Ref", "description": "The name of the template that spawned this step", "type": "string" }, "children_ids": { "title": "Children Ids", "description": "A list of child step IDs", "type": "array", "items": { "type": "string" } }, "outbound_steps": { "title": "Outbound Steps", "description": "A list of the last step to ran in the context of this step. In the case of a DAG or a job this will be the last step that has been executed. It will remain empty for functions.", "type": "array", "items": { "type": "string" } }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "message": { "title": "Message", "description": "Any message produced by the task. Usually error/debugging hints.", "type": "string" }, "finished_at": { "title": "Finished At", "description": "The time at which the task was completed", "type": "string", "format": "date-time" }, "source": { "title": "Source", "description": "Source url for the status object. It can be a recipe or a function.", "type": "string" }, "command": { "title": "Command", "description": "The command used to run this step. Only applies to Function steps.", "type": "string" }, "boundary_id": { "title": "Boundary Id", "description": "This indicates the step ID of the associated template root step in which this step belongs to. A DAG step will have the id of the parent DAG for example.", "type": "string" }, "type": { "title": "Type", "default": "StepStatus", "type": "string", "pattern": "^StepStatus$", "readOnly": true } }, "additionalProperties": false } ], "title": "StepStatus", "description": "The Status of a Job Step", "discriminator": { "propertyName": "type" } }, "DAGGenericOutput": { "allOf": [ { "$ref": "#/components/schemas/FromOutput" }, { "type": "object", "properties": { "alias": { "title": "Alias", "description": "A list of additional processes for loading this output on different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericOutputAlias" }, { "$ref": "#/components/schemas/DAGStringOutputAlias" }, { "$ref": "#/components/schemas/DAGIntegerOutputAlias" }, { "$ref": "#/components/schemas/DAGNumberOutputAlias" }, { "$ref": "#/components/schemas/DAGBooleanOutputAlias" }, { "$ref": "#/components/schemas/DAGFolderOutputAlias" }, { "$ref": "#/components/schemas/DAGFileOutputAlias" }, { "$ref": "#/components/schemas/DAGPathOutputAlias" }, { "$ref": "#/components/schemas/DAGArrayOutputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectOutputAlias" }, { "$ref": "#/components/schemas/DAGLinkedOutputAlias" } ] } }, "type": { "title": "Type", "default": "DAGGenericOutput", "type": "string", "pattern": "^DAGGenericOutput$", "readOnly": true } }, "additionalProperties": false } ], "title": "DAGGenericOutput", "description": "DAG generic output.\n\nIn most cases, you should not be using the generic output unless you need a dynamic\noutput that changes its type in different platforms because of returning different\nobjects in handler.", "discriminator": { "propertyName": "type" } }, "RepositoryUserPermissions": { "allOf": [ { "$ref": "#/components/schemas/UserPermission" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "RepositoryUserPermissions", "type": "string", "pattern": "^RepositoryUserPermissions$", "readOnly": true } } } ], "title": "RepositoryUserPermissions", "discriminator": { "propertyName": "type" } }, "ValueFolderReference": { "allOf": [ { "$ref": "#/components/schemas/ValueFileReference" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "ValueFolderReference", "type": "string", "pattern": "^ValueFolderReference$", "readOnly": true } }, "additionalProperties": false } ], "title": "ValueFolderReference", "description": "A reference to a fixed folder.", "discriminator": { "propertyName": "type" } }, "ProjectUserPermissions": { "allOf": [ { "$ref": "#/components/schemas/UserPermission" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "ProjectUserPermissions", "type": "string", "pattern": "^ProjectUserPermissions$", "readOnly": true } } } ], "title": "ProjectUserPermissions", "discriminator": { "propertyName": "type" } }, "Maintainer": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "name": { "title": "Name", "description": "The name of the author/maintainer person or organization.", "type": "string" }, "type": { "title": "Type", "default": "Maintainer", "type": "string", "pattern": "^Maintainer$", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "email": { "title": "Email", "description": "The email address of the author/maintainer person or organization.", "type": "string" } }, "required": [ "name" ], "additionalProperties": false } ], "title": "Maintainer", "description": "Maintainer information", "discriminator": { "propertyName": "type" } }, "MetaData": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "name": { "title": "Name", "description": "Package name. Make it descriptive and helpful ;)", "type": "string" }, "tag": { "title": "Tag", "description": "The tag of the package", "type": "string" }, "type": { "title": "Type", "default": "MetaData", "type": "string", "pattern": "^MetaData$", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "app_version": { "title": "App Version", "description": "The version of the application code underlying the manifest", "type": "string" }, "keywords": { "title": "Keywords", "description": "A list of keywords to search the package by", "type": "array", "items": { "type": "string" } }, "maintainers": { "title": "Maintainers", "description": "A list of maintainers for the package", "type": "array", "items": { "$ref": "#/components/schemas/Maintainer" } }, "home": { "title": "Home", "description": "The URL of this package's home page", "type": "string" }, "sources": { "title": "Sources", "description": "A list of URLs to source code for this project", "type": "array", "items": { "type": "string" } }, "icon": { "title": "Icon", "description": "A URL to an SVG or PNG image to be used as an icon", "type": "string" }, "deprecated": { "title": "Deprecated", "description": "Whether this package is deprecated", "type": "boolean" }, "description": { "title": "Description", "description": "A description of what this package does", "type": "string" }, "license": { "title": "License", "description": "The license information.", "allOf": [ { "$ref": "#/components/schemas/License" } ] } }, "required": [ "name", "tag" ], "additionalProperties": false } ], "title": "MetaData", "description": "Package metadata information.", "discriminator": { "propertyName": "type" } }, "DAGGenericInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "properties": { "default": { "title": "Default", "description": "Default value for generic input.", "type": "string" }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "DAGGenericInput", "type": "string", "pattern": "^DAGGenericInput$", "readOnly": true } }, "additionalProperties": false } ], "title": "DAGGenericInput", "description": "Base class for DAG inputs.\n\nThis class adds a handler to input to handle the process of loading the input\nfrom different graphical interfaces.", "discriminator": { "propertyName": "type" } }, "DAGIntegerInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "properties": { "default": { "title": "Default", "description": "Default value to use for an input if a value was not supplied.", "type": "integer", "format": "int32" }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "DAGIntegerInput", "type": "string", "pattern": "^DAGIntegerInput$", "readOnly": true } }, "additionalProperties": false } ], "title": "DAGIntegerInput", "description": "An integer input.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/numeric.html#numeric\nfor more information.", "discriminator": { "propertyName": "type" } }, "DAGNumberInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "properties": { "default": { "title": "Default", "description": "Default value to use for an input if a value was not supplied.", "type": "number", "format": "double" }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "DAGNumberInput", "type": "string", "pattern": "^DAGNumberInput$", "readOnly": true } }, "additionalProperties": false } ], "title": "DAGNumberInput", "description": "A number input.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/numeric.html#numeric\nfor more information.", "discriminator": { "propertyName": "type" } }, "DAGBooleanInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "properties": { "default": { "title": "Default", "description": "Default value to use for an input if a value was not supplied.", "type": "boolean" }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "DAGBooleanInput", "type": "string", "pattern": "^DAGBooleanInput$", "readOnly": true } }, "additionalProperties": false } ], "title": "DAGBooleanInput", "description": "The boolean type matches only two special values: True and False.\n\nNote that values that evaluate to true or false, such as 1 and 0, are not accepted.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/boolean.html for more\ninformation.", "discriminator": { "propertyName": "type" } }, "DAGFolderInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "properties": { "default": { "title": "Default", "description": "The default source for file if the value is not provided.", "anyOf": [ { "allOf": [ { "$ref": "#/components/schemas/HTTP" } ] }, { "allOf": [ { "$ref": "#/components/schemas/S3" } ] }, { "allOf": [ { "$ref": "#/components/schemas/ProjectFolder" } ] } ] }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "DAGFolderInput", "type": "string", "pattern": "^DAGFolderInput$", "readOnly": true } }, "additionalProperties": false } ], "title": "DAGFolderInput", "description": "A folder input.\n\nFolder is a special string input. Unlike other string inputs, a folder will be copied\nfrom its location to execution folder when a workflow is executed.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/string.html#string for\nmore information.\n\n.. code-block:: python\n\n \"schema\": {\n \"type\": \"string\",\n \"maxLength\": 50,\n }", "discriminator": { "propertyName": "type" } }, "DAGFileInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "properties": { "default": { "title": "Default", "description": "The default source for file if the value is not provided.", "anyOf": [ { "allOf": [ { "$ref": "#/components/schemas/HTTP" } ] }, { "allOf": [ { "$ref": "#/components/schemas/S3" } ] }, { "allOf": [ { "$ref": "#/components/schemas/ProjectFolder" } ] } ] }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "extensions": { "title": "Extensions", "description": "Optional list of extensions for file. The check for extension is case-insensitive.", "type": "array", "items": { "type": "string" } }, "type": { "title": "Type", "default": "DAGFileInput", "type": "string", "pattern": "^DAGFileInput$", "readOnly": true } }, "additionalProperties": false } ], "title": "DAGFileInput", "description": "A file input.\n\nFile is a special string input. Unlike other string inputs, a file will be copied\nfrom its location to execution folder when a workflow is executed.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/string.html#string for\nmore information.\n\n.. code-block:: python\n\n # a file with maximum 50 characters with an ``epw`` extension.\n\n \"schema\": {\n \"type\": \"string\",\n \"maxLength\": 50,\n \"pattern\": \"(?i)(^.*\\.epw$)\"\n }", "discriminator": { "propertyName": "type" } }, "DAGPathInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "properties": { "default": { "title": "Default", "description": "The default source for file if the value is not provided.", "anyOf": [ { "allOf": [ { "$ref": "#/components/schemas/HTTP" } ] }, { "allOf": [ { "$ref": "#/components/schemas/S3" } ] }, { "allOf": [ { "$ref": "#/components/schemas/ProjectFolder" } ] } ] }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "extensions": { "title": "Extensions", "description": "Optional list of extensions for path. The check for extension is case-insensitive. The extension will only be validated for file inputs.", "type": "array", "items": { "type": "string" } }, "type": { "title": "Type", "default": "DAGPathInput", "type": "string", "pattern": "^DAGPathInput$", "readOnly": true } }, "additionalProperties": false } ], "title": "DAGPathInput", "description": "A file or a folder input.\n\nUse this input only in cases that the input can be either a file or folder. For file\nor folder-only inputs see File and Folder.\n\nPath is a special string input. Unlike other string inputs, a path will be copied\nfrom its location to execution folder when a workflow is executed.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/string.html#string for\nmore information.\n\n.. code-block:: python\n\n # a file with maximum 50 characters with an ``epw`` extension.\n\n \"schema\": {\n \"type\": \"string\",\n \"maxLength\": 50,\n \"pattern\": \"(?i)(^.*\\.epw$)\"\n }", "discriminator": { "propertyName": "type" } }, "DAGArrayInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "properties": { "default": { "title": "Default", "description": "Default value to use for an input if a value was not supplied.", "type": "array", "items": {} }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "items_type": { "title": "Items Type", "description": "Type of items in an array. All the items in an array must be from the same type.", "default": "String", "enum": [ "Generic", "String", "Integer", "Number", "Boolean", "File", "Folder", "Path", "Array", "JSONObject" ], "type": "string" }, "type": { "title": "Type", "default": "DAGArrayInput", "type": "string", "pattern": "^DAGArrayInput$", "readOnly": true } }, "additionalProperties": false } ], "title": "DAGArrayInput", "description": "An array input.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/array.html for\nmore information.", "discriminator": { "propertyName": "type" } }, "DAGJSONObjectInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "properties": { "default": { "title": "Default", "description": "Default value to use for an input if a value was not supplied.", "type": "object" }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "DAGJSONObjectInput", "type": "string", "pattern": "^DAGJSONObjectInput$", "readOnly": true } }, "additionalProperties": false } ], "title": "DAGJSONObjectInput", "description": "A JSON object input.\n\nJSON objects are similar to Python dictionaries.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/object.html for\nmore information.", "discriminator": { "propertyName": "type" } }, "DAGStringOutput": { "allOf": [ { "$ref": "#/components/schemas/GenericOutput" }, { "type": "object", "required": [ "from" ], "properties": { "from": { "title": "From", "description": "Reference to a file or a task output. Task output must be file.", "anyOf": [ { "allOf": [ { "$ref": "#/components/schemas/TaskReference" } ] }, { "allOf": [ { "$ref": "#/components/schemas/FileReference" } ] } ] }, "alias": { "title": "Alias", "description": "A list of additional processes for loading this output on different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericOutputAlias" }, { "$ref": "#/components/schemas/DAGStringOutputAlias" }, { "$ref": "#/components/schemas/DAGIntegerOutputAlias" }, { "$ref": "#/components/schemas/DAGNumberOutputAlias" }, { "$ref": "#/components/schemas/DAGBooleanOutputAlias" }, { "$ref": "#/components/schemas/DAGFolderOutputAlias" }, { "$ref": "#/components/schemas/DAGFileOutputAlias" }, { "$ref": "#/components/schemas/DAGPathOutputAlias" }, { "$ref": "#/components/schemas/DAGArrayOutputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectOutputAlias" }, { "$ref": "#/components/schemas/DAGLinkedOutputAlias" } ] } }, "type": { "title": "Type", "default": "DAGStringOutput", "type": "string", "pattern": "^DAGStringOutput$", "readOnly": true } }, "additionalProperties": false } ], "title": "DAGStringOutput", "description": "DAG string output.\n\nThis output loads the content from a file as a string.", "discriminator": { "propertyName": "type" } }, "DAGNumberOutput": { "allOf": [ { "$ref": "#/components/schemas/GenericOutput" }, { "type": "object", "required": [ "from" ], "properties": { "from": { "title": "From", "description": "Reference to a file or a task output. Task output must be file.", "anyOf": [ { "allOf": [ { "$ref": "#/components/schemas/TaskReference" } ] }, { "allOf": [ { "$ref": "#/components/schemas/FileReference" } ] } ] }, "alias": { "title": "Alias", "description": "A list of additional processes for loading this output on different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericOutputAlias" }, { "$ref": "#/components/schemas/DAGStringOutputAlias" }, { "$ref": "#/components/schemas/DAGIntegerOutputAlias" }, { "$ref": "#/components/schemas/DAGNumberOutputAlias" }, { "$ref": "#/components/schemas/DAGBooleanOutputAlias" }, { "$ref": "#/components/schemas/DAGFolderOutputAlias" }, { "$ref": "#/components/schemas/DAGFileOutputAlias" }, { "$ref": "#/components/schemas/DAGPathOutputAlias" }, { "$ref": "#/components/schemas/DAGArrayOutputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectOutputAlias" }, { "$ref": "#/components/schemas/DAGLinkedOutputAlias" } ] } }, "type": { "title": "Type", "default": "DAGNumberOutput", "type": "string", "pattern": "^DAGNumberOutput$", "readOnly": true } }, "additionalProperties": false } ], "title": "DAGNumberOutput", "description": "DAG number output.\n\nThis output loads the content from a file as a floating number.", "discriminator": { "propertyName": "type" } }, "DAGBooleanOutput": { "allOf": [ { "$ref": "#/components/schemas/GenericOutput" }, { "type": "object", "required": [ "from" ], "properties": { "from": { "title": "From", "description": "Reference to a file or a task output. Task output must be file.", "anyOf": [ { "allOf": [ { "$ref": "#/components/schemas/TaskReference" } ] }, { "allOf": [ { "$ref": "#/components/schemas/FileReference" } ] } ] }, "alias": { "title": "Alias", "description": "A list of additional processes for loading this output on different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericOutputAlias" }, { "$ref": "#/components/schemas/DAGStringOutputAlias" }, { "$ref": "#/components/schemas/DAGIntegerOutputAlias" }, { "$ref": "#/components/schemas/DAGNumberOutputAlias" }, { "$ref": "#/components/schemas/DAGBooleanOutputAlias" }, { "$ref": "#/components/schemas/DAGFolderOutputAlias" }, { "$ref": "#/components/schemas/DAGFileOutputAlias" }, { "$ref": "#/components/schemas/DAGPathOutputAlias" }, { "$ref": "#/components/schemas/DAGArrayOutputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectOutputAlias" }, { "$ref": "#/components/schemas/DAGLinkedOutputAlias" } ] } }, "type": { "title": "Type", "default": "DAGBooleanOutput", "type": "string", "pattern": "^DAGBooleanOutput$", "readOnly": true } }, "additionalProperties": false } ], "title": "DAGBooleanOutput", "description": "DAG boolean output.\n\nThis output loads the content from a file as a boolean.", "discriminator": { "propertyName": "type" } }, "DAGFolderOutput": { "allOf": [ { "$ref": "#/components/schemas/GenericOutput" }, { "type": "object", "required": [ "from" ], "properties": { "from": { "title": "From", "description": "Reference to a folder or a task output. Task output must be folder.", "anyOf": [ { "allOf": [ { "$ref": "#/components/schemas/TaskReference" } ] }, { "allOf": [ { "$ref": "#/components/schemas/FolderReference" } ] } ] }, "alias": { "title": "Alias", "description": "A list of additional processes for loading this output on different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericOutputAlias" }, { "$ref": "#/components/schemas/DAGStringOutputAlias" }, { "$ref": "#/components/schemas/DAGIntegerOutputAlias" }, { "$ref": "#/components/schemas/DAGNumberOutputAlias" }, { "$ref": "#/components/schemas/DAGBooleanOutputAlias" }, { "$ref": "#/components/schemas/DAGFolderOutputAlias" }, { "$ref": "#/components/schemas/DAGFileOutputAlias" }, { "$ref": "#/components/schemas/DAGPathOutputAlias" }, { "$ref": "#/components/schemas/DAGArrayOutputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectOutputAlias" }, { "$ref": "#/components/schemas/DAGLinkedOutputAlias" } ] } }, "type": { "title": "Type", "default": "DAGFolderOutput", "type": "string", "pattern": "^DAGFolderOutput$", "readOnly": true } }, "additionalProperties": false } ], "title": "DAGFolderOutput", "description": "DAG folder output.", "discriminator": { "propertyName": "type" } }, "DAGFileOutput": { "allOf": [ { "$ref": "#/components/schemas/GenericOutput" }, { "type": "object", "required": [ "from" ], "properties": { "from": { "title": "From", "description": "Reference to a file or a task output. Task output must be file.", "anyOf": [ { "allOf": [ { "$ref": "#/components/schemas/TaskReference" } ] }, { "allOf": [ { "$ref": "#/components/schemas/FileReference" } ] } ] }, "alias": { "title": "Alias", "description": "A list of additional processes for loading this output on different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericOutputAlias" }, { "$ref": "#/components/schemas/DAGStringOutputAlias" }, { "$ref": "#/components/schemas/DAGIntegerOutputAlias" }, { "$ref": "#/components/schemas/DAGNumberOutputAlias" }, { "$ref": "#/components/schemas/DAGBooleanOutputAlias" }, { "$ref": "#/components/schemas/DAGFolderOutputAlias" }, { "$ref": "#/components/schemas/DAGFileOutputAlias" }, { "$ref": "#/components/schemas/DAGPathOutputAlias" }, { "$ref": "#/components/schemas/DAGArrayOutputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectOutputAlias" }, { "$ref": "#/components/schemas/DAGLinkedOutputAlias" } ] } }, "type": { "title": "Type", "default": "DAGFileOutput", "type": "string", "pattern": "^DAGFileOutput$", "readOnly": true } }, "additionalProperties": false } ], "title": "DAGFileOutput", "description": "DAG file output.", "discriminator": { "propertyName": "type" } }, "DAGPathOutput": { "allOf": [ { "$ref": "#/components/schemas/GenericOutput" }, { "type": "object", "required": [ "from" ], "properties": { "from": { "title": "From", "description": "Reference to a file, folder or a task output. Task output must either be a file or a folder.", "anyOf": [ { "allOf": [ { "$ref": "#/components/schemas/TaskReference" } ] }, { "allOf": [ { "$ref": "#/components/schemas/FileReference" } ] }, { "allOf": [ { "$ref": "#/components/schemas/FolderReference" } ] } ] }, "alias": { "title": "Alias", "description": "A list of additional processes for loading this output on different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericOutputAlias" }, { "$ref": "#/components/schemas/DAGStringOutputAlias" }, { "$ref": "#/components/schemas/DAGIntegerOutputAlias" }, { "$ref": "#/components/schemas/DAGNumberOutputAlias" }, { "$ref": "#/components/schemas/DAGBooleanOutputAlias" }, { "$ref": "#/components/schemas/DAGFolderOutputAlias" }, { "$ref": "#/components/schemas/DAGFileOutputAlias" }, { "$ref": "#/components/schemas/DAGPathOutputAlias" }, { "$ref": "#/components/schemas/DAGArrayOutputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectOutputAlias" }, { "$ref": "#/components/schemas/DAGLinkedOutputAlias" } ] } }, "type": { "title": "Type", "default": "DAGPathOutput", "type": "string", "pattern": "^DAGPathOutput$", "readOnly": true } }, "additionalProperties": false } ], "title": "DAGPathOutput", "description": "DAG path output.", "discriminator": { "propertyName": "type" } }, "DAGJSONObjectOutput": { "allOf": [ { "$ref": "#/components/schemas/GenericOutput" }, { "type": "object", "required": [ "from" ], "properties": { "from": { "title": "From", "description": "Reference to a file or a task output. Task output must be file.", "anyOf": [ { "allOf": [ { "$ref": "#/components/schemas/TaskReference" } ] }, { "allOf": [ { "$ref": "#/components/schemas/FileReference" } ] } ] }, "alias": { "title": "Alias", "description": "A list of additional processes for loading this output on different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericOutputAlias" }, { "$ref": "#/components/schemas/DAGStringOutputAlias" }, { "$ref": "#/components/schemas/DAGIntegerOutputAlias" }, { "$ref": "#/components/schemas/DAGNumberOutputAlias" }, { "$ref": "#/components/schemas/DAGBooleanOutputAlias" }, { "$ref": "#/components/schemas/DAGFolderOutputAlias" }, { "$ref": "#/components/schemas/DAGFileOutputAlias" }, { "$ref": "#/components/schemas/DAGPathOutputAlias" }, { "$ref": "#/components/schemas/DAGArrayOutputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectOutputAlias" }, { "$ref": "#/components/schemas/DAGLinkedOutputAlias" } ] } }, "type": { "title": "Type", "default": "DAGJSONObjectOutput", "type": "string", "pattern": "^DAGJSONObjectOutput$", "readOnly": true } }, "additionalProperties": false } ], "title": "DAGJSONObjectOutput", "description": "DAG object output.\n\nThis output loads the content from a file as a JSON object.", "discriminator": { "propertyName": "type" } }, "RecipeInterface": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "metadata": { "title": "Metadata", "description": "Recipe metadata information.", "allOf": [ { "$ref": "#/components/schemas/MetaData" } ] }, "type": { "title": "Type", "default": "RecipeInterface", "type": "string", "pattern": "^RecipeInterface$", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "api_version": { "title": "Api Version", "default": "v1beta1", "type": "string", "pattern": "^v1beta1$" }, "source": { "title": "Source", "description": "A URL to the source this recipe from a registry.", "type": "string" }, "inputs": { "title": "Inputs", "description": "A list of recipe inputs.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInput" }, { "$ref": "#/components/schemas/DAGStringInput" }, { "$ref": "#/components/schemas/DAGIntegerInput" }, { "$ref": "#/components/schemas/DAGNumberInput" }, { "$ref": "#/components/schemas/DAGBooleanInput" }, { "$ref": "#/components/schemas/DAGFolderInput" }, { "$ref": "#/components/schemas/DAGFileInput" }, { "$ref": "#/components/schemas/DAGPathInput" }, { "$ref": "#/components/schemas/DAGArrayInput" }, { "$ref": "#/components/schemas/DAGJSONObjectInput" } ] } }, "outputs": { "title": "Outputs", "description": "A list of recipe outputs.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericOutput" }, { "$ref": "#/components/schemas/DAGStringOutput" }, { "$ref": "#/components/schemas/DAGIntegerOutput" }, { "$ref": "#/components/schemas/DAGNumberOutput" }, { "$ref": "#/components/schemas/DAGBooleanOutput" }, { "$ref": "#/components/schemas/DAGFolderOutput" }, { "$ref": "#/components/schemas/DAGFileOutput" }, { "$ref": "#/components/schemas/DAGPathOutput" }, { "$ref": "#/components/schemas/DAGArrayOutput" }, { "$ref": "#/components/schemas/DAGJSONObjectOutput" } ] } } }, "required": [ "metadata" ], "additionalProperties": false } ], "title": "RecipeInterface", "description": "An interface object for creating a Recipe.\n\nRecipe information only includes metadata, source, inputs and outputs of a Recipe.\nThis object is useful for creating user interface for Recipes.", "discriminator": { "propertyName": "type" } }, "APIToken": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "name": { "title": "Name", "description": "The user friendly name of the API token", "type": "string" }, "claims": { "title": "Claims", "description": "Key value pairs of auth claims the API token is entitled to", "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "type": { "title": "Type", "default": "APIToken", "type": "string", "pattern": "^APIToken$", "readOnly": true } }, "required": [ "name" ] } ], "title": "APIToken", "discriminator": { "propertyName": "type" } }, "Repository": { "allOf": [ { "$ref": "#/components/schemas/RepositoryCreate" }, { "type": "object", "required": [ "id", "latest_tag", "owner" ], "properties": { "id": { "title": "Id", "description": "The recipe unique ID", "example": "5d5e7103-2c1e-413f-9332-f8ec4a9aace7", "type": "string" }, "latest_tag": { "title": "Latest Tag", "description": "The latest package version to be indexed", "example": "0.2.1", "type": "string" }, "owner": { "title": "Owner", "description": "The owner of the repository", "allOf": [ { "$ref": "#/components/schemas/AccountPublic" } ] }, "permissions": { "title": "Permissions", "description": "The permissions the user making the API call has on the resource", "default": { "admin": false, "write": false, "read": false }, "allOf": [ { "$ref": "#/components/schemas/RepositoryUserPermissions" } ] }, "slug": { "title": "Slug", "description": "The repository slug", "example": "ladybug-tools/daylight-factor", "type": "string" }, "type": { "title": "Type", "default": "Repository", "type": "string", "pattern": "^Repository$", "readOnly": true } } } ], "title": "Repository", "discriminator": { "propertyName": "type" } }, "OrganizationCreate": { "allOf": [ { "$ref": "#/components/schemas/OrganizationUpdate" }, { "type": "object", "required": [ "account_name" ], "properties": { "account_name": { "title": "Account Name", "description": "The unique name of the org in small case without spaces", "example": "ladybug-tools", "type": "string" }, "type": { "title": "Type", "default": "OrganizationCreate", "type": "string", "pattern": "^OrganizationCreate$", "readOnly": true } } } ], "title": "OrganizationCreate", "discriminator": { "propertyName": "type" } }, "TaskReturn": { "allOf": [ { "$ref": "#/components/schemas/GenericOutput" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "TaskReturn", "type": "string", "pattern": "^TaskReturn$", "readOnly": true } }, "additionalProperties": false } ], "title": "TaskReturn", "description": "A Task return output that exposes the values from a function or a DAG.", "discriminator": { "propertyName": "type" } }, "FunctionStringInput": { "allOf": [ { "$ref": "#/components/schemas/DAGStringInput" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "FunctionStringInput", "type": "string", "pattern": "^FunctionStringInput$", "readOnly": true } }, "additionalProperties": false } ], "title": "FunctionStringInput", "description": "A String input.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/string.html#string for\nmore information.\n\n.. code-block:: python\n\n \"schema\": {\n \"type\": \"string\",\n \"maxLength\": 50,\n \"pattern\": \"(?i)(^.*\\.epw$)\"\n }", "discriminator": { "propertyName": "type" } }, "APITokenPrivate": { "allOf": [ { "$ref": "#/components/schemas/APITokenCreate" }, { "type": "object", "required": [ "token" ], "properties": { "token": { "title": "Token", "description": "The decoded API token", "type": "string" }, "type": { "title": "Type", "default": "APITokenPrivate", "type": "string", "pattern": "^APITokenPrivate$", "readOnly": true } } } ], "title": "APITokenPrivate", "discriminator": { "propertyName": "type" } }, "Body_post_plugin_registries__owner__plugins_post": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "package": { "title": "Plugin Package", "type": "string", "format": "binary" }, "type": { "title": "Type", "default": "Body_post_plugin_registries__owner__plugins_post", "type": "string", "pattern": "^Body_post_plugin_registries__owner__plugins_post$", "readOnly": true } }, "required": [ "package" ] } ], "title": "Body_post_plugin_registries__owner__plugins_post", "discriminator": { "propertyName": "type" } }, "TeamUpdate": { "allOf": [ { "$ref": "#/components/schemas/TeamCreate" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "TeamUpdate", "type": "string", "pattern": "^TeamUpdate$", "readOnly": true } } } ], "title": "TeamUpdate", "discriminator": { "propertyName": "type" } }, "Dependency": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "kind": { "title": "Kind", "description": "The kind of dependency. It can be a recipe or an plugin.", "enum": [ "recipe", "plugin" ], "type": "string" }, "name": { "title": "Name", "description": "Workflow name. This name should be unique among all the resources in your resource. Use an alias if this is not the case.", "type": "string" }, "tag": { "title": "Tag", "description": "Tag of the resource.", "type": "string" }, "source": { "title": "Source", "description": "URL to a repository where this resource can be found.", "examples": [ "https://registry.pollination.cloud/ladybugbot", "https://some-random-user.github.io/registry" ], "type": "string" }, "type": { "title": "Type", "default": "Dependency", "type": "string", "pattern": "^Dependency$", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "hash": { "title": "Hash", "description": "The digest hash of the dependency when retrieved from its source. This is locked when the resource dependencies are downloaded.", "type": "string" }, "alias": { "title": "Alias", "description": "An optional alias to refer to this dependency. Useful if the name is already used somewhere else.", "type": "string" } }, "required": [ "kind", "name", "tag", "source" ], "additionalProperties": false } ], "title": "Dependency", "description": "Configuration to fetch a Recipe or Plugin that another Recipe depends on.", "discriminator": { "propertyName": "type" } }, "InputFileReference": { "allOf": [ { "$ref": "#/components/schemas/_InputReferenceBase" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "InputFileReference", "type": "string", "pattern": "^InputFileReference$", "readOnly": true } }, "additionalProperties": false } ], "title": "InputFileReference", "description": "An input file reference", "discriminator": { "propertyName": "type" } }, "TaskFileReference": { "allOf": [ { "$ref": "#/components/schemas/_TaskReferenceBase" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "TaskFileReference", "type": "string", "pattern": "^TaskFileReference$", "readOnly": true } }, "additionalProperties": false } ], "title": "TaskFileReference", "description": "A reference to a file that is generated in a task.", "discriminator": { "propertyName": "type" } }, "TaskPathReference": { "allOf": [ { "$ref": "#/components/schemas/_TaskReferenceBase" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "TaskPathReference", "type": "string", "pattern": "^TaskPathReference$", "readOnly": true } }, "additionalProperties": false } ], "title": "TaskPathReference", "description": "A reference to a file or folder that is generated in a task.", "discriminator": { "propertyName": "type" } }, "ValueFileReference": { "allOf": [ { "$ref": "#/components/schemas/_BaseReference" }, { "type": "object", "required": [ "path" ], "properties": { "path": { "title": "Path", "description": "A fixed value for this reference.", "type": "string" }, "type": { "title": "Type", "default": "ValueFileReference", "type": "string", "pattern": "^ValueFileReference$", "readOnly": true } }, "additionalProperties": false } ], "title": "ValueFileReference", "description": "A reference to a fixed file.", "discriminator": { "propertyName": "type" } }, "TaskPathArgument": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "name": { "title": "Name", "description": "Argument name. The name must match one of the input names from Task's template which can be a function or DAG.", "type": "string" }, "from": { "title": "From", "description": "A reference to a DAG input, a DAG output or another task output. You can also use the ValueReference type to hard-code an input value.", "anyOf": [ { "allOf": [ { "$ref": "#/components/schemas/InputFileReference" } ] }, { "allOf": [ { "$ref": "#/components/schemas/InputFolderReference" } ] }, { "allOf": [ { "$ref": "#/components/schemas/InputPathReference" } ] }, { "allOf": [ { "$ref": "#/components/schemas/TaskFileReference" } ] }, { "allOf": [ { "$ref": "#/components/schemas/TaskFolderReference" } ] }, { "allOf": [ { "$ref": "#/components/schemas/TaskPathReference" } ] }, { "allOf": [ { "$ref": "#/components/schemas/ValueFileReference" } ] }, { "allOf": [ { "$ref": "#/components/schemas/ValueFolderReference" } ] } ] }, "type": { "title": "Type", "default": "TaskPathArgument", "type": "string", "pattern": "^TaskPathArgument$", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "sub_path": { "title": "Sub Path", "description": "A sub_path inside the path that is provided in the ``from`` field. Use sub_path to only access part of the Path that is needed instead of copying all the files and folders inside the path.", "type": "string" } }, "required": [ "name", "from" ], "additionalProperties": false } ], "title": "TaskPathArgument", "description": "BaseModel with functionality to return the object as a yaml string.", "discriminator": { "propertyName": "type" } }, "ValueListReference": { "allOf": [ { "$ref": "#/components/schemas/_BaseReference" }, { "type": "object", "required": [ "value" ], "properties": { "value": { "title": "Value", "description": "A fixed value for this reference.", "type": "array", "items": {} }, "type": { "title": "Type", "default": "ValueListReference", "type": "string", "pattern": "^ValueListReference$", "readOnly": true } }, "additionalProperties": false } ], "title": "ValueListReference", "description": "A reference to a fixed value.", "discriminator": { "propertyName": "type" } }, "DAGTaskLoop": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "DAGTaskLoop", "type": "string", "pattern": "^DAGTaskLoop$", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "from": { "title": "From", "description": "The task or DAG parameter to loop over (must be iterable).", "anyOf": [ { "allOf": [ { "$ref": "#/components/schemas/InputReference" } ] }, { "allOf": [ { "$ref": "#/components/schemas/TaskReference" } ] }, { "allOf": [ { "$ref": "#/components/schemas/ValueListReference" } ] } ] } }, "additionalProperties": false } ], "title": "DAGTaskLoop", "description": "Loop configuration for the task.\n\nThis will run the template provided multiple times and in parallel relative to an\ninput or task parameter which should be a list.", "discriminator": { "propertyName": "type" } }, "TaskPathReturn": { "allOf": [ { "$ref": "#/components/schemas/PathOutput" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "TaskPathReturn", "type": "string", "pattern": "^TaskPathReturn$", "readOnly": true } }, "additionalProperties": false } ], "title": "TaskPathReturn", "description": "A Task output that returns a file or a folder output from a function or a DAG.", "discriminator": { "propertyName": "type" } }, "DAGTask": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "name": { "title": "Name", "description": "Name for this task. It must be unique in a DAG.", "type": "string" }, "template": { "title": "Template", "description": "Template name. A template is a Function or a DAG. This template must be available in the dependencies.", "type": "string" }, "type": { "title": "Type", "default": "DAGTask", "type": "string", "pattern": "^DAGTask$", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "needs": { "title": "Needs", "description": "List of DAG tasks that this task depends on and needs to be executed before this task.", "type": "array", "items": { "type": "string" } }, "arguments": { "title": "Arguments", "description": "The input arguments for this task.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/TaskArgument" }, { "$ref": "#/components/schemas/TaskPathArgument" } ] } }, "loop": { "title": "Loop", "description": "Loop configuration for this task.", "allOf": [ { "$ref": "#/components/schemas/DAGTaskLoop" } ] }, "sub_folder": { "title": "Sub Folder", "description": "A path relative to the current folder context where artifacts should be saved. This is useful when performing a loop or invoking another workflow and wanting to save results in a specific sub_folder.", "type": "string" }, "returns": { "title": "Returns", "description": "List of task returns.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/TaskReturn" }, { "$ref": "#/components/schemas/TaskPathReturn" } ] } } }, "required": [ "name", "template" ], "additionalProperties": false } ], "title": "DAGTask", "description": "A single task in a DAG flow.", "discriminator": { "propertyName": "type" } }, "DAG": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "name", "tasks" ], "properties": { "name": { "title": "Name", "description": "A unique name for this dag.", "type": "string" }, "tasks": { "title": "Tasks", "description": "Tasks are a list of DAG steps", "type": "array", "items": { "$ref": "#/components/schemas/DAGTask" } }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "inputs": { "title": "Inputs", "description": "Inputs for the DAG.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInput" }, { "$ref": "#/components/schemas/DAGStringInput" }, { "$ref": "#/components/schemas/DAGIntegerInput" }, { "$ref": "#/components/schemas/DAGNumberInput" }, { "$ref": "#/components/schemas/DAGBooleanInput" }, { "$ref": "#/components/schemas/DAGFolderInput" }, { "$ref": "#/components/schemas/DAGFileInput" }, { "$ref": "#/components/schemas/DAGPathInput" }, { "$ref": "#/components/schemas/DAGArrayInput" }, { "$ref": "#/components/schemas/DAGJSONObjectInput" } ] } }, "outputs": { "title": "Outputs", "description": "Outputs of the DAG that can be used by other DAGs.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericOutput" }, { "$ref": "#/components/schemas/DAGStringOutput" }, { "$ref": "#/components/schemas/DAGIntegerOutput" }, { "$ref": "#/components/schemas/DAGNumberOutput" }, { "$ref": "#/components/schemas/DAGBooleanOutput" }, { "$ref": "#/components/schemas/DAGFolderOutput" }, { "$ref": "#/components/schemas/DAGFileOutput" }, { "$ref": "#/components/schemas/DAGPathOutput" }, { "$ref": "#/components/schemas/DAGArrayOutput" }, { "$ref": "#/components/schemas/DAGJSONObjectOutput" } ] } }, "fail_fast": { "title": "Fail Fast", "description": "Stop scheduling new steps, as soon as it detects that one of the DAG nodes is failed. Default is True.", "default": true, "type": "boolean" }, "type": { "title": "Type", "default": "DAG", "type": "string", "pattern": "^DAG$", "readOnly": true } }, "additionalProperties": false } ], "title": "DAG", "description": "A Directed Acyclic Graph containing a list of tasks.", "discriminator": { "propertyName": "type" } }, "Recipe": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "flow": { "title": "Flow", "description": "A list of tasks to create a DAG recipe.", "type": "array", "items": { "$ref": "#/components/schemas/DAG" } }, "type": { "title": "Type", "default": "Recipe", "type": "string", "pattern": "^Recipe$", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "api_version": { "title": "Api Version", "default": "v1beta1", "type": "string", "pattern": "^v1beta1$" }, "metadata": { "title": "Metadata", "description": "Recipe metadata information.", "allOf": [ { "$ref": "#/components/schemas/MetaData" } ] }, "dependencies": { "title": "Dependencies", "description": "A list of plugins and other recipes this recipe depends on.", "type": "array", "items": { "$ref": "#/components/schemas/Dependency" } } }, "required": [ "flow" ], "additionalProperties": false } ], "title": "Recipe", "description": "A Queenbee Recipe", "discriminator": { "propertyName": "type" } }, "NewRecipePackage": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "manifest": { "title": "Manifest", "description": "The Recipe manifest to be created", "allOf": [ { "$ref": "#/components/schemas/Recipe" } ] }, "readme": { "title": "Readme", "description": "The README file to attach to this package", "default": "", "type": "string" }, "license": { "title": "License", "description": "The license file to attach to this package", "default": "", "type": "string" }, "type": { "title": "Type", "default": "NewRecipePackage", "type": "string", "pattern": "^NewRecipePackage$", "readOnly": true } }, "required": [ "manifest" ] } ], "title": "NewRecipePackage", "discriminator": { "propertyName": "type" } }, "JobArgument": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "name": { "title": "Name", "description": "Argument name. The name must match one of the input names from Job's DAG template.", "type": "string" }, "value": { "title": "Value", "description": "The value of the job argument.", "type": "string" }, "type": { "title": "Type", "default": "JobArgument", "type": "string", "pattern": "^JobArgument$", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } } }, "required": [ "name", "value" ], "additionalProperties": false } ], "title": "JobArgument", "description": "Job argument is an argument input for arguments which are not files or folders.", "discriminator": { "propertyName": "type" } }, "Job": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "source": { "title": "Source", "description": "The source url for downloading the recipe.", "type": "string" }, "type": { "title": "Type", "default": "Job", "type": "string", "pattern": "^Job$", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "api_version": { "title": "Api Version", "default": "v1beta1", "type": "string", "pattern": "^v1beta1$" }, "arguments": { "title": "Arguments", "description": "Input arguments for this job.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/JobArgument" }, { "$ref": "#/components/schemas/JobPathArgument" } ] } }, "name": { "title": "Name", "description": "An optional name for this job. This name will be used a the display name for the run.", "type": "string" }, "description": { "title": "Description", "description": "Run description.", "type": "string" }, "labels": { "title": "Labels", "description": "Optional user data as a dictionary. User data is for user reference only and will not be used in the execution of the job.", "type": "object", "additionalProperties": { "type": "string" } } }, "required": [ "source" ], "additionalProperties": false } ], "title": "Job", "description": "Queenbee Job.\n\nA Job is an object to submit a list of arguments to execute a Queenbee recipe.", "discriminator": { "propertyName": "type" } }, "FunctionArrayOutput": { "allOf": [ { "$ref": "#/components/schemas/FunctionStringOutput" }, { "type": "object", "properties": { "items_type": { "title": "Items Type", "description": "Type of items in this array. All the items in an array must be from the same type.", "default": "String", "enum": [ "Generic", "String", "Integer", "Number", "Boolean", "File", "Folder", "Path", "Array", "JSONObject" ], "type": "string" }, "type": { "title": "Type", "default": "FunctionArrayOutput", "type": "string", "pattern": "^FunctionArrayOutput$", "readOnly": true } }, "additionalProperties": false } ], "title": "FunctionArrayOutput", "description": "Function array output.\n\nThis output loads the content from a JSON file which must be a JSON Array.", "discriminator": { "propertyName": "type" } }, "FunctionArrayInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "properties": { "default": { "title": "Default", "description": "Default value to use for an input if a value was not supplied.", "type": "array", "items": {} }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "items_type": { "title": "Items Type", "description": "Type of items in an array. All the items in an array must be from the same type.", "default": "String", "enum": [ "Generic", "String", "Integer", "Number", "Boolean", "File", "Folder", "Path", "Array", "JSONObject" ], "type": "string" }, "type": { "title": "Type", "default": "FunctionArrayInput", "type": "string", "pattern": "^FunctionArrayInput$", "readOnly": true } }, "additionalProperties": false } ], "title": "FunctionArrayInput", "description": "An array input.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/array.html for\nmore information.", "discriminator": { "propertyName": "type" } }, "Accepted": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "url": { "title": "Url", "description": "Url to access the requested resource.", "type": "string", "minLength": 1, "maxLength": 2083, "format": "uri" }, "message": { "title": "Message", "description": " A human readable message", "default": "The request is accepted. Use url to access the resource once ready.", "example": "The request is accepted. Use url to access the resource once ready.", "type": "string" }, "type": { "title": "Type", "default": "Accepted", "type": "string", "pattern": "^Accepted$", "readOnly": true } }, "required": [ "url" ] } ], "title": "Accepted", "description": "Accepted request response.", "discriminator": { "propertyName": "type" } }, "RepositoryCreate": { "allOf": [ { "$ref": "#/components/schemas/RepositoryUpdate" }, { "type": "object", "required": [ "name" ], "properties": { "name": { "title": "Name", "description": "The name of the repository", "example": "daylight-factor", "type": "string" }, "type": { "title": "Type", "default": "RepositoryCreate", "type": "string", "pattern": "^RepositoryCreate$", "readOnly": true } } } ], "title": "RepositoryCreate", "discriminator": { "propertyName": "type" } }, "StepList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "properties": { "page": { "title": "Page", "description": "The current page the pagination request is on", "type": "integer", "format": "int32" }, "per_page": { "title": "Per Page", "description": "The number of pages per pagination request", "type": "integer", "format": "int32" }, "page_count": { "title": "Page Count", "description": "The total number of pages", "type": "integer", "format": "int32" }, "total_count": { "title": "Total Count", "description": "The total number of resources matching the list request", "type": "integer", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/StepStatus" } }, "next_page": { "title": "Next Page", "description": "The next page, if this on is not the last", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "StepList", "type": "string", "pattern": "^StepList$", "readOnly": true } } } ], "title": "StepList", "description": "A list response from a pagination request", "discriminator": { "propertyName": "type" } }, "ProjectAccessPolicy": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "subject", "permission" ], "properties": { "subject": { "title": "Subject", "description": "The subject of the access policy", "allOf": [ { "$ref": "#/components/schemas/PolicySubject" } ] }, "permission": { "title": "Permission", "description": "The permission given to the subject of the access policy", "example": "write", "enum": [ "admin", "write", "read" ], "type": "string" }, "type": { "title": "Type", "default": "ProjectAccessPolicy", "type": "string", "pattern": "^ProjectAccessPolicy$", "readOnly": true } } } ], "title": "ProjectAccessPolicy", "discriminator": { "propertyName": "type" } }, "FunctionFileInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "path" ], "properties": { "path": { "title": "Path", "description": "Path to the target location that the input will be copied to. This path is relative to the working directory where the command is executed.", "type": "string" }, "default": { "title": "Default", "description": "The default source for file if the value is not provided.", "anyOf": [ { "allOf": [ { "$ref": "#/components/schemas/HTTP" } ] }, { "allOf": [ { "$ref": "#/components/schemas/S3" } ] }, { "allOf": [ { "$ref": "#/components/schemas/ProjectFolder" } ] } ] }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "extensions": { "title": "Extensions", "description": "Optional list of extensions for file. The check for extension is case-insensitive.", "type": "array", "items": { "type": "string" } }, "type": { "title": "Type", "default": "FunctionFileInput", "type": "string", "pattern": "^FunctionFileInput$", "readOnly": true } }, "additionalProperties": false } ], "title": "FunctionFileInput", "description": "A file input.\n\nFile is a special string input. Unlike other string inputs, a file will be copied\nfrom its location to execution folder when a workflow is executed.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/string.html#string for\nmore information.\n\n.. code-block:: python\n\n # a file with maximum 50 characters with an ``epw`` extension.\n\n \"schema\": {\n \"type\": \"string\",\n \"maxLength\": 50,\n \"pattern\": \"(?i)(^.*\\.epw$)\"\n }", "discriminator": { "propertyName": "type" } }, "UserPublic": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "username": { "title": "Username", "description": "The lowercase account name for this user", "example": "ladybugbot", "type": "string" }, "name": { "title": "Name", "description": "The display name for this user", "example": "Ladybug Bot", "type": "string" }, "picture": { "title": "Picture", "description": "URL to the picture associated with this user", "example": "https://avatars1.githubusercontent.com/u/38131342", "type": "string" }, "type": { "title": "Type", "default": "UserPublic", "type": "string", "pattern": "^UserPublic$", "readOnly": true } }, "required": [ "username" ] } ], "title": "UserPublic", "discriminator": { "propertyName": "type" } }, "TeamMember": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "user": { "title": "User", "description": "The team member", "allOf": [ { "$ref": "#/components/schemas/UserPublic" } ] }, "role": { "title": "Role", "description": "The role the user has within the team", "example": "member", "enum": [ "owner", "member" ], "type": "string" }, "type": { "title": "Type", "default": "TeamMember", "type": "string", "pattern": "^TeamMember$", "readOnly": true } }, "required": [ "user", "role" ] } ], "title": "TeamMember", "discriminator": { "propertyName": "type" } }, "UserMetadata": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "company": { "title": "Company", "description": "The company the user works for", "example": "Ladybug Tools", "type": "string" }, "description": { "title": "Description", "description": "A short description of the user", "example": "A bot user that helps automate things at Ladybug Tools!", "type": "string" }, "type": { "title": "Type", "default": "UserMetadata", "type": "string", "pattern": "^UserMetadata$", "readOnly": true } } } ], "title": "UserMetadata", "discriminator": { "propertyName": "type" } }, "UserPrivate": { "allOf": [ { "$ref": "#/components/schemas/UserPublic" }, { "type": "object", "required": [ "id" ], "properties": { "id": { "title": "Id", "type": "string" }, "metadata": { "$ref": "#/components/schemas/UserMetadata" }, "type": { "title": "Type", "default": "UserPrivate", "type": "string", "pattern": "^UserPrivate$", "readOnly": true } } } ], "title": "UserPrivate", "discriminator": { "propertyName": "type" } }, "FunctionPathInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "path" ], "properties": { "path": { "title": "Path", "description": "Path to the target location that the input will be copied to. This path is relative to the working directory where the command is executed.", "type": "string" }, "default": { "title": "Default", "description": "The default source for file if the value is not provided.", "anyOf": [ { "allOf": [ { "$ref": "#/components/schemas/HTTP" } ] }, { "allOf": [ { "$ref": "#/components/schemas/S3" } ] }, { "allOf": [ { "$ref": "#/components/schemas/ProjectFolder" } ] } ] }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "extensions": { "title": "Extensions", "description": "Optional list of extensions for file. The check for extension is case-insensitive.", "type": "array", "items": { "type": "string" } }, "type": { "title": "Type", "default": "FunctionPathInput", "type": "string", "pattern": "^FunctionPathInput$", "readOnly": true } }, "additionalProperties": false } ], "title": "FunctionPathInput", "description": "A file or a folder input.\n\nUse this input only in cases that the input can be either a file or folder. For file\nor folder-only inputs see File and Folder.\n\nPath is a special string input. Unlike other string inputs, a path will be copied\nfrom its location to execution folder when a workflow is executed.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/string.html#string for\nmore information.\n\n.. code-block:: python\n\n # a file with maximum 50 characters with an ``epw`` extension.\n\n \"schema\": {\n \"type\": \"string\",\n \"maxLength\": 50,\n \"pattern\": \"(?i)(^.*\\.epw$)\"\n }", "discriminator": { "propertyName": "type" } }, "DockerConfig": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "image": { "title": "Image", "description": "Docker image name. Must include tag.", "type": "string" }, "workdir": { "title": "Workdir", "description": "The working directory the entrypoint command of the container runsin. This is used to determine where to load artifacts when running in the container.", "type": "string" }, "type": { "title": "Type", "default": "DockerConfig", "type": "string", "pattern": "^DockerConfig", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "registry": { "title": "Registry", "description": "The container registry URLs that this container should be pulled from. Will default to Dockerhub if none is specified.", "type": "string" } }, "required": [ "image", "workdir" ], "additionalProperties": false } ], "title": "DockerConfig", "description": "Plugin Configuration to run in a Docker container", "discriminator": { "propertyName": "type" } }, "LocalConfig": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "LocalConfig", "type": "string", "pattern": "^LocalConfig", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } } }, "additionalProperties": false } ], "title": "LocalConfig", "description": "Plugin Configuration to run on a desktop.", "discriminator": { "propertyName": "type" } }, "PluginConfig": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "docker": { "title": "Docker", "description": "The configuration to use this plugin in a docker container", "allOf": [ { "$ref": "#/components/schemas/DockerConfig" } ] }, "type": { "title": "Type", "default": "PluginConfig", "type": "string", "pattern": "^PluginConfig", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "local": { "title": "Local", "description": "The configuration to use this plugin locally", "allOf": [ { "$ref": "#/components/schemas/LocalConfig" } ] } }, "required": [ "docker" ], "additionalProperties": false } ], "title": "PluginConfig", "description": "Plugin configuration.\n\nThe config is used to schedule functions on a desktop or in other contexts\n(ie: Docker).", "discriminator": { "propertyName": "type" } }, "UserPublicList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "properties": { "page": { "title": "Page", "description": "The current page the pagination request is on", "type": "integer", "format": "int32" }, "per_page": { "title": "Per Page", "description": "The number of pages per pagination request", "type": "integer", "format": "int32" }, "page_count": { "title": "Page Count", "description": "The total number of pages", "type": "integer", "format": "int32" }, "total_count": { "title": "Total Count", "description": "The total number of resources matching the list request", "type": "integer", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/UserPublic" } }, "next_page": { "title": "Next Page", "description": "The next page, if this on is not the last", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "UserPublicList", "type": "string", "pattern": "^UserPublicList$", "readOnly": true } } } ], "title": "UserPublicList", "description": "A list response from a pagination request", "discriminator": { "propertyName": "type" } }, "RepositoryMetadata": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "RepositoryMetadata", "type": "string", "pattern": "^RepositoryMetadata$", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "name": { "title": "Name", "description": "The name of the repository", "type": "string" }, "description": { "title": "Description", "description": "A short description of the repository", "default": "A Queenbee package repository", "type": "string" }, "source": { "title": "Source", "description": "The source path (url or local) to the repository", "type": "string" }, "plugin_count": { "title": "Plugin Count", "description": "The number of plugins hosted by the repository", "default": 0, "type": "integer", "format": "int32" }, "recipe_count": { "title": "Recipe Count", "description": "The number of recipes hosted by the repository", "default": 0, "type": "integer", "format": "int32" } }, "additionalProperties": false } ], "title": "RepositoryMetadata", "description": "BaseModel with functionality to return the object as a yaml string.", "discriminator": { "propertyName": "type" } }, "FunctionIntegerInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "properties": { "default": { "title": "Default", "description": "Default value to use for an input if a value was not supplied.", "type": "integer", "format": "int32" }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "FunctionIntegerInput", "type": "string", "pattern": "^FunctionIntegerInput$", "readOnly": true } }, "additionalProperties": false } ], "title": "FunctionIntegerInput", "description": "An integer input.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/numeric.html#numeric\nfor more information.", "discriminator": { "propertyName": "type" } }, "FunctionFolderInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "path" ], "properties": { "path": { "title": "Path", "description": "Path to the target location that the input will be copied to. This path is relative to the working directory where the command is executed.", "type": "string" }, "default": { "title": "Default", "description": "The default source for file if the value is not provided.", "anyOf": [ { "allOf": [ { "$ref": "#/components/schemas/HTTP" } ] }, { "allOf": [ { "$ref": "#/components/schemas/S3" } ] }, { "allOf": [ { "$ref": "#/components/schemas/ProjectFolder" } ] } ] }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "FunctionFolderInput", "type": "string", "pattern": "^FunctionFolderInput$", "readOnly": true } }, "additionalProperties": false } ], "title": "FunctionFolderInput", "description": "A folder input.\n\nFolder is a special string input. Unlike other string inputs, a folder will be copied\nfrom its location to execution folder when a workflow is executed.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/string.html#string for\nmore information.\n\n.. code-block:: python\n\n \"schema\": {\n \"type\": \"string\",\n \"maxLength\": 50,\n }", "discriminator": { "propertyName": "type" } }, "FunctionJSONObjectInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "properties": { "default": { "title": "Default", "description": "Default value to use for an input if a value was not supplied.", "type": "object" }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "FunctionJSONObjectInput", "type": "string", "pattern": "^FunctionJSONObjectInput$", "readOnly": true } }, "additionalProperties": false } ], "title": "FunctionJSONObjectInput", "description": "A JSON object input.\n\nJSON objects are similar to Python dictionaries.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/object.html for\nmore information.", "discriminator": { "propertyName": "type" } }, "FunctionStringOutput": { "allOf": [ { "$ref": "#/components/schemas/FunctionFileOutput" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "FunctionStringOutput", "type": "string", "pattern": "^FunctionStringOutput$", "readOnly": true } }, "additionalProperties": false } ], "title": "FunctionStringOutput", "description": "Function string output.\n\nThis output loads the content from a file as a string.", "discriminator": { "propertyName": "type" } }, "FunctionIntegerOutput": { "allOf": [ { "$ref": "#/components/schemas/FunctionStringOutput" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "FunctionIntegerOutput", "type": "string", "pattern": "^FunctionIntegerOutput$", "readOnly": true } }, "additionalProperties": false } ], "title": "FunctionIntegerOutput", "description": "Function integer output.\n\nThis output loads the content from a file as an integer.", "discriminator": { "propertyName": "type" } }, "FunctionNumberOutput": { "allOf": [ { "$ref": "#/components/schemas/FunctionStringOutput" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "FunctionNumberOutput", "type": "string", "pattern": "^FunctionNumberOutput$", "readOnly": true } }, "additionalProperties": false } ], "title": "FunctionNumberOutput", "description": "Function number output.\n\nThis output loads the content from a file as a floating number.", "discriminator": { "propertyName": "type" } }, "FunctionFileOutput": { "allOf": [ { "$ref": "#/components/schemas/PathOutput" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "FunctionFileOutput", "type": "string", "pattern": "^FunctionFileOutput$", "readOnly": true } }, "additionalProperties": false } ], "title": "FunctionFileOutput", "description": "Function File output.", "discriminator": { "propertyName": "type" } }, "FunctionPathOutput": { "allOf": [ { "$ref": "#/components/schemas/PathOutput" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "FunctionPathOutput", "type": "string", "pattern": "^FunctionPathOutput$", "readOnly": true } }, "additionalProperties": false } ], "title": "FunctionPathOutput", "description": "Function Path output.", "discriminator": { "propertyName": "type" } }, "FunctionJSONObjectOutput": { "allOf": [ { "$ref": "#/components/schemas/FunctionStringOutput" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "FunctionJSONObjectOutput", "type": "string", "pattern": "^FunctionJSONObjectOutput$", "readOnly": true } }, "additionalProperties": false } ], "title": "FunctionJSONObjectOutput", "description": "Function object output.\n\nThis output loads the content from a file as a JSON object.", "discriminator": { "propertyName": "type" } }, "Function": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "name", "command" ], "properties": { "name": { "title": "Name", "description": "Function name. Must be unique within a plugin.", "type": "string" }, "command": { "title": "Command", "description": "Full shell command for this function. Each function accepts only one command. The command will be executed as a shell command in plugin. For running several commands after each other use && between the commands or pipe data from one to another using |", "type": "string" }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "inputs": { "title": "Inputs", "description": "Input arguments for this function.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/FunctionStringInput" }, { "$ref": "#/components/schemas/FunctionIntegerInput" }, { "$ref": "#/components/schemas/FunctionNumberInput" }, { "$ref": "#/components/schemas/FunctionBooleanInput" }, { "$ref": "#/components/schemas/FunctionFolderInput" }, { "$ref": "#/components/schemas/FunctionFileInput" }, { "$ref": "#/components/schemas/FunctionPathInput" }, { "$ref": "#/components/schemas/FunctionArrayInput" }, { "$ref": "#/components/schemas/FunctionJSONObjectInput" } ] } }, "outputs": { "title": "Outputs", "description": "List of output arguments.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/FunctionStringOutput" }, { "$ref": "#/components/schemas/FunctionIntegerOutput" }, { "$ref": "#/components/schemas/FunctionNumberOutput" }, { "$ref": "#/components/schemas/FunctionBooleanOutput" }, { "$ref": "#/components/schemas/FunctionFolderOutput" }, { "$ref": "#/components/schemas/FunctionFileOutput" }, { "$ref": "#/components/schemas/FunctionPathOutput" }, { "$ref": "#/components/schemas/FunctionArrayOutput" }, { "$ref": "#/components/schemas/FunctionJSONObjectOutput" } ] } }, "description": { "title": "Description", "description": "Function description. A short human readable description for this function.", "type": "string" }, "type": { "title": "Type", "default": "Function", "type": "string", "pattern": "^Function$", "readOnly": true } }, "additionalProperties": false } ], "title": "Function", "description": "A Function with a single command", "discriminator": { "propertyName": "type" } }, "Plugin": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "metadata": { "title": "Metadata", "description": "The Plugin metadata information", "allOf": [ { "$ref": "#/components/schemas/MetaData" } ] }, "config": { "title": "Config", "description": "The configuration information to run this plugin", "allOf": [ { "$ref": "#/components/schemas/PluginConfig" } ] }, "functions": { "title": "Functions", "description": "List of Plugin functions", "type": "array", "items": { "$ref": "#/components/schemas/Function" } }, "type": { "title": "Type", "default": "Plugin", "type": "string", "pattern": "^Plugin", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "api_version": { "title": "Api Version", "default": "v1beta1", "type": "string", "pattern": "^v1beta1$" } }, "required": [ "metadata", "config", "functions" ], "additionalProperties": false } ], "title": "Plugin", "description": "A Queenbee Plugin.\n\nA plugin contains runtime configuration for a Command Line Interface (CLI) and\na list of functions that can be executed using this CLI tool.", "discriminator": { "propertyName": "type" } }, "PackageVersion": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "name", "tag", "url", "created", "digest" ], "properties": { "name": { "title": "Name", "description": "Package name. Make it descriptive and helpful ;)", "type": "string" }, "tag": { "title": "Tag", "description": "The tag of the package", "type": "string" }, "url": { "title": "Url", "type": "string" }, "created": { "title": "Created", "type": "string", "format": "date-time" }, "digest": { "title": "Digest", "type": "string" }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "app_version": { "title": "App Version", "description": "The version of the application code underlying the manifest", "type": "string" }, "keywords": { "title": "Keywords", "description": "A list of keywords to search the package by", "type": "array", "items": { "type": "string" } }, "maintainers": { "title": "Maintainers", "description": "A list of maintainers for the package", "type": "array", "items": { "$ref": "#/components/schemas/Maintainer" } }, "home": { "title": "Home", "description": "The URL of this package's home page", "type": "string" }, "sources": { "title": "Sources", "description": "A list of URLs to source code for this project", "type": "array", "items": { "type": "string" } }, "icon": { "title": "Icon", "description": "A URL to an SVG or PNG image to be used as an icon", "type": "string" }, "deprecated": { "title": "Deprecated", "description": "Whether this package is deprecated", "type": "boolean" }, "description": { "title": "Description", "description": "A description of what this package does", "type": "string" }, "license": { "title": "License", "description": "The license information.", "allOf": [ { "$ref": "#/components/schemas/License" } ] }, "slug": { "title": "Slug", "description": "A slug of the repository name and the package name.", "type": "string" }, "kind": { "title": "Kind", "description": "The type of Queenbee package (ie: recipe or plugin)", "default": "", "type": "string" }, "readme": { "title": "Readme", "description": "The README file string for this package", "type": "string" }, "manifest": { "title": "Manifest", "description": "The package Recipe or Plugin manifest", "anyOf": [ { "allOf": [ { "$ref": "#/components/schemas/Recipe" } ] }, { "allOf": [ { "$ref": "#/components/schemas/Plugin" } ] } ] }, "type": { "title": "Type", "default": "PackageVersion", "type": "string", "pattern": "^PackageVersion$", "readOnly": true } }, "additionalProperties": false } ], "title": "PackageVersion", "description": "Package Version\n\nA MetaData object to distinguish a specific package version within a repository\nindex.", "discriminator": { "propertyName": "type" } }, "RepositoryIndex": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "RepositoryIndex", "type": "string", "pattern": "^RepositoryIndex$", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "api_version": { "title": "Api Version", "default": "v1beta1", "type": "string", "pattern": "^v1beta1$" }, "generated": { "title": "Generated", "description": "The timestamp at which the index was generated", "type": "string", "format": "date-time" }, "metadata": { "title": "Metadata", "description": "Extra information about the repository", "default": { "type": "RepositoryMetadata", "annotations": {}, "name": null, "description": "A Queenbee package repository", "source": null, "plugin_count": 0, "recipe_count": 0 }, "allOf": [ { "$ref": "#/components/schemas/RepositoryMetadata" } ] }, "plugin": { "title": "Plugin", "description": "A dict of plugins accessible by name. Each name key points to a list of plugin versions", "default": {}, "type": "object", "additionalProperties": { "type": "array", "items": { "$ref": "#/components/schemas/PackageVersion" } } }, "recipe": { "title": "Recipe", "description": "A dict of recipes accessible by name. Each name key points to a list of recipesversions", "default": {}, "type": "object", "additionalProperties": { "type": "array", "items": { "$ref": "#/components/schemas/PackageVersion" } } } }, "additionalProperties": false } ], "title": "RepositoryIndex", "description": "A searchable index for a Queenbee Plugin and Recipe repository", "discriminator": { "propertyName": "type" } }, "JobStatus": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "inputs", "outputs", "status", "started_at", "id" ], "properties": { "inputs": { "title": "Inputs", "description": "The inputs used for this job.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/StepStringInput" }, { "$ref": "#/components/schemas/StepIntegerInput" }, { "$ref": "#/components/schemas/StepNumberInput" }, { "$ref": "#/components/schemas/StepBooleanInput" }, { "$ref": "#/components/schemas/StepFolderInput" }, { "$ref": "#/components/schemas/StepFileInput" }, { "$ref": "#/components/schemas/StepPathInput" }, { "$ref": "#/components/schemas/StepArrayInput" }, { "$ref": "#/components/schemas/StepJSONObjectInput" } ] } }, "outputs": { "title": "Outputs", "description": "The outputs produced by this job.", "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" } ] } }, "status": { "title": "Status", "description": "The status of this task. Can be \"Running\", \"Succeeded\", \"Failed\" or \"Error\"", "type": "string" }, "started_at": { "title": "Started At", "description": "The time at which the task was started", "type": "string", "format": "date-time" }, "id": { "title": "Id", "description": "The ID of the individual job.", "type": "string" }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "message": { "title": "Message", "description": "Any message produced by the task. Usually error/debugging hints.", "type": "string" }, "finished_at": { "title": "Finished At", "description": "The time at which the task was completed", "type": "string", "format": "date-time" }, "source": { "title": "Source", "description": "Source url for the status object. It can be a recipe or a function.", "type": "string" }, "api_version": { "title": "Api Version", "default": "v1beta1", "type": "string", "pattern": "^v1beta1$" }, "entrypoint": { "title": "Entrypoint", "description": "The ID of the first step in the job.", "type": "string" }, "steps": { "title": "Steps", "default": {}, "type": "object", "additionalProperties": { "$ref": "#/components/schemas/StepStatus" } }, "type": { "title": "Type", "default": "JobStatus", "type": "string", "pattern": "^JobStatus$", "readOnly": true } }, "additionalProperties": false } ], "title": "JobStatus", "description": "Job Status.", "discriminator": { "propertyName": "type" } }, "PublicAccountList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "properties": { "page": { "title": "Page", "description": "The current page the pagination request is on", "type": "integer", "format": "int32" }, "per_page": { "title": "Per Page", "description": "The number of pages per pagination request", "type": "integer", "format": "int32" }, "page_count": { "title": "Page Count", "description": "The total number of pages", "type": "integer", "format": "int32" }, "total_count": { "title": "Total Count", "description": "The total number of resources matching the list request", "type": "integer", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/AccountPublic" } }, "next_page": { "title": "Next Page", "description": "The next page, if this on is not the last", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "PublicAccountList", "type": "string", "pattern": "^PublicAccountList$", "readOnly": true } } } ], "title": "PublicAccountList", "description": "A list response from a pagination request", "discriminator": { "propertyName": "type" } }, "RepositoryUpdate": { "allOf": [ { "$ref": "#/components/schemas/Update" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "RepositoryUpdate", "type": "string", "pattern": "^RepositoryUpdate$", "readOnly": true } } } ], "title": "RepositoryUpdate", "discriminator": { "propertyName": "type" } }, "KeyRequest": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "key": { "title": "Key", "type": "string" }, "type": { "title": "Type", "default": "KeyRequest", "type": "string", "pattern": "^KeyRequest$", "readOnly": true } }, "required": [ "key" ] } ], "title": "KeyRequest", "discriminator": { "propertyName": "type" } }, "FileMeta": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "key": { "title": "Key", "type": "string" }, "file_type": { "title": "File Type", "type": "string" }, "file_name": { "title": "File Name", "type": "string" }, "last_modified": { "title": "Last Modified", "type": "string", "format": "date-time" }, "size": { "title": "Size", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "FileMeta", "type": "string", "pattern": "^FileMeta$", "readOnly": true } }, "required": [ "key", "file_type", "file_name" ] } ], "title": "FileMeta", "discriminator": { "propertyName": "type" } }, "Body_post_recipe_registries__owner__recipes_post": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "package": { "title": "Recipe Package", "type": "string", "format": "binary" }, "type": { "title": "Type", "default": "Body_post_recipe_registries__owner__recipes_post", "type": "string", "pattern": "^Body_post_recipe_registries__owner__recipes_post$", "readOnly": true } }, "required": [ "package" ] } ], "title": "Body_post_recipe_registries__owner__recipes_post", "discriminator": { "propertyName": "type" } }, "APITokenCreate": { "allOf": [ { "$ref": "#/components/schemas/APIToken" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "APITokenCreate", "type": "string", "pattern": "^APITokenCreate$", "readOnly": true } } } ], "title": "APITokenCreate", "discriminator": { "propertyName": "type" } }, "ProjectAccessPolicyList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "properties": { "page": { "title": "Page", "description": "The current page the pagination request is on", "type": "integer", "format": "int32" }, "per_page": { "title": "Per Page", "description": "The number of pages per pagination request", "type": "integer", "format": "int32" }, "page_count": { "title": "Page Count", "description": "The total number of pages", "type": "integer", "format": "int32" }, "total_count": { "title": "Total Count", "description": "The total number of resources matching the list request", "type": "integer", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/ProjectAccessPolicy" } }, "next_page": { "title": "Next Page", "description": "The next page, if this on is not the last", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "ProjectAccessPolicyList", "type": "string", "pattern": "^ProjectAccessPolicyList$", "readOnly": true } } } ], "title": "ProjectAccessPolicyList", "description": "A list response from a pagination request", "discriminator": { "propertyName": "type" } }, "Run": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "id": { "title": "Id", "description": "The unique ID for this run", "type": "string" }, "job": { "$ref": "#/components/schemas/Job" }, "author": { "title": "Author", "description": "author", "allOf": [ { "$ref": "#/components/schemas/AccountPublic" } ] }, "owner": { "title": "Owner", "description": "owner", "allOf": [ { "$ref": "#/components/schemas/AccountPublic" } ] }, "status": { "title": "Status", "description": "The status of the job", "allOf": [ { "$ref": "#/components/schemas/JobStatus" } ] }, "type": { "title": "Type", "default": "Run", "type": "string", "pattern": "^Run$", "readOnly": true } }, "required": [ "id", "job" ] } ], "title": "Run", "discriminator": { "propertyName": "type" } }, "Organization": { "allOf": [ { "$ref": "#/components/schemas/OrganizationUpdate" }, { "type": "object", "required": [ "id", "owner" ], "properties": { "id": { "title": "Id", "description": "The org ID", "example": "1eb8e60d-771d-4a30-8078-fe553eb2f0bc", "type": "string" }, "owner": { "title": "Owner", "description": "The account the organization represents", "example": { "id": "e4d0d922-2031-4b39-94d2-aa6d584d6bb2", "type": "org", "name": "ladybug-tools" }, "allOf": [ { "$ref": "#/components/schemas/AccountPublic" } ] }, "role": { "title": "Role", "description": "The role the user has within the organization", "example": "member", "enum": [ "owner", "member" ], "type": "string" }, "member_count": { "title": "Member Count", "description": "The number of members that are part of this org", "default": 0, "example": 10, "type": "integer", "format": "int32" }, "team_count": { "title": "Team Count", "description": "The number of teams that are part of this org", "default": 0, "example": 3, "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "Organization", "type": "string", "pattern": "^Organization$", "readOnly": true } } } ], "title": "Organization", "discriminator": { "propertyName": "type" } }, "RepositoryPolicySubject": { "allOf": [ { "$ref": "#/components/schemas/PolicySubject" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "RepositoryPolicySubject", "type": "string", "pattern": "^RepositoryPolicySubject$", "readOnly": true } } } ], "title": "RepositoryPolicySubject", "discriminator": { "propertyName": "type" } }, "OrganizationMember": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "user": { "title": "User", "description": "The organization member", "allOf": [ { "$ref": "#/components/schemas/UserPublic" } ] }, "role": { "title": "Role", "description": "The role the user has within the organization", "example": "member", "enum": [ "owner", "member" ], "type": "string" }, "type": { "title": "Type", "default": "OrganizationMember", "type": "string", "pattern": "^OrganizationMember$", "readOnly": true } }, "required": [ "user", "role" ] } ], "title": "OrganizationMember", "discriminator": { "propertyName": "type" } }, "NewPluginPackage": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "manifest": { "title": "Manifest", "description": "The Plugin manifest to be created", "allOf": [ { "$ref": "#/components/schemas/Plugin" } ] }, "readme": { "title": "Readme", "description": "The README file to attach to this package", "default": "", "type": "string" }, "license": { "title": "License", "description": "The license file to attach to this package", "default": "", "type": "string" }, "type": { "title": "Type", "default": "NewPluginPackage", "type": "string", "pattern": "^NewPluginPackage$", "readOnly": true } }, "required": [ "manifest" ] } ], "title": "NewPluginPackage", "discriminator": { "propertyName": "type" } }, "Project": { "allOf": [ { "$ref": "#/components/schemas/ProjectCreate" }, { "type": "object", "required": [ "id", "owner", "permissions", "slug" ], "properties": { "id": { "title": "Id", "description": "The project ID", "example": "50bb7fe0-8f19-499e-972e-1ebec8af2c71", "type": "string" }, "owner": { "$ref": "#/components/schemas/AccountPublic" }, "permissions": { "$ref": "#/components/schemas/ProjectUserPermissions" }, "slug": { "title": "Slug", "description": "The project name in slug format", "example": "project-falcon", "type": "string" }, "type": { "title": "Type", "default": "Project", "type": "string", "pattern": "^Project$", "readOnly": true } } } ], "title": "Project", "discriminator": { "propertyName": "type" } }, "UpdateAccepted": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "status": { "title": "Status", "default": "accepted", "type": "string" }, "type": { "title": "Type", "default": "UpdateAccepted", "type": "string", "pattern": "^UpdateAccepted$", "readOnly": true } } } ], "title": "UpdateAccepted", "description": "Accepted request response for existing resource", "discriminator": { "propertyName": "type" } }, "ProjectUpdate": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "name": { "title": "Name", "description": "The name of the project. Must be unique to a given owner", "example": "Project Falcon", "type": "string" }, "description": { "title": "Description", "description": "A description of the project", "default": "", "example": "I always wanted to have a project called project Falcon", "type": "string" }, "public": { "title": "Public", "description": "Whether or not a project is publicly viewable", "default": true, "type": "boolean" }, "type": { "title": "Type", "default": "ProjectUpdate", "type": "string", "pattern": "^ProjectUpdate$", "readOnly": true } }, "required": [ "name" ] } ], "title": "ProjectUpdate", "discriminator": { "propertyName": "type" } }, "RecipeInterfaceList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "properties": { "page": { "title": "Page", "description": "The current page the pagination request is on", "type": "integer", "format": "int32" }, "per_page": { "title": "Per Page", "description": "The number of pages per pagination request", "type": "integer", "format": "int32" }, "page_count": { "title": "Page Count", "description": "The total number of pages", "type": "integer", "format": "int32" }, "total_count": { "title": "Total Count", "description": "The total number of resources matching the list request", "type": "integer", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/RecipeInterface" } }, "next_page": { "title": "Next Page", "description": "The next page, if this on is not the last", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "RecipeInterfaceList", "type": "string", "pattern": "^RecipeInterfaceList$", "readOnly": true } } } ], "title": "RecipeInterfaceList", "description": "A list response from a pagination request", "discriminator": { "propertyName": "type" } }, "ProjectList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "properties": { "page": { "title": "Page", "description": "The current page the pagination request is on", "type": "integer", "format": "int32" }, "per_page": { "title": "Per Page", "description": "The number of pages per pagination request", "type": "integer", "format": "int32" }, "page_count": { "title": "Page Count", "description": "The total number of pages", "type": "integer", "format": "int32" }, "total_count": { "title": "Total Count", "description": "The total number of resources matching the list request", "type": "integer", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/Project" } }, "next_page": { "title": "Next Page", "description": "The next page, if this on is not the last", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "ProjectList", "type": "string", "pattern": "^ProjectList$", "readOnly": true } } } ], "title": "ProjectList", "description": "A list response from a pagination request", "discriminator": { "propertyName": "type" } }, "TeamMemberList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "properties": { "page": { "title": "Page", "description": "The current page the pagination request is on", "type": "integer", "format": "int32" }, "per_page": { "title": "Per Page", "description": "The number of pages per pagination request", "type": "integer", "format": "int32" }, "page_count": { "title": "Page Count", "description": "The total number of pages", "type": "integer", "format": "int32" }, "total_count": { "title": "Total Count", "description": "The total number of resources matching the list request", "type": "integer", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/TeamMember" } }, "next_page": { "title": "Next Page", "description": "The next page, if this on is not the last", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "TeamMemberList", "type": "string", "pattern": "^TeamMemberList$", "readOnly": true } } } ], "title": "TeamMemberList", "description": "A list response from a pagination request", "discriminator": { "propertyName": "type" } }, "ProjectRecipeFilter": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "owner": { "title": "Owner", "description": "The name of the account the recipe belongs to", "example": "ladybug-tools", "type": "string" }, "name": { "title": "Name", "description": "The name of the recipe", "example": "daylight-factor", "type": "string" }, "tag": { "title": "Tag", "description": "The specific recipe tag", "example": "0.2.1", "type": "string" }, "type": { "title": "Type", "default": "ProjectRecipeFilter", "type": "string", "pattern": "^ProjectRecipeFilter$", "readOnly": true } }, "required": [ "owner", "name" ] } ], "title": "ProjectRecipeFilter", "discriminator": { "propertyName": "type" } }, "RepositoryList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "properties": { "page": { "title": "Page", "description": "The current page the pagination request is on", "type": "integer", "format": "int32" }, "per_page": { "title": "Per Page", "description": "The number of pages per pagination request", "type": "integer", "format": "int32" }, "page_count": { "title": "Page Count", "description": "The total number of pages", "type": "integer", "format": "int32" }, "total_count": { "title": "Total Count", "description": "The total number of resources matching the list request", "type": "integer", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/Repository" } }, "next_page": { "title": "Next Page", "description": "The next page, if this on is not the last", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "RepositoryList", "type": "string", "pattern": "^RepositoryList$", "readOnly": true } } } ], "title": "RepositoryList", "description": "A list response from a pagination request", "discriminator": { "propertyName": "type" } }, "S3UploadRequest": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "url": { "title": "Url", "type": "string" }, "fields": { "title": "Fields", "type": "object", "additionalProperties": { "type": "string" } }, "type": { "title": "Type", "default": "S3UploadRequest", "type": "string", "pattern": "^S3UploadRequest$", "readOnly": true } }, "required": [ "url", "fields" ] } ], "title": "S3UploadRequest", "discriminator": { "propertyName": "type" } }, "CreatedContent": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "id": { "title": "Id", "description": "Id for the newly created resource.", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string", "format": "uuid" }, "message": { "title": "Message", "description": " A human readable message", "example": "Use Location in headers to access the new object.", "type": "string" }, "type": { "title": "Type", "default": "CreatedContent", "type": "string", "pattern": "^CreatedContent$", "readOnly": true } }, "required": [ "id" ] } ], "title": "CreatedContent", "description": "Content for created response.", "discriminator": { "propertyName": "type" } }, "APITokenList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "properties": { "page": { "title": "Page", "description": "The current page the pagination request is on", "type": "integer", "format": "int32" }, "per_page": { "title": "Per Page", "description": "The number of pages per pagination request", "type": "integer", "format": "int32" }, "page_count": { "title": "Page Count", "description": "The total number of pages", "type": "integer", "format": "int32" }, "total_count": { "title": "Total Count", "description": "The total number of resources matching the list request", "type": "integer", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/APIToken" } }, "next_page": { "title": "Next Page", "description": "The next page, if this on is not the last", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "APITokenList", "type": "string", "pattern": "^APITokenList$", "readOnly": true } } } ], "title": "APITokenList", "description": "A list response from a pagination request", "discriminator": { "propertyName": "type" } }, "PluginList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "properties": { "page": { "title": "Page", "description": "The current page the pagination request is on", "type": "integer", "format": "int32" }, "per_page": { "title": "Per Page", "description": "The number of pages per pagination request", "type": "integer", "format": "int32" }, "page_count": { "title": "Page Count", "description": "The total number of pages", "type": "integer", "format": "int32" }, "total_count": { "title": "Total Count", "description": "The total number of resources matching the list request", "type": "integer", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/Plugin" } }, "next_page": { "title": "Next Page", "description": "The next page, if this on is not the last", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "PluginList", "type": "string", "pattern": "^PluginList$", "readOnly": true } } } ], "title": "PluginList", "description": "A list response from a pagination request", "discriminator": { "propertyName": "type" } }, "ProjectPolicySubject": { "allOf": [ { "$ref": "#/components/schemas/PolicySubject" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "ProjectPolicySubject", "type": "string", "pattern": "^ProjectPolicySubject$", "readOnly": true } } } ], "title": "ProjectPolicySubject", "discriminator": { "propertyName": "type" } }, "RepositoryAccessPolicyList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "properties": { "page": { "title": "Page", "description": "The current page the pagination request is on", "type": "integer", "format": "int32" }, "per_page": { "title": "Per Page", "description": "The number of pages per pagination request", "type": "integer", "format": "int32" }, "page_count": { "title": "Page Count", "description": "The total number of pages", "type": "integer", "format": "int32" }, "total_count": { "title": "Total Count", "description": "The total number of resources matching the list request", "type": "integer", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/RepositoryAccessPolicy" } }, "next_page": { "title": "Next Page", "description": "The next page, if this on is not the last", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "RepositoryAccessPolicyList", "type": "string", "pattern": "^RepositoryAccessPolicyList$", "readOnly": true } } } ], "title": "RepositoryAccessPolicyList", "description": "A list response from a pagination request", "discriminator": { "propertyName": "type" } }, "OrganizationUpdate": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "name": { "title": "Name", "description": "The display name for this org", "example": "Ladybug Tools", "type": "string" }, "picture": { "title": "Picture", "description": "URL to the picture associated with this org", "example": "https://avatars1.githubusercontent.com/u/38131342", "type": "string" }, "contact_email": { "title": "Contact Email", "description": "The contact email for the Organization", "example": "info@ladybug.tools", "type": "string" }, "description": { "title": "Description", "description": "A description of the org", "default": "", "example": "Making environmental design knowledge and tools freely accessible to every person, project and design process", "type": "string" }, "type": { "title": "Type", "default": "OrganizationUpdate", "type": "string", "pattern": "^OrganizationUpdate$", "readOnly": true } }, "required": [ "name", "picture", "contact_email" ] } ], "title": "OrganizationUpdate", "discriminator": { "propertyName": "type" } }, "OrganizationMemberList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "properties": { "page": { "title": "Page", "description": "The current page the pagination request is on", "type": "integer", "format": "int32" }, "per_page": { "title": "Per Page", "description": "The number of pages per pagination request", "type": "integer", "format": "int32" }, "page_count": { "title": "Page Count", "description": "The total number of pages", "type": "integer", "format": "int32" }, "total_count": { "title": "Total Count", "description": "The total number of resources matching the list request", "type": "integer", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/OrganizationMember" } }, "next_page": { "title": "Next Page", "description": "The next page, if this on is not the last", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "OrganizationMemberList", "type": "string", "pattern": "^OrganizationMemberList$", "readOnly": true } } } ], "title": "OrganizationMemberList", "description": "A list response from a pagination request", "discriminator": { "propertyName": "type" } }, "OrganizationList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "properties": { "page": { "title": "Page", "description": "The current page the pagination request is on", "type": "integer", "format": "int32" }, "per_page": { "title": "Per Page", "description": "The number of pages per pagination request", "type": "integer", "format": "int32" }, "page_count": { "title": "Page Count", "description": "The total number of pages", "type": "integer", "format": "int32" }, "total_count": { "title": "Total Count", "description": "The total number of resources matching the list request", "type": "integer", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/Organization" } }, "next_page": { "title": "Next Page", "description": "The next page, if this on is not the last", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "OrganizationList", "type": "string", "pattern": "^OrganizationList$", "readOnly": true } } } ], "title": "OrganizationList", "description": "A list response from a pagination request", "discriminator": { "propertyName": "type" } }, "ProjectRecipeFilterList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "properties": { "page": { "title": "Page", "description": "The current page the pagination request is on", "type": "integer", "format": "int32" }, "per_page": { "title": "Per Page", "description": "The number of pages per pagination request", "type": "integer", "format": "int32" }, "page_count": { "title": "Page Count", "description": "The total number of pages", "type": "integer", "format": "int32" }, "total_count": { "title": "Total Count", "description": "The total number of resources matching the list request", "type": "integer", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/ProjectRecipeFilter" } }, "next_page": { "title": "Next Page", "description": "The next page, if this on is not the last", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "ProjectRecipeFilterList", "type": "string", "pattern": "^ProjectRecipeFilterList$", "readOnly": true } } } ], "title": "ProjectRecipeFilterList", "description": "A list response from a pagination request", "discriminator": { "propertyName": "type" } }, "JobList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "properties": { "page": { "title": "Page", "description": "The current page the pagination request is on", "type": "integer", "format": "int32" }, "per_page": { "title": "Per Page", "description": "The number of pages per pagination request", "type": "integer", "format": "int32" }, "page_count": { "title": "Page Count", "description": "The total number of pages", "type": "integer", "format": "int32" }, "total_count": { "title": "Total Count", "description": "The total number of resources matching the list request", "type": "integer", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/Run" } }, "next_page": { "title": "Next Page", "description": "The next page, if this on is not the last", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "JobList", "type": "string", "pattern": "^JobList$", "readOnly": true } } } ], "title": "JobList", "description": "A list response from a pagination request", "discriminator": { "propertyName": "type" } }, "_InputReferenceBase": { "allOf": [ { "$ref": "#/components/schemas/_BaseReference" }, { "type": "object", "required": [ "variable" ], "properties": { "variable": { "title": "Variable", "description": "The name of the DAG input variable", "type": "string" }, "type": { "title": "Type", "default": "_InputReferenceBase", "type": "string", "pattern": "^_InputReferenceBase$", "readOnly": true } }, "additionalProperties": false } ], "title": "_InputReferenceBase", "description": "An input reference.", "discriminator": { "propertyName": "type" } }, "_BaseReference": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "_BaseReference", "type": "string", "pattern": "^_BaseReference$", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } } }, "additionalProperties": false } ], "title": "_BaseReference", "description": "A Base reference model.", "discriminator": { "propertyName": "type" } }, "PathOutput": { "allOf": [ { "$ref": "#/components/schemas/GenericOutput" }, { "type": "object", "required": [ "path" ], "properties": { "path": { "title": "Path", "description": "Path to the output artifact relative to where the function command is executed.", "type": "string" }, "type": { "title": "Type", "default": "PathOutput", "type": "string", "pattern": "^PathOutput$", "readOnly": true } }, "additionalProperties": false } ], "title": "PathOutput", "description": "Base class for output classes that source tha output from a path.\n\nAn example of using PathOutput is TaskFile and TaskFolder outputs.", "discriminator": { "propertyName": "type" } }, "GenericOutput": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "name": { "title": "Name", "description": "Output name.", "type": "string" }, "type": { "title": "Type", "default": "GenericOutput", "type": "string", "pattern": "^GenericOutput$", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "description": { "title": "Description", "description": "Optional description for output.", "type": "string" } }, "required": [ "name" ], "additionalProperties": false } ], "title": "GenericOutput", "description": "Base class for all output types.\n\nThe baseclass uses a name to source the output.", "discriminator": { "propertyName": "type" } }, "GenericInput": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "name": { "title": "Name", "description": "Input name.", "type": "string" }, "type": { "title": "Type", "default": "GenericInput", "type": "string", "pattern": "^GenericInput$", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "description": { "title": "Description", "description": "Optional description for input.", "type": "string" } }, "required": [ "name" ], "additionalProperties": false } ], "title": "GenericInput", "description": "Base class for all input types.", "discriminator": { "propertyName": "type" } }, "FromOutput": { "allOf": [ { "$ref": "#/components/schemas/GenericOutput" }, { "type": "object", "required": [ "from" ], "properties": { "from": { "title": "From", "description": "Reference to a file or a task output. Task output must be file." }, "type": { "title": "Type", "default": "FromOutput", "type": "string", "pattern": "^FromOutput$", "readOnly": true } }, "additionalProperties": false } ], "title": "FromOutput", "description": "Base class for output classes that source ``from`` an object.\n\nSee DAG output classes for more examples.", "discriminator": { "propertyName": "type" } }, "_TaskReferenceBase": { "allOf": [ { "$ref": "#/components/schemas/_BaseReference" }, { "type": "object", "required": [ "name", "variable" ], "properties": { "name": { "title": "Name", "description": "The name of the task to pull output data from.", "type": "string" }, "variable": { "title": "Variable", "description": "The name of the variable.", "type": "string" }, "type": { "title": "Type", "default": "_TaskReferenceBase", "type": "string", "pattern": "^_TaskReferenceBase$", "readOnly": true } }, "additionalProperties": false } ], "title": "_TaskReferenceBase", "description": "A Task Reference", "discriminator": { "propertyName": "type" } }, "AccessPolicy": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "subject": { "title": "Subject", "description": "The subject of the access policy", "allOf": [ { "$ref": "#/components/schemas/PolicySubject" } ] }, "permission": { "title": "Permission", "description": "The permission given to the subject of the access policy", "example": "write", "enum": [ "admin", "write", "read" ], "type": "string" }, "type": { "title": "Type", "default": "AccessPolicy", "type": "string", "pattern": "^AccessPolicy$", "readOnly": true } }, "required": [ "subject", "permission" ] } ], "title": "AccessPolicy", "discriminator": { "propertyName": "type" } }, "ListResponseMeta": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "page": { "title": "Page", "description": "The current page the pagination request is on", "type": "integer", "format": "int32" }, "per_page": { "title": "Per Page", "description": "The number of pages per pagination request", "type": "integer", "format": "int32" }, "page_count": { "title": "Page Count", "description": "The total number of pages", "type": "integer", "format": "int32" }, "total_count": { "title": "Total Count", "description": "The total number of resources matching the list request", "type": "integer", "format": "int32" }, "next_page": { "title": "Next Page", "description": "The next page, if this on is not the last", "type": "integer", "format": "int32" }, "resources": { "title": "Resources", "description": "The list of resources returned from the list query", "default": [], "type": "array", "items": {} }, "type": { "title": "Type", "default": "ListResponseMeta", "type": "string", "pattern": "^ListResponseMeta$", "readOnly": true } }, "required": [ "page", "per_page", "page_count", "total_count" ] } ], "title": "ListResponseMeta", "description": "A list response from a pagination request", "discriminator": { "propertyName": "type" } }, "BaseStatus": { "allOf": [ { "$ref": "#/components/schemas/IOBase" }, { "type": "object", "required": [ "status", "started_at" ], "properties": { "status": { "title": "Status", "description": "The status of this task. Can be \"Running\", \"Succeeded\", \"Failed\" or \"Error\"", "type": "string" }, "started_at": { "title": "Started At", "description": "The time at which the task was started", "type": "string", "format": "date-time" }, "message": { "title": "Message", "description": "Any message produced by the task. Usually error/debugging hints.", "type": "string" }, "finished_at": { "title": "Finished At", "description": "The time at which the task was completed", "type": "string", "format": "date-time" }, "source": { "title": "Source", "description": "Source url for the status object. It can be a recipe or a function.", "type": "string" }, "type": { "title": "Type", "default": "BaseStatus", "type": "string", "pattern": "^BaseStatus$", "readOnly": true } }, "additionalProperties": false } ], "title": "BaseStatus", "description": "Base Status model", "discriminator": { "propertyName": "type" } }, "IOBase": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "IOBase", "type": "string", "pattern": "^IOBase$", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "inputs": { "title": "Inputs", "description": "Place-holder. Overwrite this!", "type": "array", "items": {} }, "outputs": { "title": "Outputs", "description": "Place-holder. Overwrite this!", "type": "array", "items": {} } }, "additionalProperties": false } ], "title": "IOBase", "description": "A reusable model for classes with Input and Output (IO) objects.\n\nIOBase is the baseclass for Function, DAG and Workflow.", "discriminator": { "propertyName": "type" } }, "UserPermission": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "admin": { "title": "Admin", "description": "The user has admin permission to this resource", "default": false, "example": false, "type": "boolean" }, "write": { "title": "Write", "description": "The user has write permission on this resource", "default": false, "example": false, "type": "boolean" }, "read": { "title": "Read", "description": "The user has read permission on this resource", "default": false, "example": true, "type": "boolean" }, "type": { "title": "Type", "default": "UserPermission", "type": "string", "pattern": "^UserPermission$", "readOnly": true } } } ], "title": "UserPermission", "discriminator": { "propertyName": "type" } }, "Update": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "public": { "title": "Public", "description": "Whether or not a repository is publicly viewable", "default": true, "type": "boolean" }, "keywords": { "title": "Keywords", "description": "A list of keywords to index the repository by", "example": [ "daylight", "radiance" ], "type": "array", "items": { "type": "string" } }, "description": { "title": "Description", "description": "A description of the repository", "example": "Run daylight simulations the easy way!", "type": "string" }, "icon": { "title": "Icon", "description": "An icon to represent this repository", "example": "https://avatars1.githubusercontent.com/u/38131342", "type": "string" }, "type": { "title": "Type", "default": "Update", "type": "string", "pattern": "^Update$", "readOnly": true } } } ], "title": "Update", "discriminator": { "propertyName": "type" } }, "_ArtifactSource": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "_ArtifactSource", "type": "string", "pattern": "^_ArtifactSource$", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } } }, "additionalProperties": false } ], "title": "_ArtifactSource", "description": "ArtifactSource.\n\nAn Artifact Source System.", "discriminator": { "propertyName": "type" } }, "AccessPolicyList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "properties": { "page": { "title": "Page", "description": "The current page the pagination request is on", "type": "integer", "format": "int32" }, "per_page": { "title": "Per Page", "description": "The number of pages per pagination request", "type": "integer", "format": "int32" }, "page_count": { "title": "Page Count", "description": "The total number of pages", "type": "integer", "format": "int32" }, "total_count": { "title": "Total Count", "description": "The total number of resources matching the list request", "type": "integer", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/AccessPolicy" } }, "next_page": { "title": "Next Page", "description": "The next page, if this on is not the last", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "AccessPolicyList", "type": "string", "pattern": "^AccessPolicyList$", "readOnly": true } } } ], "title": "AccessPolicyList", "description": "A list response from a pagination request", "discriminator": { "propertyName": "type" } }, "_OpenAPIGenBaseModel": { "title": "_OpenAPIGenBaseModel", "type": "object", "properties": { "type": { "title": "Type", "description": "A base class to use when there is no baseclass available to fall on.", "default": "InvalidType", "type": "string", "readOnly": true } }, "discriminator": { "propertyName": "type" } } }, "securitySchemes": { "JWTAuth": { "type": "http", "scheme": "bearer" }, "APIKeyAuth": { "type": "apiKey", "in": "header", "name": "x-pollination-token" } } } }