{ "openapi": "3.0.2", "info": { "title": "pollination-server", "description": "Pollination Server OpenAPI Definition", "version": "0.23.0", "contact": { "name": "PollinationSolutions", "url": "https://pollination.cloud", "email": "info@pollination.cloud" } }, "paths": { "/accounts": { "get": { "tags": [ "Accounts" ], "summary": "List Accounts on the Pollination platform", "description": "List accounts", "operationId": "list_accounts", "parameters": [ { "description": "Search string to find accounts", "required": false, "schema": { "title": "Search Query", "type": "string", "description": "Search string to find accounts" }, "name": "search", "in": "query" }, { "description": "Whether the account is for a user or an org", "required": false, "schema": { "title": "Account Type", "type": "string", "description": "Whether the account is for a user or an org" }, "name": "type", "in": "query" }, { "description": "The role the user has in relation to this account", "required": false, "schema": { "title": "User Role", "allOf": [ { "$ref": "#/components/schemas/RoleEnum" } ], "description": "The role the user has in relation to this account" }, "name": "role", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "title": "Page number", "minimum": 1.0, "type": "integer", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "title": "Items per page", "maximum": 100.0, "type": "integer", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PublicAccountList" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/accounts/{name}": { "get": { "tags": [ "Accounts" ], "summary": "Get an account by name", "description": "Retrieve an account by name", "operationId": "get_account", "parameters": [ { "required": true, "schema": { "title": "Name", "type": "string" }, "name": "name", "in": "path" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AccountPublic" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/tokens": { "get": { "tags": [ "API Tokens" ], "summary": "List user API tokens", "description": "List API tokens for the authenticated user", "operationId": "list_tokens", "parameters": [ { "description": "Page number starting from 1", "required": false, "schema": { "title": "Page number", "minimum": 1.0, "type": "integer", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "title": "Items per page", "maximum": 100.0, "type": "integer", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/APITokenList" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "post": { "tags": [ "API Tokens" ], "summary": "Create a new API token", "description": "Create a new API token", "operationId": "create_token", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/APITokenCreate" } } }, "required": true }, "responses": { "201": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/APITokenPrivate" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/tokens/{token_id}": { "put": { "tags": [ "API Tokens" ], "summary": "Regenerate an API token", "description": "Regenerate a token", "operationId": "regenerate_token", "parameters": [ { "required": true, "schema": { "title": "Token Id", "type": "string" }, "name": "token_id", "in": "path" } ], "responses": { "201": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/APITokenPrivate" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "delete": { "tags": [ "API Tokens" ], "summary": "Delete an API Token", "description": "Delete a token", "operationId": "delete_token", "parameters": [ { "required": true, "schema": { "title": "Token Id", "type": "string" }, "name": "token_id", "in": "path" } ], "responses": { "202": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/user": { "get": { "tags": [ "User" ], "summary": "Get authenticated user profile.", "description": "Get authenticated user profile", "operationId": "get_me", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserPrivate" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "put": { "tags": [ "User" ], "summary": "Update the authenticated user", "description": "Update the authenticated user profile", "operationId": "update_user_profile", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserUpdate" } } }, "required": true }, "responses": { "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateAccepted" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "post": { "tags": [ "User" ], "summary": "Register a new user", "description": "Create a new user.", "operationId": "create_user", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserCreate" } } }, "required": true }, "responses": { "201": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreatedContent" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "202": { "description": "Accepted" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] } ] } }, "/user/roles": { "get": { "tags": [ "User" ], "summary": "Get the authenticated user roles", "operationId": "get_roles", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "title": "Response Get Roles Roles Get", "type": "array", "items": { "type": "string" } } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/users": { "get": { "tags": [ "Users" ], "summary": "List Users", "operationId": "list_users", "parameters": [ { "description": "Search string to find users", "required": false, "schema": { "title": "Search Query", "type": "string", "description": "Search string to find users" }, "name": "search", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "title": "Page number", "minimum": 1.0, "type": "integer", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "title": "Items per page", "maximum": 100.0, "type": "integer", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserPublicList" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/users/check_username/{username}": { "get": { "tags": [ "Users" ], "summary": "Check if a username is already taken", "description": "Check if a username is already taken by a user or an org", "operationId": "check_username", "parameters": [ { "required": true, "schema": { "title": "Username", "type": "string" }, "name": "username", "in": "path" } ], "responses": { "200": { "description": "Username not taken", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/users/{name}": { "get": { "tags": [ "Users" ], "summary": "Get a specific user profile", "description": "Get a specific user profile by name", "operationId": "get_one_user", "parameters": [ { "required": true, "schema": { "title": "Username", "type": "string" }, "name": "name", "in": "path" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserPublic" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/orgs": { "get": { "tags": [ "Orgs" ], "summary": "List Orgs", "description": "search for orgs using query parameters", "operationId": "list_orgs", "parameters": [ { "description": "You know, for search", "required": false, "schema": { "title": "Search query", "type": "array", "items": { "type": "string" }, "description": "You know, for search", "default": [] }, "name": "search", "in": "query" }, { "description": "The account name", "required": false, "schema": { "title": "Account Name", "type": "array", "items": { "type": "string" }, "description": "The account name", "default": [] }, "name": "name", "in": "query" }, { "description": "The username of a user", "required": false, "schema": { "title": "Member username", "type": "array", "items": { "type": "string" }, "description": "The username of a user", "default": [] }, "name": "member", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "title": "Page number", "minimum": 1.0, "type": "integer", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "title": "Items per page", "maximum": 100.0, "type": "integer", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrganizationList" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "post": { "tags": [ "Orgs" ], "summary": "Create an Org", "description": "Create a new org.", "operationId": "create_org", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrganizationCreate" } } }, "required": true }, "responses": { "201": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreatedContent" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "202": { "description": "Accepted" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/orgs/{name}": { "get": { "tags": [ "Orgs" ], "summary": "Get an Org", "description": "Retrieve a org by name", "operationId": "get_org", "parameters": [ { "required": true, "schema": { "title": "Name", "type": "string" }, "name": "name", "in": "path" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Organization" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "put": { "tags": [ "Orgs" ], "summary": "Update an Org", "description": "Update a org (must have org `owner` role)", "operationId": "update_org", "parameters": [ { "required": true, "schema": { "title": "Name", "type": "string" }, "name": "name", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrganizationUpdate" } } }, "required": true }, "responses": { "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateAccepted" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "delete": { "tags": [ "Orgs" ], "summary": "Delete an Org", "description": "Delete a org (must have `admin` permission)", "operationId": "delete_org", "parameters": [ { "required": true, "schema": { "title": "Name", "type": "string" }, "name": "name", "in": "path" } ], "responses": { "204": { "description": "Accepted" }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/orgs/{name}/members": { "get": { "tags": [ "Orgs" ], "summary": "List organization members", "description": "Retrieve a org's members", "operationId": "get_org_members", "parameters": [ { "required": true, "schema": { "title": "Name", "type": "string" }, "name": "name", "in": "path" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrganizationMemberList" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/orgs/{name}/members/{username}/{role}": { "patch": { "tags": [ "Orgs" ], "summary": "Add or update the role of an Org Member", "description": "Upsert a member role to the org (must have org `owner` role)", "operationId": "upsert_org_member", "parameters": [ { "required": true, "schema": { "title": "Name", "type": "string" }, "name": "name", "in": "path" }, { "required": true, "schema": { "title": "Username", "type": "string" }, "name": "username", "in": "path" }, { "required": true, "schema": { "$ref": "#/components/schemas/OrganizationRoleEnum" }, "name": "role", "in": "path" } ], "responses": { "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateAccepted" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/orgs/{name}/members/{username}": { "delete": { "tags": [ "Orgs" ], "summary": "Remove an Org member", "description": "Remove a member from the org (must have org `owner` role)", "operationId": "delete_org_member", "parameters": [ { "required": true, "schema": { "title": "Name", "type": "string" }, "name": "name", "in": "path" }, { "required": true, "schema": { "title": "Username", "type": "string" }, "name": "username", "in": "path" } ], "responses": { "204": { "description": "Accepted" }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/orgs/{org_name}/teams": { "get": { "tags": [ "Teams" ], "summary": "List Teams", "description": "search for orgs using query parameters", "operationId": "list_org_teams", "parameters": [ { "required": true, "schema": { "title": "Org Name", "type": "string" }, "name": "org_name", "in": "path" }, { "description": "You know, for search", "required": false, "schema": { "title": "Search query", "type": "array", "items": { "type": "string" }, "description": "You know, for search", "default": [] }, "name": "search", "in": "query" }, { "description": "The account name", "required": false, "schema": { "title": "Account Name", "type": "array", "items": { "type": "string" }, "description": "The account name", "default": [] }, "name": "name", "in": "query" }, { "description": "The ID of a user", "required": false, "schema": { "title": "Member ID", "type": "array", "items": { "type": "string" }, "description": "The ID of a user", "default": [] }, "name": "member", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "title": "Page number", "minimum": 1.0, "type": "integer", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "title": "Items per page", "maximum": 100.0, "type": "integer", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TeamList" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "post": { "tags": [ "Teams" ], "summary": "Create a Team", "description": "Create a new team (must be parent org member)", "operationId": "create_team", "parameters": [ { "required": true, "schema": { "title": "Org Name", "type": "string" }, "name": "org_name", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TeamCreate" } } }, "required": true }, "responses": { "201": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreatedContent" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "202": { "description": "Accepted" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/orgs/{org_name}/teams/{team_slug}": { "get": { "tags": [ "Teams" ], "summary": "Get a Team", "description": "Retrieve a team by name", "operationId": "get_team", "parameters": [ { "required": true, "schema": { "title": "Org Name", "type": "string" }, "name": "org_name", "in": "path" }, { "required": true, "schema": { "title": "Team Slug", "type": "string" }, "name": "team_slug", "in": "path" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Team" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "put": { "tags": [ "Teams" ], "summary": "Update a Team", "description": "Update a team (must have team or org `owner` role)", "operationId": "update_team", "parameters": [ { "required": true, "schema": { "title": "Org Name", "type": "string" }, "name": "org_name", "in": "path" }, { "required": true, "schema": { "title": "Team Slug", "type": "string" }, "name": "team_slug", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TeamUpdate" } } }, "required": true }, "responses": { "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateAccepted" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "delete": { "tags": [ "Teams" ], "summary": "Delete a Team", "description": "Delete a team (must have team or org `owner` role)", "operationId": "delete_team", "parameters": [ { "required": true, "schema": { "title": "Org Name", "type": "string" }, "name": "org_name", "in": "path" }, { "required": true, "schema": { "title": "Team Slug", "type": "string" }, "name": "team_slug", "in": "path" } ], "responses": { "204": { "description": "Accepted" }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/orgs/{org_name}/teams/{team_slug}/members": { "get": { "tags": [ "Teams" ], "summary": "List team members", "description": "Retrieve a tean's members", "operationId": "get_org_team_members", "parameters": [ { "required": true, "schema": { "title": "Org Name", "type": "string" }, "name": "org_name", "in": "path" }, { "required": true, "schema": { "title": "Team Slug", "type": "string" }, "name": "team_slug", "in": "path" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TeamMemberList" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/orgs/{org_name}/teams/{team_slug}/members/{username}/{role}": { "patch": { "tags": [ "Teams" ], "summary": "Add or update the role of an Team Member", "description": "Upsert a member role to the team (must have org or team `owner` role)", "operationId": "upsert_org_team_member", "parameters": [ { "required": true, "schema": { "title": "Org Name", "type": "string" }, "name": "org_name", "in": "path" }, { "required": true, "schema": { "title": "Team Slug", "type": "string" }, "name": "team_slug", "in": "path" }, { "required": true, "schema": { "title": "Username", "type": "string" }, "name": "username", "in": "path" }, { "required": true, "schema": { "$ref": "#/components/schemas/TeamRoleEnum" }, "name": "role", "in": "path" } ], "responses": { "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateAccepted" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/orgs/{org_name}/teams/{team_slug}/members/{username}": { "delete": { "tags": [ "Teams" ], "summary": "Remove a team member", "description": "Remove a member from the org (must have org `owner` role)", "operationId": "delete_org_team_member", "parameters": [ { "required": true, "schema": { "title": "Org Name", "type": "string" }, "name": "org_name", "in": "path" }, { "required": true, "schema": { "title": "Team Slug", "type": "string" }, "name": "team_slug", "in": "path" }, { "required": true, "schema": { "title": "Username", "type": "string" }, "name": "username", "in": "path" } ], "responses": { "204": { "description": "Accepted" }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects": { "get": { "tags": [ "Projects" ], "summary": "List Projects", "operationId": "list_projects", "parameters": [ { "description": "Search string to find projects", "required": false, "schema": { "title": "Search Query", "type": "string", "description": "Search string to find projects" }, "name": "search", "in": "query" }, { "description": "The ID of a project to search for", "required": false, "schema": { "title": "Project ID", "type": "array", "items": { "type": "string" }, "description": "The ID of a project to search for", "default": [] }, "name": "ids", "in": "query" }, { "description": "The name of the project", "required": false, "schema": { "title": "Project Name", "type": "array", "items": { "type": "string" }, "description": "The name of the project", "default": [] }, "name": "names", "in": "query" }, { "description": "Owner of the project", "required": false, "schema": { "title": "Project Owner", "type": "array", "items": { "type": "string" }, "description": "Owner of the project", "default": [] }, "name": "owner", "in": "query" }, { "description": "Boolean check for public/private projects", "required": false, "schema": { "title": "Public Project", "type": "boolean", "description": "Boolean check for public/private projects" }, "name": "public", "in": "query" }, { "description": "Filter by permission on given resource", "required": false, "schema": { "title": "Permission Name", "type": "array", "items": { "type": "string" }, "description": "Filter by permission on given resource", "default": [] }, "name": "permissions", "in": "query" }, { "description": "Key to sort the list by", "required": false, "schema": { "title": "Sort By", "allOf": [ { "$ref": "#/components/schemas/ProjectSortKey" } ], "description": "Key to sort the list by" }, "name": "sort_by", "in": "query" }, { "description": "The order to sort the list", "required": false, "schema": { "title": "Sort Order", "allOf": [ { "$ref": "#/components/schemas/SortEnum" } ], "description": "The order to sort the list", "default": "ascending" }, "name": "sort_order", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "title": "Page number", "minimum": 1.0, "type": "integer", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "title": "Items per page", "maximum": 100.0, "type": "integer", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProjectList" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}": { "post": { "tags": [ "Projects" ], "summary": "Create a Project", "operationId": "create_project", "parameters": [ { "required": true, "schema": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProjectCreate" } } }, "required": true }, "responses": { "201": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreatedContent" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "202": { "description": "Accepted" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}": { "get": { "tags": [ "Projects" ], "summary": "Get a project", "operationId": "get_project", "parameters": [ { "required": true, "schema": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Name", "type": "string" }, "name": "name", "in": "path" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Project" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "put": { "tags": [ "Projects" ], "summary": "Update a Project", "operationId": "update", "parameters": [ { "required": true, "schema": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Name", "type": "string" }, "name": "name", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProjectUpdate" } } }, "required": true }, "responses": { "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateAccepted" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "delete": { "tags": [ "Projects" ], "summary": "Delete a Project", "operationId": "delete_project", "parameters": [ { "required": true, "schema": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Name", "type": "string" }, "name": "name", "in": "path" } ], "responses": { "204": { "description": "Accepted" }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/permissions": { "get": { "tags": [ "Projects" ], "summary": "Get project access permissions", "operationId": "get_project_access_permissions", "parameters": [ { "required": true, "schema": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Name", "type": "string" }, "name": "name", "in": "path" }, { "description": "Page number starting from 1", "required": false, "schema": { "title": "Page number", "minimum": 1.0, "type": "integer", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "title": "Items per page", "maximum": 100.0, "type": "integer", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" }, { "description": "The type of access policy subject", "required": false, "schema": { "title": "Subject Type", "type": "array", "items": { "type": "string" }, "description": "The type of access policy subject" }, "name": "subject_type", "in": "query" }, { "description": "An access policy permission string", "required": false, "schema": { "title": "PERMISSION", "type": "array", "items": { "type": "string" }, "description": "An access policy permission string" }, "name": "permission", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProjectAccessPolicyList" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "delete": { "tags": [ "Projects" ], "summary": "Remove a Project permissions", "operationId": "delete_project_org_permission", "parameters": [ { "required": true, "schema": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Name", "type": "string" }, "name": "name", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProjectPolicySubject" } } }, "required": true }, "responses": { "204": { "description": "Accepted" }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "patch": { "tags": [ "Projects" ], "summary": "Upsert a new permission to a project", "operationId": "upsert_project_permission", "parameters": [ { "required": true, "schema": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Name", "type": "string" }, "name": "name", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProjectAccessPolicy" } } }, "required": true }, "responses": { "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateAccepted" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/recipes": { "get": { "tags": [ "Projects" ], "summary": "Get project recipes", "operationId": "get_project_recipes", "parameters": [ { "required": true, "schema": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Name", "type": "string" }, "name": "name", "in": "path" }, { "description": "Search string to find recipes", "required": false, "schema": { "title": "Search Query", "type": "string", "description": "Search string to find recipes" }, "name": "search", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "title": "Page number", "minimum": 1.0, "type": "integer", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "title": "Items per page", "maximum": 100.0, "type": "integer", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RecipeInterfaceList" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/recipes/filters": { "get": { "tags": [ "Projects" ], "summary": "Get project recipe filters", "operationId": "get_project_recipe_filters", "parameters": [ { "required": true, "schema": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Name", "type": "string" }, "name": "name", "in": "path" }, { "description": "Page number starting from 1", "required": false, "schema": { "title": "Page number", "minimum": 1.0, "type": "integer", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "title": "Items per page", "maximum": 100.0, "type": "integer", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProjectRecipeFilterList" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "post": { "tags": [ "Projects" ], "summary": "Upsert a recipe filter to a project", "operationId": "create_project_recipe_filter", "parameters": [ { "required": true, "schema": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Name", "type": "string" }, "name": "name", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProjectRecipeFilter" } } }, "required": true }, "responses": { "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProjectRecipeFilter" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "delete": { "tags": [ "Projects" ], "summary": "Remove a Project recipe filter", "operationId": "delete_project_recipe_filter", "parameters": [ { "required": true, "schema": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Name", "type": "string" }, "name": "name", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProjectRecipeFilter" } } }, "required": true }, "responses": { "204": { "description": "Accepted" }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/artifacts": { "get": { "tags": [ "Artifacts" ], "summary": "List artifacts in a project folder", "operationId": "list_artifacts", "parameters": [ { "required": true, "schema": { "title": "Project Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Project Name", "type": "string" }, "name": "name", "in": "path" }, { "description": "The path to an file within a project folder", "required": false, "schema": { "title": "Project File Path", "type": "array", "items": { "type": "string" }, "description": "The path to an file within a project folder" }, "name": "path", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "title": "Page number", "minimum": 1.0, "type": "integer", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "title": "Items per page", "maximum": 100.0, "type": "integer", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "title": "Response Get List Owner Name Artifacts Get", "type": "array", "items": { "$ref": "#/components/schemas/FileMeta" } } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "post": { "tags": [ "Artifacts" ], "summary": "Get an Artifact upload link.", "operationId": "create_artifact", "parameters": [ { "required": true, "schema": { "title": "Project Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Project Name", "type": "string" }, "name": "name", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/KeyRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/S3UploadRequest" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "delete": { "tags": [ "Artifacts" ], "summary": "Delete one or many artifacts by key/prefix", "operationId": "delete_artifact", "parameters": [ { "required": true, "schema": { "title": "Project Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Project Name", "type": "string" }, "name": "name", "in": "path" }, { "description": "The path to an file within a project folder", "required": false, "schema": { "title": "Project File Path", "type": "array", "items": { "type": "string" }, "description": "The path to an file within a project folder" }, "name": "path", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "title": "Page number", "minimum": 1.0, "type": "integer", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "title": "Items per page", "maximum": 100.0, "type": "integer", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" } ], "responses": { "204": { "description": "Successful Response" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/artifacts/download": { "get": { "tags": [ "Artifacts" ], "summary": "Download an artifact from the project folder", "operationId": "download_artifact", "parameters": [ { "required": true, "schema": { "title": "Project Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Project Name", "type": "string" }, "name": "name", "in": "path" }, { "description": "The path to an file within a project folder", "required": false, "schema": { "title": "Project File Path", "type": "string", "description": "The path to an file within a project folder" }, "name": "path", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": {} } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/recipes": { "get": { "tags": [ "Recipes" ], "summary": "List recipes", "operationId": "list_recipes", "parameters": [ { "description": "You know, for search", "required": false, "schema": { "title": "Search query", "type": "array", "items": { "type": "string" }, "description": "You know, for search" }, "name": "search", "in": "query" }, { "description": "The account name", "required": false, "schema": { "title": "Repository Name", "type": "array", "items": { "type": "string" }, "description": "The account name" }, "name": "name", "in": "query" }, { "description": "Owner of the project", "required": false, "schema": { "title": "Repository Owner", "type": "array", "items": { "type": "string" }, "description": "Owner of the project" }, "name": "owner", "in": "query" }, { "description": "Boolean check for public/private projects", "required": false, "schema": { "title": "Public Repository", "type": "boolean", "description": "Boolean check for public/private projects" }, "name": "public", "in": "query" }, { "description": "A keyword to index the repository by", "required": false, "schema": { "title": "Repository Keywords", "type": "array", "items": { "type": "string" }, "description": "A keyword to index the repository by" }, "name": "keyword", "in": "query" }, { "description": "Filter by permission on given resource", "required": false, "schema": { "title": "Permission Name", "type": "array", "items": { "type": "string" }, "description": "Filter by permission on given resource" }, "name": "permission", "in": "query" }, { "description": "Key to sort the list by", "required": false, "schema": { "title": "Sort By", "allOf": [ { "$ref": "#/components/schemas/RepositorySortKey" } ], "description": "Key to sort the list by" }, "name": "sort_by", "in": "query" }, { "description": "The order to sort the list", "required": false, "schema": { "title": "Sort Order", "allOf": [ { "$ref": "#/components/schemas/SortEnum" } ], "description": "The order to sort the list", "default": "ascending" }, "name": "sort_order", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "title": "Page number", "minimum": 1.0, "type": "integer", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "title": "Items per page", "maximum": 100.0, "type": "integer", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RepositoryList" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/recipes/{owner}": { "post": { "tags": [ "Recipes" ], "summary": "Create a Recipe", "description": "Create a new recipe.", "operationId": "create_recipe", "parameters": [ { "required": true, "schema": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RepositoryCreate" } } }, "required": true }, "responses": { "201": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreatedContent" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "202": { "description": "Accepted" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/recipes/{owner}/{name}": { "get": { "tags": [ "Recipes" ], "summary": "Get a recipe", "description": "Retrieve a recipe by name", "operationId": "get_recipe", "parameters": [ { "required": true, "schema": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Name", "type": "string" }, "name": "name", "in": "path" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Repository" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "put": { "tags": [ "Recipes" ], "summary": "Update a Recipe", "description": "Update a recipe (must have `contribute` permission)", "operationId": "update_recipe", "parameters": [ { "required": true, "schema": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Name", "type": "string" }, "name": "name", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RepositoryUpdate" } } }, "required": true }, "responses": { "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateAccepted" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "delete": { "tags": [ "Recipes" ], "summary": "Delete a Recipe", "description": "Delete a recipe (must have `admin` permission)", "operationId": "delete_recipe", "parameters": [ { "required": true, "schema": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Name", "type": "string" }, "name": "name", "in": "path" } ], "responses": { "204": { "description": "Accepted" }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/recipes/{owner}/{name}/tags": { "get": { "tags": [ "Recipes" ], "summary": "Get a recipe tags", "description": "Retrieve a recipe by name", "operationId": "list_recipe_tags", "parameters": [ { "required": true, "schema": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Name", "type": "string" }, "name": "name", "in": "path" }, { "description": "Key to sort the list by", "required": false, "schema": { "title": "Sort By", "allOf": [ { "$ref": "#/components/schemas/PackageSortKey" } ], "description": "Key to sort the list by" }, "name": "sort_by", "in": "query" }, { "description": "The order to sort the list", "required": false, "schema": { "title": "Sort Order", "allOf": [ { "$ref": "#/components/schemas/SortEnum" } ], "description": "The order to sort the list", "default": "ascending" }, "name": "sort_order", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "title": "Page number", "minimum": 1.0, "type": "integer", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "title": "Items per page", "maximum": 100.0, "type": "integer", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RecipePackageList" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "post": { "tags": [ "Recipes" ], "summary": "Create a new Recipe package", "description": "Create a new recipe package version", "operationId": "create_recipe_package", "parameters": [ { "required": true, "schema": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Name", "type": "string" }, "name": "name", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NewRecipePackage" } } }, "required": true }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreatedContent" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/recipes/{owner}/{name}/tags/{tag}": { "get": { "tags": [ "Recipes" ], "summary": "Get a recipe tag", "description": "Retrieve a recipe tag by name and tag", "operationId": "get_recipe_by_tag", "parameters": [ { "required": true, "schema": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Name", "type": "string" }, "name": "name", "in": "path" }, { "required": true, "schema": { "title": "Tag", "type": "string" }, "name": "tag", "in": "path" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RecipePackage" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/recipes/{owner}/{name}/permissions": { "get": { "tags": [ "Recipes" ], "summary": "Get recipe access permissions", "description": "Retrieve a recipe's access permissions (must have `write` permission)", "operationId": "get_recipe_access_permissions", "parameters": [ { "required": true, "schema": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Name", "type": "string" }, "name": "name", "in": "path" }, { "description": "Page number starting from 1", "required": false, "schema": { "title": "Page number", "minimum": 1.0, "type": "integer", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "title": "Items per page", "maximum": 100.0, "type": "integer", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" }, { "description": "The type of access policy subject", "required": false, "schema": { "title": "Subject Type", "type": "array", "items": { "type": "string" }, "description": "The type of access policy subject" }, "name": "subject_type", "in": "query" }, { "description": "An access policy permission string", "required": false, "schema": { "title": "PERMISSION", "type": "array", "items": { "type": "string" }, "description": "An access policy permission string" }, "name": "permission", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RepositoryAccessPolicyList" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "delete": { "tags": [ "Recipes" ], "summary": "Remove a Repository permissions", "description": "Delete a recipe's access policy (must have `admin` permission)", "operationId": "delete_recipe_org_permission", "parameters": [ { "required": true, "schema": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Name", "type": "string" }, "name": "name", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RepositoryPolicySubject" } } }, "required": true }, "responses": { "204": { "description": "Accepted" }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "patch": { "tags": [ "Recipes" ], "summary": "Upsert a new permission to a recipe", "description": "Upsert a recipe's access policy (must have `admin` permission)", "operationId": "upsert_recipe_permission", "parameters": [ { "required": true, "schema": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Name", "type": "string" }, "name": "name", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RepositoryAccessPolicy" } } }, "required": true }, "responses": { "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateAccepted" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/plugins": { "get": { "tags": [ "Plugins" ], "summary": "List plugins", "operationId": "list_plugins", "parameters": [ { "description": "You know, for search", "required": false, "schema": { "title": "Search query", "type": "array", "items": { "type": "string" }, "description": "You know, for search" }, "name": "search", "in": "query" }, { "description": "The account name", "required": false, "schema": { "title": "Repository Name", "type": "array", "items": { "type": "string" }, "description": "The account name" }, "name": "name", "in": "query" }, { "description": "Owner of the project", "required": false, "schema": { "title": "Repository Owner", "type": "array", "items": { "type": "string" }, "description": "Owner of the project" }, "name": "owner", "in": "query" }, { "description": "Boolean check for public/private projects", "required": false, "schema": { "title": "Public Repository", "type": "boolean", "description": "Boolean check for public/private projects" }, "name": "public", "in": "query" }, { "description": "A keyword to index the repository by", "required": false, "schema": { "title": "Repository Keywords", "type": "array", "items": { "type": "string" }, "description": "A keyword to index the repository by" }, "name": "keyword", "in": "query" }, { "description": "Filter by permission on given resource", "required": false, "schema": { "title": "Permission Name", "type": "array", "items": { "type": "string" }, "description": "Filter by permission on given resource" }, "name": "permission", "in": "query" }, { "description": "Key to sort the list by", "required": false, "schema": { "title": "Sort By", "allOf": [ { "$ref": "#/components/schemas/RepositorySortKey" } ], "description": "Key to sort the list by" }, "name": "sort_by", "in": "query" }, { "description": "The order to sort the list", "required": false, "schema": { "title": "Sort Order", "allOf": [ { "$ref": "#/components/schemas/SortEnum" } ], "description": "The order to sort the list", "default": "ascending" }, "name": "sort_order", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "title": "Page number", "minimum": 1.0, "type": "integer", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "title": "Items per page", "maximum": 100.0, "type": "integer", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RepositoryList" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/plugins/{owner}": { "post": { "tags": [ "Plugins" ], "summary": "Create a Plugin", "description": "Create a new plugin.", "operationId": "create_plugin", "parameters": [ { "required": true, "schema": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RepositoryCreate" } } }, "required": true }, "responses": { "201": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreatedContent" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "202": { "description": "Accepted" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/plugins/{owner}/{name}": { "get": { "tags": [ "Plugins" ], "summary": "Get a plugin", "description": "Retrieve a plugin by name", "operationId": "get_plugin", "parameters": [ { "required": true, "schema": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Name", "type": "string" }, "name": "name", "in": "path" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Repository" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "put": { "tags": [ "Plugins" ], "summary": "Update a Plugin", "description": "Update a plugin (must have `contribute` permission)", "operationId": "update_plugin", "parameters": [ { "required": true, "schema": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Name", "type": "string" }, "name": "name", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RepositoryUpdate" } } }, "required": true }, "responses": { "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateAccepted" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "delete": { "tags": [ "Plugins" ], "summary": "Delete a Plugin", "description": "Delete a plugin (must have `admin` permission)", "operationId": "delete_plugin", "parameters": [ { "required": true, "schema": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Name", "type": "string" }, "name": "name", "in": "path" } ], "responses": { "204": { "description": "Accepted" }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/plugins/{owner}/{name}/tags": { "get": { "tags": [ "Plugins" ], "summary": "Get a plugin tags", "description": "Retrieve a plugin by name", "operationId": "list_plugin_tags", "parameters": [ { "required": true, "schema": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Name", "type": "string" }, "name": "name", "in": "path" }, { "description": "Key to sort the list by", "required": false, "schema": { "title": "Sort By", "allOf": [ { "$ref": "#/components/schemas/PackageSortKey" } ], "description": "Key to sort the list by" }, "name": "sort_by", "in": "query" }, { "description": "The order to sort the list", "required": false, "schema": { "title": "Sort Order", "allOf": [ { "$ref": "#/components/schemas/SortEnum" } ], "description": "The order to sort the list", "default": "ascending" }, "name": "sort_order", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "title": "Page number", "minimum": 1.0, "type": "integer", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "title": "Items per page", "maximum": 100.0, "type": "integer", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PluginPackageList" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "post": { "tags": [ "Plugins" ], "summary": "Create a new Plugin package", "description": "Create a new plugin package version", "operationId": "create_plugin_package", "parameters": [ { "required": true, "schema": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Name", "type": "string" }, "name": "name", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NewPluginPackage" } } }, "required": true }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreatedContent" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/plugins/{owner}/{name}/tags/{tag}": { "get": { "tags": [ "Plugins" ], "summary": "Get a plugin tag", "description": "Retrieve a plugin tag by name and tag", "operationId": "get_plugin_by_tag", "parameters": [ { "required": true, "schema": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Name", "type": "string" }, "name": "name", "in": "path" }, { "required": true, "schema": { "title": "Tag", "type": "string" }, "name": "tag", "in": "path" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PluginPackage" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/plugins/{owner}/{name}/permissions": { "get": { "tags": [ "Plugins" ], "summary": "Get plugin access permissions", "description": "Retrieve a plugin's access permissions (must have `write` permission)", "operationId": "get_plugin_access_permissions", "parameters": [ { "required": true, "schema": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Name", "type": "string" }, "name": "name", "in": "path" }, { "description": "Page number starting from 1", "required": false, "schema": { "title": "Page number", "minimum": 1.0, "type": "integer", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "title": "Items per page", "maximum": 100.0, "type": "integer", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" }, { "description": "The type of access policy subject", "required": false, "schema": { "title": "Subject Type", "type": "array", "items": { "type": "string" }, "description": "The type of access policy subject" }, "name": "subject_type", "in": "query" }, { "description": "An access policy permission string", "required": false, "schema": { "title": "PERMISSION", "type": "array", "items": { "type": "string" }, "description": "An access policy permission string" }, "name": "permission", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RepositoryAccessPolicyList" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "delete": { "tags": [ "Plugins" ], "summary": "Remove a Repository permissions", "description": "Delete a plugin's access policy (must have `admin` permission)", "operationId": "delete_plugin_org_permission", "parameters": [ { "required": true, "schema": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Name", "type": "string" }, "name": "name", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RepositoryPolicySubject" } } }, "required": true }, "responses": { "204": { "description": "Accepted" }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "patch": { "tags": [ "Plugins" ], "summary": "Upsert a new permission to a plugin", "description": "Upsert a plugin's access policy (must have `admin` permission)", "operationId": "upsert_plugin_permission", "parameters": [ { "required": true, "schema": { "title": "Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Name", "type": "string" }, "name": "name", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RepositoryAccessPolicy" } } }, "required": true }, "responses": { "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateAccepted" } } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/registries/{owner}/index.json": { "get": { "tags": [ "Registries" ], "summary": "Get Registry Index", "operationId": "get_registry_index", "parameters": [ { "required": true, "schema": { "title": "Registry Owner", "type": "string" }, "name": "owner", "in": "path" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RepositoryIndex" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/registries/{owner}/{type}/{name}/{digest}": { "get": { "tags": [ "Registries" ], "summary": "Get Package", "operationId": "get_package", "parameters": [ { "required": true, "schema": { "title": "Registry Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Repository Type", "type": "string" }, "name": "type", "in": "path" }, { "required": true, "schema": { "title": "Repository Name", "type": "string" }, "name": "name", "in": "path" }, { "required": true, "schema": { "title": "Package Digest", "type": "string" }, "name": "digest", "in": "path" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": {} }, "application/x-tar": {} } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/registries/{owner}/{type}/{name}/{digest}/json": { "get": { "tags": [ "Registries" ], "summary": "Get Package in JSON format", "operationId": "get_package_json", "parameters": [ { "required": true, "schema": { "title": "Registry Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Repository Type", "type": "string" }, "name": "type", "in": "path" }, { "required": true, "schema": { "title": "Repository Name", "type": "string" }, "name": "name", "in": "path" }, { "required": true, "schema": { "title": "Package Digest", "type": "string" }, "name": "digest", "in": "path" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "title": "Response Get Package Json Owner Type Name Digest Json Get", "anyOf": [ { "$ref": "#/components/schemas/Recipe" }, { "$ref": "#/components/schemas/Plugin" } ] } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/registries/{owner}/plugins": { "post": { "tags": [ "Registries" ], "summary": "Push a plugin to the registry", "operationId": "post_plugin", "parameters": [ { "required": true, "schema": { "title": "Registry Owner", "type": "string" }, "name": "owner", "in": "path" } ], "requestBody": { "content": { "multipart/form-data": { "schema": { "$ref": "#/components/schemas/Body_post_plugin__owner__plugins_post" } } }, "required": true }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/registries/{owner}/recipes": { "post": { "tags": [ "Registries" ], "summary": "Push an Recipe to the registry", "operationId": "post_recipe", "parameters": [ { "required": true, "schema": { "title": "Registry Owner", "type": "string" }, "name": "owner", "in": "path" } ], "requestBody": { "content": { "multipart/form-data": { "schema": { "$ref": "#/components/schemas/Body_post_recipe__owner__recipes_post" } } }, "required": true }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/jobs": { "get": { "tags": [ "Jobs" ], "summary": "List Jobs", "description": "Retrieve a list of jobs.", "operationId": "list_jobs", "parameters": [ { "required": true, "schema": { "title": "Project Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Project Name", "type": "string" }, "name": "name", "in": "path" }, { "required": false, "schema": { "title": "Job IDs", "type": "array", "items": { "type": "string" } }, "name": "ids", "in": "query" }, { "required": false, "schema": { "title": "The status of the job", "allOf": [ { "$ref": "#/components/schemas/JobStatusEnum" } ] }, "name": "status", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "title": "Page number", "minimum": 1.0, "type": "integer", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "title": "Items per page", "maximum": 100.0, "type": "integer", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CloudJobList" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "post": { "tags": [ "Jobs" ], "summary": "Schedule a job", "description": "Create a new job.", "operationId": "create_job", "parameters": [ { "required": true, "schema": { "title": "Project Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Project Name", "type": "string" }, "name": "name", "in": "path" }, { "required": false, "schema": { "title": "Authorization", "type": "string" }, "name": "authorization", "in": "header" }, { "required": false, "schema": { "title": "X-Pollination-Token", "type": "string" }, "name": "x-pollination-token", "in": "header" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Job" } } }, "required": true }, "responses": { "201": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreatedContent" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/jobs/{job_id}": { "get": { "tags": [ "Jobs" ], "summary": "Get a Job", "description": "Retrieve a job.", "operationId": "get_job", "parameters": [ { "required": true, "schema": { "title": "Project Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Project Name", "type": "string" }, "name": "name", "in": "path" }, { "required": true, "schema": { "title": "Job ID", "type": "string" }, "name": "job_id", "in": "path" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CloudJob" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/jobs/{job_id}/cancel": { "put": { "tags": [ "Jobs" ], "summary": "Cancel a Job", "description": "Retrieve a job.", "operationId": "cancel_job", "parameters": [ { "required": true, "schema": { "title": "Project Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Project Name", "type": "string" }, "name": "name", "in": "path" }, { "required": true, "schema": { "title": "Job ID", "type": "string" }, "name": "job_id", "in": "path" } ], "responses": { "202": { "description": "Accepted", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/jobs/{job_id}/artifacts": { "get": { "tags": [ "Jobs" ], "summary": "List files/folders in a job folder", "description": "Retrieve a list of artifacts in a job folder", "operationId": "search_job_folder", "parameters": [ { "required": true, "schema": { "title": "Project Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Project Name", "type": "string" }, "name": "name", "in": "path" }, { "required": true, "schema": { "title": "Job ID", "type": "string" }, "name": "job_id", "in": "path" }, { "description": "The path to an file within a project folder", "required": false, "schema": { "title": "Project File Path", "type": "array", "items": { "type": "string" }, "description": "The path to an file within a project folder" }, "name": "path", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "title": "Page number", "minimum": 1.0, "type": "integer", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "title": "Items per page", "maximum": 100.0, "type": "integer", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "title": "Response Search Job Folder Projects Owner Name Jobs Job Id Artifacts Get", "type": "array", "items": { "$ref": "#/components/schemas/FileMeta" } } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/jobs/{job_id}/artifacts/download": { "get": { "tags": [ "Jobs" ], "summary": "Download an artifact from the job folder", "description": "Get a download link for an artifact in a job folder", "operationId": "download_job_artifact", "parameters": [ { "required": true, "schema": { "title": "Project Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Project Name", "type": "string" }, "name": "name", "in": "path" }, { "required": true, "schema": { "title": "Job id", "type": "string" }, "name": "job_id", "in": "path" }, { "description": "The path to an file within a project folder", "required": false, "schema": { "title": "Project File Path", "type": "string", "description": "The path to an file within a project folder" }, "name": "path", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": {} } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/results": { "get": { "tags": [ "Runs" ], "summary": "Query run results", "description": "Retrieve a list of run results.", "operationId": "query_results", "parameters": [ { "required": true, "schema": { "title": "Project Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Project Name", "type": "string" }, "name": "name", "in": "path" }, { "required": false, "schema": { "title": "Job IDs", "type": "array", "items": { "type": "string" } }, "name": "job_id", "in": "query" }, { "required": false, "schema": { "title": "The status of the job", "allOf": [ { "$ref": "#/components/schemas/RunStatusEnum" } ] }, "name": "status", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "title": "Page number", "minimum": 1.0, "type": "integer", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "title": "Items per page", "maximum": 100.0, "type": "integer", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RunResultList" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/runs": { "get": { "tags": [ "Runs" ], "summary": "List runs", "description": "Retrieve a list of runs.", "operationId": "list_runs", "parameters": [ { "required": true, "schema": { "title": "Project Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Project Name", "type": "string" }, "name": "name", "in": "path" }, { "required": false, "schema": { "title": "Job IDs", "type": "array", "items": { "type": "string" } }, "name": "job_id", "in": "query" }, { "required": false, "schema": { "title": "The status of the job", "allOf": [ { "$ref": "#/components/schemas/RunStatusEnum" } ] }, "name": "status", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "title": "Page number", "minimum": 1.0, "type": "integer", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "title": "Items per page", "maximum": 100.0, "type": "integer", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RunList" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/runs/{run_id}": { "get": { "tags": [ "Runs" ], "summary": "Get a Run", "description": "Retrieve a run.", "operationId": "get_run", "parameters": [ { "required": true, "schema": { "title": "Project Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Project Name", "type": "string" }, "name": "name", "in": "path" }, { "required": true, "schema": { "title": "Run ID", "type": "string" }, "name": "run_id", "in": "path" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Run" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/runs/{run_id}/cancel": { "put": { "tags": [ "Runs" ], "summary": "Cancel a run", "description": "Stop a run.", "operationId": "cancel_run", "parameters": [ { "required": true, "schema": { "title": "Project Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Project Name", "type": "string" }, "name": "name", "in": "path" }, { "required": true, "schema": { "title": "Run id.", "type": "string" }, "name": "run_id", "in": "path" } ], "responses": { "202": { "description": "Accepted", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/runs/{run_id}/outputs/{output_name}": { "get": { "tags": [ "Runs" ], "summary": "Get run output by name", "description": "get run output by name", "operationId": "get_run_output", "parameters": [ { "required": true, "schema": { "title": "Project Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Project Name", "type": "string" }, "name": "name", "in": "path" }, { "required": true, "schema": { "title": "Run ID", "type": "string" }, "name": "run_id", "in": "path" }, { "required": true, "schema": { "title": "Output Name", "type": "string" }, "name": "output_name", "in": "path" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": {} } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/runs/{run_id}/steps": { "get": { "tags": [ "Runs" ], "summary": "Query the steps of a run", "description": "list run steps", "operationId": "get_run_steps", "parameters": [ { "required": true, "schema": { "title": "Project Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Project Name", "type": "string" }, "name": "name", "in": "path" }, { "required": true, "schema": { "title": "Run id.", "type": "string" }, "name": "run_id", "in": "path" }, { "required": false, "schema": { "title": "The status of the task", "allOf": [ { "$ref": "#/components/schemas/StepStatusEnum" } ] }, "name": "status", "in": "query" }, { "required": false, "schema": { "title": "The specific step IDs to retrieve", "type": "array", "items": { "type": "string" } }, "name": "step_id", "in": "query" }, { "required": false, "schema": { "title": "The newest run generation to retrieve steps from", "type": "string" }, "name": "until_generation", "in": "query" }, { "required": false, "schema": { "title": "The oldest run generation to retrieve steps from", "type": "string" }, "name": "since_generation", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "title": "Page number", "minimum": 1.0, "type": "integer", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "title": "Items per page", "maximum": 100.0, "type": "integer", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StepList" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/payments/{account_name}/subscription/upcoming": { "get": { "tags": [ "Payments" ], "summary": "Get Upcoming Subscription", "operationId": "get_upcoming_subscription", "parameters": [ { "required": true, "schema": { "title": "Account Name", "type": "string" }, "name": "account_name", "in": "path" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Subscription" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/payments/{account_name}/subscription/preview": { "put": { "tags": [ "Runs" ], "summary": "Get the logs of a specific step of the run", "description": "get run step logs", "operationId": "get_run_step_logs", "parameters": [ { "required": true, "schema": { "title": "Project Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Project Name", "type": "string" }, "name": "name", "in": "path" }, { "required": true, "schema": { "title": "Run id.", "type": "string" }, "name": "run_id", "in": "path" }, { "required": true, "schema": { "title": "Run Task name.", "type": "string" }, "name": "step_id", "in": "path" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "title": "Response Get Step Logs Projects Owner Name Runs Run Id Steps Step Id Logs Get", "type": "string" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/runs/{run_id}/artifacts": { "get": { "tags": [ "Runs" ], "summary": "List artifacts in a run folder", "description": "Retrieve a list of artifacts in a run folder", "operationId": "list_run_artifacts", "parameters": [ { "required": true, "schema": { "title": "Project Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Project Name", "type": "string" }, "name": "name", "in": "path" }, { "required": true, "schema": { "title": "Run id.", "type": "string" }, "name": "run_id", "in": "path" }, { "description": "The path to an file within a project folder", "required": false, "schema": { "title": "Project File Path", "type": "array", "items": { "type": "string" }, "description": "The path to an file within a project folder" }, "name": "path", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "title": "Page number", "minimum": 1.0, "type": "integer", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "title": "Items per page", "maximum": 100.0, "type": "integer", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "title": "Response Get List Artifacts Projects Owner Name Runs Run Id Artifacts Get", "type": "array", "items": { "$ref": "#/components/schemas/FileMeta" } } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "deprecated": true, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/runs/{run_id}/artifacts/download": { "get": { "tags": [ "Runs" ], "summary": "Download an artifact from the run folder", "description": "Get a download link for an artifact in a run folder", "operationId": "download_run_artifact", "parameters": [ { "required": true, "schema": { "title": "Project Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Project Name", "type": "string" }, "name": "name", "in": "path" }, { "required": true, "schema": { "title": "Run id.", "type": "string" }, "name": "run_id", "in": "path" }, { "description": "The path to an file within a project folder", "required": false, "schema": { "title": "Project File Path", "type": "string", "description": "The path to an file within a project folder" }, "name": "path", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": {} } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "deprecated": true, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/subscriptions/{account_name}/upcoming": { "get": { "tags": [ "Subscriptions" ], "summary": "Get Upcoming Subscription", "operationId": "get_upcoming_pollination_subscription", "parameters": [ { "required": true, "schema": { "title": "Account Name", "type": "string" }, "name": "account_name", "in": "path" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PollinationSubscription" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/jobs": { "get": { "tags": [ "Jobs" ], "summary": "List Jobs", "description": "Retrieve a list of jobs.", "operationId": "list_jobs", "parameters": [ { "required": true, "schema": { "title": "Project Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Project Name", "type": "string" }, "name": "name", "in": "path" }, { "required": false, "schema": { "title": "Job IDs", "type": "array", "items": { "type": "string" } }, "name": "ids", "in": "query" }, { "required": false, "schema": { "title": "The status of the job", "allOf": [ { "$ref": "#/components/schemas/JobStatusEnum" } ] }, "name": "status", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "title": "Page number", "minimum": 1.0, "type": "integer", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "title": "Items per page", "maximum": 100.0, "type": "integer", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CloudJobList" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "post": { "tags": [ "Jobs" ], "summary": "Schedule a job", "description": "Create a new job.", "operationId": "create_job", "parameters": [ { "required": true, "schema": { "title": "Project Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Project Name", "type": "string" }, "name": "name", "in": "path" }, { "required": false, "schema": { "title": "Authorization", "type": "string" }, "name": "authorization", "in": "header" }, { "required": false, "schema": { "title": "X-Pollination-Token", "type": "string" }, "name": "x-pollination-token", "in": "header" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Job" } } }, "required": true }, "responses": { "201": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreatedContent" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/jobs/{job_id}": { "get": { "tags": [ "Jobs" ], "summary": "Get a Job", "description": "Retrieve a job.", "operationId": "get_job", "parameters": [ { "required": true, "schema": { "title": "Project Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Project Name", "type": "string" }, "name": "name", "in": "path" }, { "required": true, "schema": { "title": "Job ID", "type": "string" }, "name": "job_id", "in": "path" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CloudJob" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] }, "delete": { "tags": [ "Jobs" ], "summary": "Delete a Job", "description": "Delete a job.", "operationId": "delete_job", "parameters": [ { "required": true, "schema": { "title": "Project Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Project Name", "type": "string" }, "name": "name", "in": "path" }, { "required": true, "schema": { "title": "Job ID", "type": "string" }, "name": "job_id", "in": "path" } ], "responses": { "202": { "description": "Accepted", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/jobs/{job_id}/cancel": { "put": { "tags": [ "Jobs" ], "summary": "Cancel a Job", "description": "Retrieve a job.", "operationId": "cancel_job", "parameters": [ { "required": true, "schema": { "title": "Project Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Project Name", "type": "string" }, "name": "name", "in": "path" }, { "required": true, "schema": { "title": "Job ID", "type": "string" }, "name": "job_id", "in": "path" } ], "responses": { "202": { "description": "Accepted", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/jobs/{job_id}/artifacts": { "get": { "tags": [ "Jobs" ], "summary": "List files/folders in a job folder", "description": "Retrieve a list of artifacts in a job folder", "operationId": "search_job_folder", "parameters": [ { "required": true, "schema": { "title": "Project Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Project Name", "type": "string" }, "name": "name", "in": "path" }, { "required": true, "schema": { "title": "Job ID", "type": "string" }, "name": "job_id", "in": "path" }, { "description": "The path to an file within a project folder", "required": false, "schema": { "title": "Project File Path", "type": "array", "items": { "type": "string" }, "description": "The path to an file within a project folder" }, "name": "path", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "title": "Page number", "minimum": 1.0, "type": "integer", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "title": "Items per page", "maximum": 100.0, "type": "integer", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "title": "Response Search Job Folder Projects Owner Name Jobs Job Id Artifacts Get", "type": "array", "items": { "$ref": "#/components/schemas/FileMeta" } } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/jobs/{job_id}/artifacts/download": { "get": { "tags": [ "Jobs" ], "summary": "Download an artifact from the job folder", "description": "Get a download link for an artifact in a job folder", "operationId": "download_job_artifact", "parameters": [ { "required": true, "schema": { "title": "Project Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Project Name", "type": "string" }, "name": "name", "in": "path" }, { "required": true, "schema": { "title": "Job id", "type": "string" }, "name": "job_id", "in": "path" }, { "description": "The path to an file within a project folder", "required": false, "schema": { "title": "Project File Path", "type": "string", "description": "The path to an file within a project folder" }, "name": "path", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": {} } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/results": { "get": { "tags": [ "Runs" ], "summary": "Query run results", "description": "Retrieve a list of run results.", "operationId": "query_results", "parameters": [ { "required": true, "schema": { "title": "Project Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Project Name", "type": "string" }, "name": "name", "in": "path" }, { "required": false, "schema": { "title": "Job IDs", "type": "array", "items": { "type": "string" } }, "name": "job_id", "in": "query" }, { "required": false, "schema": { "title": "The status of the job", "allOf": [ { "$ref": "#/components/schemas/RunStatusEnum" } ] }, "name": "status", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "title": "Page number", "minimum": 1.0, "type": "integer", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "title": "Items per page", "maximum": 100.0, "type": "integer", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RunResultList" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/runs": { "get": { "tags": [ "Runs" ], "summary": "List runs", "description": "Retrieve a list of runs.", "operationId": "list_runs", "parameters": [ { "required": true, "schema": { "title": "Project Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Project Name", "type": "string" }, "name": "name", "in": "path" }, { "required": false, "schema": { "title": "Job IDs", "type": "array", "items": { "type": "string" } }, "name": "job_id", "in": "query" }, { "required": false, "schema": { "title": "The status of the job", "allOf": [ { "$ref": "#/components/schemas/RunStatusEnum" } ] }, "name": "status", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "title": "Page number", "minimum": 1.0, "type": "integer", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "title": "Items per page", "maximum": 100.0, "type": "integer", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RunList" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/runs/{run_id}": { "get": { "tags": [ "Runs" ], "summary": "Get a Run", "description": "Retrieve a run.", "operationId": "get_run", "parameters": [ { "required": true, "schema": { "title": "Project Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Project Name", "type": "string" }, "name": "name", "in": "path" }, { "required": true, "schema": { "title": "Run ID", "type": "string" }, "name": "run_id", "in": "path" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Run" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/runs/{run_id}/cancel": { "put": { "tags": [ "Runs" ], "summary": "Cancel a run", "description": "Stop a run.", "operationId": "cancel_run", "parameters": [ { "required": true, "schema": { "title": "Project Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Project Name", "type": "string" }, "name": "name", "in": "path" }, { "required": true, "schema": { "title": "Run id.", "type": "string" }, "name": "run_id", "in": "path" } ], "responses": { "202": { "description": "Accepted", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/runs/{run_id}/outputs/{output_name}": { "get": { "tags": [ "Runs" ], "summary": "Get run output by name", "description": "get run output by name", "operationId": "get_run_output", "parameters": [ { "required": true, "schema": { "title": "Project Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Project Name", "type": "string" }, "name": "name", "in": "path" }, { "required": true, "schema": { "title": "Run ID", "type": "string" }, "name": "run_id", "in": "path" }, { "required": true, "schema": { "title": "Output Name", "type": "string" }, "name": "output_name", "in": "path" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": {} } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/runs/{run_id}/steps": { "get": { "tags": [ "Runs" ], "summary": "Query the steps of a run", "description": "list run steps", "operationId": "get_run_steps", "parameters": [ { "required": true, "schema": { "title": "Project Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Project Name", "type": "string" }, "name": "name", "in": "path" }, { "required": true, "schema": { "title": "Run id.", "type": "string" }, "name": "run_id", "in": "path" }, { "required": false, "schema": { "title": "The status of the task", "allOf": [ { "$ref": "#/components/schemas/StepStatusEnum" } ] }, "name": "status", "in": "query" }, { "required": false, "schema": { "title": "The specific step IDs to retrieve", "type": "array", "items": { "type": "string" } }, "name": "step_id", "in": "query" }, { "required": false, "schema": { "title": "The newest run generation to retrieve steps from", "type": "string" }, "name": "until_generation", "in": "query" }, { "required": false, "schema": { "title": "The oldest run generation to retrieve steps from", "type": "string" }, "name": "since_generation", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "title": "Page number", "minimum": 1.0, "type": "integer", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "title": "Items per page", "maximum": 100.0, "type": "integer", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StepList" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/runs/{run_id}/steps/{step_id}/logs": { "get": { "tags": [ "Runs" ], "summary": "Get the logs of a specific step of the run", "description": "get run step logs", "operationId": "get_run_step_logs", "parameters": [ { "required": true, "schema": { "title": "Project Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Project Name", "type": "string" }, "name": "name", "in": "path" }, { "required": true, "schema": { "title": "Run id.", "type": "string" }, "name": "run_id", "in": "path" }, { "required": true, "schema": { "title": "Run Task name.", "type": "string" }, "name": "step_id", "in": "path" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "title": "Response Get Step Logs Projects Owner Name Runs Run Id Steps Step Id Logs Get", "type": "string" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/runs/{run_id}/artifacts": { "get": { "tags": [ "Runs" ], "summary": "List artifacts in a run folder", "description": "Retrieve a list of artifacts in a run folder", "operationId": "list_run_artifacts", "parameters": [ { "required": true, "schema": { "title": "Project Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Project Name", "type": "string" }, "name": "name", "in": "path" }, { "required": true, "schema": { "title": "Run id.", "type": "string" }, "name": "run_id", "in": "path" }, { "description": "The path to an file within a project folder", "required": false, "schema": { "title": "Project File Path", "type": "array", "items": { "type": "string" }, "description": "The path to an file within a project folder" }, "name": "path", "in": "query" }, { "description": "Page number starting from 1", "required": false, "schema": { "title": "Page number", "minimum": 1.0, "type": "integer", "description": "Page number starting from 1", "default": 1 }, "name": "page", "in": "query" }, { "description": "Number of items per page", "required": false, "schema": { "title": "Items per page", "maximum": 100.0, "type": "integer", "description": "Number of items per page", "default": 25 }, "name": "per-page", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": { "title": "Response Get List Artifacts Projects Owner Name Runs Run Id Artifacts Get", "type": "array", "items": { "$ref": "#/components/schemas/FileMeta" } } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "deprecated": true, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } }, "/projects/{owner}/{name}/runs/{run_id}/artifacts/download": { "get": { "tags": [ "Runs" ], "summary": "Download an artifact from the run folder", "description": "Get a download link for an artifact in a run folder", "operationId": "download_run_artifact", "parameters": [ { "required": true, "schema": { "title": "Project Owner", "type": "string" }, "name": "owner", "in": "path" }, { "required": true, "schema": { "title": "Project Name", "type": "string" }, "name": "name", "in": "path" }, { "required": true, "schema": { "title": "Run id.", "type": "string" }, "name": "run_id", "in": "path" }, { "description": "The path to an file within a project folder", "required": false, "schema": { "title": "Project File Path", "type": "string", "description": "The path to an file within a project folder" }, "name": "path", "in": "query" } ], "responses": { "200": { "description": "Retrieved", "content": { "application/json": { "schema": {} } } }, "403": { "description": "Access forbidden" }, "500": { "description": "Server error" }, "400": { "description": "Invalid request" }, "404": { "description": "Not found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "deprecated": true, "security": [ { "JWTAuth": [] }, { "APIKeyAuth": [] } ] } } }, "components": { "schemas": { "JobStatusEnum": { "title": "JobStatusEnum", "description": "Enumaration of allowable status strings", "enum": [ "Created", "Pre-Processing", "Running", "Failed", "Cancelled", "Completed", "Unknown" ], "type": "string" }, "JobStatus": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "id": { "title": "Id", "description": "The ID of the individual job.", "type": "string" }, "started_at": { "title": "Started At", "description": "The time at which the job was started", "type": "string", "format": "date-time" }, "type": { "title": "Type", "default": "JobStatus", "pattern": "^JobStatus$", "type": "string", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "api_version": { "title": "Api Version", "default": "v1beta1", "readOnly": true, "pattern": "^v1beta1$", "type": "string" }, "status": { "description": "The status of this job.", "default": "Unknown", "allOf": [ { "$ref": "#/components/schemas/JobStatusEnum" } ] }, "message": { "title": "Message", "description": "Any message produced by the job. Usually error/debugging hints.", "type": "string" }, "finished_at": { "title": "Finished At", "description": "The time at which the task was completed", "type": "string", "format": "date-time" }, "source": { "title": "Source", "description": "Source url for the status object. It can be a recipe or a function.", "type": "string" }, "runs_pending": { "title": "Runs Pending", "description": "The count of runs that are pending", "default": 0, "type": "integer", "format": "int32" }, "runs_running": { "title": "Runs Running", "description": "The count of runs that are running", "default": 0, "type": "integer", "format": "int32" }, "runs_completed": { "title": "Runs Completed", "description": "The count of runs that have completed", "default": 0, "type": "integer", "format": "int32" }, "runs_failed": { "title": "Runs Failed", "description": "The count of runs that have failed", "default": 0, "type": "integer", "format": "int32" }, "runs_cancelled": { "title": "Runs Cancelled", "description": "The count of runs that have been cancelled", "default": 0, "type": "integer", "format": "int32" } }, "required": [ "id", "started_at" ] } ], "title": "JobStatus", "description": "Parametric Job Status.", "discriminator": { "propertyName": "type" } }, "HTTP": { "allOf": [ { "$ref": "#/components/schemas/_ArtifactSource" }, { "type": "object", "required": [ "url" ], "properties": { "url": { "title": "Url", "description": "For a HTTP endpoint this can be http://climate.onebuilding.org.", "type": "string" }, "type": { "title": "Type", "default": "HTTP", "pattern": "^HTTP$", "type": "string", "readOnly": true } } } ], "title": "HTTP", "description": "HTTP Source\n\nA web HTTP to an FTP server or an API for example.", "discriminator": { "propertyName": "type" } }, "S3": { "allOf": [ { "$ref": "#/components/schemas/_ArtifactSource" }, { "type": "object", "required": [ "key", "endpoint", "bucket" ], "properties": { "key": { "title": "Key", "description": "The path inside the bucket to source artifacts from.", "type": "string" }, "endpoint": { "title": "Endpoint", "description": "The HTTP endpoint to reach the S3 bucket.", "type": "string" }, "bucket": { "title": "Bucket", "description": "The name of the S3 bucket on the host server.", "type": "string" }, "credentials_path": { "title": "Credentials Path", "description": "Path to the file holding the AccessKey and SecretAccessKey to authenticate to the bucket. Assumes public bucket access if none are specified.", "type": "string" }, "type": { "title": "Type", "default": "S3", "pattern": "^S3$", "type": "string", "readOnly": true } } } ], "title": "S3", "description": "S3 Source\n\nAn S3 bucket artifact Source.", "discriminator": { "propertyName": "type" } }, "ProjectFolder": { "allOf": [ { "$ref": "#/components/schemas/_ArtifactSource" }, { "type": "object", "properties": { "path": { "title": "Path", "description": "The path to a folder where files and folders can be sourced. For a local filesystem this can be \"C:\\Users\\me\\jobs\\test\".", "type": "string" }, "type": { "title": "Type", "default": "ProjectFolder", "pattern": "^ProjectFolder$", "type": "string", "readOnly": true } } } ], "title": "ProjectFolder", "description": "Project Folder Source\n\nThis is the path to a folder where files and folders can be sourced. In the context\nof a desktop run Workflow this folder will correspond to a local folder. In the\ncontext of a workflow run on Pollination this folder will correspond to a Project\nscoped folder.", "discriminator": { "propertyName": "type" } }, "StepPathOutput": { "allOf": [ { "$ref": "#/components/schemas/FunctionPathOutput" }, { "type": "object", "required": [ "source" ], "properties": { "source": { "title": "Source", "description": "The path to source the file from.", "anyOf": [ { "$ref": "#/components/schemas/HTTP" }, { "$ref": "#/components/schemas/S3" }, { "$ref": "#/components/schemas/ProjectFolder" } ] }, "type": { "title": "Type", "default": "StepPathOutput", "pattern": "^StepPathOutput$", "type": "string", "readOnly": true } } } ], "title": "StepPathOutput", "description": "A file or a folder output.", "discriminator": { "propertyName": "type" } }, "IOAliasHandler": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "language": { "title": "Language", "description": "Declare the language (e.g. python, csharp, etc.). This option allows the recipe to be flexible on handling different programming languages.", "type": "string" }, "module": { "title": "Module", "description": "Target module or namespace to load the alias function.", "example": "honeybee_rhino.handlers", "type": "string" }, "function": { "title": "Function", "description": "Name of the function. The input value will be passed to this function as the first argument.", "type": "string" }, "type": { "title": "Type", "default": "IOAliasHandler", "pattern": "^IOAliasHandler$", "type": "string", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "index": { "title": "Index", "description": "An integer to set the index for the order of execution. This input is only useful when there are more than one handler for the same platform and the output of one handler should be passed to another handler. This is also called chained handlers. By default all the handlers are indexed as 0 assuming they are not chained.", "default": 0, "type": "integer", "format": "int32" } }, "required": [ "language", "module", "function" ] } ], "title": "IOAliasHandler", "description": "Input and output alias handler object.", "discriminator": { "propertyName": "type" } }, "TaskReference": { "allOf": [ { "$ref": "#/components/schemas/_TaskReferenceBase" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "TaskReference", "pattern": "^TaskReference$", "type": "string", "readOnly": true } } } ], "title": "TaskReference", "description": "A Task reference for parameters other than files or folders.", "discriminator": { "propertyName": "type" } }, "FileReference": { "allOf": [ { "$ref": "#/components/schemas/_BaseReference" }, { "type": "object", "required": [ "path" ], "properties": { "path": { "title": "Path", "description": "Relative path to a file.", "type": "string" }, "type": { "title": "Type", "default": "FileReference", "pattern": "^FileReference$", "type": "string", "readOnly": true } } } ], "title": "FileReference", "description": "Reference to a file.", "discriminator": { "propertyName": "type" } }, "DAGJSONObjectOutputAlias": { "allOf": [ { "$ref": "#/components/schemas/_DAGArtifactOutputAlias" }, { "type": "object", "required": [ "from" ], "properties": { "from": { "title": "From", "description": "Reference to a file or a task output. Task output must be file.", "anyOf": [ { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/FileReference" } ] }, "type": { "title": "Type", "default": "DAGJSONObjectOutputAlias", "pattern": "^DAGJSONObjectOutputAlias$", "type": "string", "readOnly": true } } } ], "title": "DAGJSONObjectOutputAlias", "description": "DAG alias object output.\n\nThis output loads the content from a file as a JSON object.", "discriminator": { "propertyName": "type" } }, "RepositoryUpdate": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "public": { "title": "Public", "description": "Whether or not a repository is publicly viewable", "type": "boolean" }, "keywords": { "title": "Keywords", "description": "A list of keywords to index the repository by", "example": [ "daylight", "radiance" ], "type": "array", "items": { "type": "string" } }, "description": { "title": "Description", "description": "A description of the repository", "example": "Run daylight simulations the easy way!", "type": "string" }, "icon": { "title": "Icon", "description": "An icon to represent this repository", "example": "https://avatars1.githubusercontent.com/u/38131342", "type": "string" }, "type": { "title": "Type", "default": "RepositoryUpdate", "type": "string", "pattern": "^RepositoryUpdate$", "readOnly": true } } } ], "title": "RepositoryUpdate", "discriminator": { "propertyName": "type" } }, "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" } }, "SubjectType": { "title": "SubjectType", "description": "An enumeration.", "enum": [ "user", "team" ], "type": "string" }, "PolicySubject": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "subject_type": { "$ref": "#/components/schemas/SubjectType" }, "name": { "title": "Name", "description": "The name of the policy subject", "example": "ladybugbot", "type": "string" }, "type": { "title": "Type", "default": "PolicySubject", "type": "string", "pattern": "^PolicySubject$", "readOnly": true } }, "required": [ "subject_type", "name" ] } ], "title": "PolicySubject", "discriminator": { "propertyName": "type" } }, "Permission": { "title": "Permission", "description": "An enumeration.", "enum": [ "admin", "write", "read" ], "type": "string" }, "ProjectAccessPolicy": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "subject", "permission" ], "properties": { "subject": { "title": "Subject", "description": "The subject of the access policy", "allOf": [ { "$ref": "#/components/schemas/PolicySubject" } ] }, "permission": { "description": "The permission given to the subject of the access policy", "example": "write", "allOf": [ { "$ref": "#/components/schemas/Permission" } ] }, "type": { "title": "Type", "default": "ProjectAccessPolicy", "type": "string", "pattern": "^ProjectAccessPolicy$", "readOnly": true } } } ], "title": "ProjectAccessPolicy", "discriminator": { "propertyName": "type" } }, "ValueListReference": { "allOf": [ { "$ref": "#/components/schemas/_BaseReference" }, { "type": "object", "required": [ "value" ], "properties": { "value": { "title": "Value", "description": "A fixed value for this reference.", "type": "array", "items": {} }, "type": { "title": "Type", "default": "ValueListReference", "pattern": "^ValueListReference$", "type": "string", "readOnly": true } } } ], "title": "ValueListReference", "description": "A reference to a fixed value.", "discriminator": { "propertyName": "type" } }, "DAGGenericOutputAlias": { "allOf": [ { "$ref": "#/components/schemas/GenericOutput" }, { "type": "object", "required": [ "platform", "handler" ], "properties": { "platform": { "title": "Platform", "description": "Name of the client platform (e.g. Grasshopper, Revit, etc). The value can be any strings as long as it has been agreed between client-side developer and author of the recipe.", "type": "array", "items": { "type": "string" } }, "handler": { "title": "Handler", "description": "List of process actions to process the input or output value.", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" } }, "type": { "title": "Type", "default": "DAGGenericOutputAlias", "pattern": "^DAGGenericOutputAlias$", "type": "string", "readOnly": true } } } ], "title": "DAGGenericOutputAlias", "description": "DAG generic alias output.\n\nIn most cases, you should not be using the generic output unless you need a dynamic\noutput that changes its type in different platforms because of returning different\nobjects in handler.", "discriminator": { "propertyName": "type" } }, "DAGStringOutputAlias": { "allOf": [ { "$ref": "#/components/schemas/_DAGArtifactOutputAlias" }, { "type": "object", "required": [ "from" ], "properties": { "from": { "title": "From", "description": "Reference to a file or a task output. Task output must be file.", "anyOf": [ { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/FileReference" } ] }, "type": { "title": "Type", "default": "DAGStringOutputAlias", "pattern": "^DAGStringOutputAlias$", "type": "string", "readOnly": true } } } ], "title": "DAGStringOutputAlias", "description": "DAG alias string output.\n\nThis output loads the content from a file as a string.", "discriminator": { "propertyName": "type" } }, "DAGIntegerOutputAlias": { "allOf": [ { "$ref": "#/components/schemas/_DAGArtifactOutputAlias" }, { "type": "object", "required": [ "from" ], "properties": { "from": { "title": "From", "description": "Reference to a file or a task output. Task output must be file.", "anyOf": [ { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/FileReference" } ] }, "type": { "title": "Type", "default": "DAGIntegerOutputAlias", "pattern": "^DAGIntegerOutputAlias$", "type": "string", "readOnly": true } } } ], "title": "DAGIntegerOutputAlias", "description": "DAG alias integer output.\n\nThis output loads the content from a file as an integer.", "discriminator": { "propertyName": "type" } }, "DAGNumberOutputAlias": { "allOf": [ { "$ref": "#/components/schemas/_DAGArtifactOutputAlias" }, { "type": "object", "required": [ "from" ], "properties": { "from": { "title": "From", "description": "Reference to a file or a task output. Task output must be file.", "anyOf": [ { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/FileReference" } ] }, "type": { "title": "Type", "default": "DAGNumberOutputAlias", "pattern": "^DAGNumberOutputAlias$", "type": "string", "readOnly": true } } } ], "title": "DAGNumberOutputAlias", "description": "DAG alias number output.\n\nThis output loads the content from a file as a floating number.", "discriminator": { "propertyName": "type" } }, "DAGBooleanOutputAlias": { "allOf": [ { "$ref": "#/components/schemas/_DAGArtifactOutputAlias" }, { "type": "object", "required": [ "from" ], "properties": { "from": { "title": "From", "description": "Reference to a file or a task output. Task output must be file.", "anyOf": [ { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/FileReference" } ] }, "type": { "title": "Type", "default": "DAGBooleanOutputAlias", "pattern": "^DAGBooleanOutputAlias$", "type": "string", "readOnly": true } } } ], "title": "DAGBooleanOutputAlias", "description": "DAG alias boolean output.\n\nThis output loads the content from a file as a boolean.", "discriminator": { "propertyName": "type" } }, "FolderReference": { "allOf": [ { "$ref": "#/components/schemas/_BaseReference" }, { "type": "object", "required": [ "path" ], "properties": { "path": { "title": "Path", "description": "Relative path to a folder.", "type": "string" }, "type": { "title": "Type", "default": "FolderReference", "pattern": "^FolderReference$", "type": "string", "readOnly": true } } } ], "title": "FolderReference", "description": "Reference to a folder.", "discriminator": { "propertyName": "type" } }, "DAGFolderOutputAlias": { "allOf": [ { "$ref": "#/components/schemas/_DAGArtifactOutputAlias" }, { "type": "object", "required": [ "from" ], "properties": { "from": { "title": "From", "description": "Reference to a folder or a task output. Task output must be folder.", "anyOf": [ { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/FolderReference" } ] }, "type": { "title": "Type", "default": "DAGFolderOutputAlias", "pattern": "^DAGFolderOutputAlias$", "type": "string", "readOnly": true } } } ], "title": "DAGFolderOutputAlias", "description": "DAG alias folder output.", "discriminator": { "propertyName": "type" } }, "DAGFileOutputAlias": { "allOf": [ { "$ref": "#/components/schemas/_DAGArtifactOutputAlias" }, { "type": "object", "required": [ "from" ], "properties": { "from": { "title": "From", "description": "Reference to a file or a task output. Task output must be file.", "anyOf": [ { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/FileReference" } ] }, "type": { "title": "Type", "default": "DAGFileOutputAlias", "pattern": "^DAGFileOutputAlias$", "type": "string", "readOnly": true } } } ], "title": "DAGFileOutputAlias", "description": "DAG alias file output.", "discriminator": { "propertyName": "type" } }, "DAGPathOutputAlias": { "allOf": [ { "$ref": "#/components/schemas/_DAGArtifactOutputAlias" }, { "type": "object", "required": [ "from" ], "properties": { "from": { "title": "From", "description": "Reference to a file, folder or a task output. Task output must either be a file or a folder.", "anyOf": [ { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/FileReference" }, { "$ref": "#/components/schemas/FolderReference" } ] }, "type": { "title": "Type", "default": "DAGPathOutputAlias", "pattern": "^DAGPathOutputAlias$", "type": "string", "readOnly": true } } } ], "title": "DAGPathOutputAlias", "description": "DAG alias path output.", "discriminator": { "propertyName": "type" } }, "ItemType": { "title": "ItemType", "description": "Type enum for items in a list.\n\nItems can not be files or folder. For a list of files you should copy them to a\nfolder and use FolderInput input instead of using ArrayInput.", "enum": [ "Generic", "String", "Integer", "Number", "Boolean", "Array", "JSONObject" ], "type": "string" }, "DAGArrayOutputAlias": { "allOf": [ { "$ref": "#/components/schemas/_DAGArtifactOutputAlias" }, { "type": "object", "required": [ "from" ], "properties": { "from": { "title": "From", "description": "Reference to a file or a task output. Task output must be file.", "anyOf": [ { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/FileReference" } ] }, "items_type": { "description": "Type of items in this array. All the items in an array must be from the same type.", "default": "String", "allOf": [ { "$ref": "#/components/schemas/ItemType" } ] }, "type": { "title": "Type", "default": "DAGArrayOutputAlias", "pattern": "^DAGArrayOutputAlias$", "type": "string", "readOnly": true } } } ], "title": "DAGArrayOutputAlias", "description": "DAG alias array output.\n\nThis output loads the content from a JSON file which must be a JSON Array.", "discriminator": { "propertyName": "type" } }, "DAGLinkedOutputAlias": { "allOf": [ { "$ref": "#/components/schemas/DAGGenericOutputAlias" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "DAGLinkedOutputAlias", "pattern": "^DAGLinkedOutputAlias$", "type": "string", "readOnly": true } } } ], "title": "DAGLinkedOutputAlias", "description": "An Alias for Linked Outputs.\n\nA linked output alias will be translated to an object in the UI and stay linked to\nit.", "discriminator": { "propertyName": "type" } }, "DAGFileOutput": { "allOf": [ { "$ref": "#/components/schemas/GenericOutput" }, { "type": "object", "required": [ "from" ], "properties": { "from": { "title": "From", "description": "Reference to a file or a task output. Task output must be file.", "anyOf": [ { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/FileReference" } ] }, "alias": { "title": "Alias", "description": "A list of additional processes for loading this output on different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericOutputAlias" }, { "$ref": "#/components/schemas/DAGStringOutputAlias" }, { "$ref": "#/components/schemas/DAGIntegerOutputAlias" }, { "$ref": "#/components/schemas/DAGNumberOutputAlias" }, { "$ref": "#/components/schemas/DAGBooleanOutputAlias" }, { "$ref": "#/components/schemas/DAGFolderOutputAlias" }, { "$ref": "#/components/schemas/DAGFileOutputAlias" }, { "$ref": "#/components/schemas/DAGPathOutputAlias" }, { "$ref": "#/components/schemas/DAGArrayOutputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectOutputAlias" }, { "$ref": "#/components/schemas/DAGLinkedOutputAlias" } ] } }, "required": { "title": "Required", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true, "type": "boolean" }, "type": { "title": "Type", "default": "DAGFileOutput", "pattern": "^DAGFileOutput$", "type": "string", "readOnly": true } } } ], "title": "DAGFileOutput", "description": "DAG file output.", "discriminator": { "propertyName": "type" } }, "QuotaPlan": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "name": { "title": "Name", "description": "The name of the quota", "type": "string" }, "resets": { "title": "Resets", "description": "Whether consumption is reset to 0 every month", "default": false, "type": "boolean" }, "limit": { "title": "Limit", "description": "The maximum amount of a resource that a subscription allows", "type": "number", "format": "double" }, "enforced": { "title": "Enforced", "description": "Whether the limit is triggers a blocking response from the server", "default": false, "type": "boolean" }, "type": { "title": "Type", "default": "QuotaPlan", "type": "string", "pattern": "^QuotaPlan$", "readOnly": true } }, "required": [ "name" ] } ], "title": "QuotaPlan", "description": "A quota plan", "discriminator": { "propertyName": "type" } }, "AccountType": { "title": "AccountType", "description": "The type of account.", "enum": [ "org", "user" ], "type": "string" }, "SubscriptionPlan": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "slug": { "title": "Slug", "description": "A slug of the config plan used to create this subscription", "type": "string" }, "name": { "title": "Name", "description": "A name of the config plan used to create this subscription", "type": "string" }, "account_types": { "description": "The types of account to which the plan can be applied", "type": "array", "items": { "$ref": "#/components/schemas/AccountType" }, "uniqueItems": true }, "quotas": { "title": "Quotas", "description": "A list of quota plans for a given subscription", "default": [], "type": "array", "items": { "$ref": "#/components/schemas/QuotaPlan" } }, "type": { "title": "Type", "default": "SubscriptionPlan", "type": "string", "pattern": "^SubscriptionPlan$", "readOnly": true } }, "required": [ "slug", "name", "account_types" ] } ], "title": "SubscriptionPlan", "description": "A Subscription plan", "discriminator": { "propertyName": "type" } }, "QuotaType": { "title": "QuotaType", "description": "The type of comsumption-limited resource to which the quota refers.", "enum": [ "storage", "compute_hours", "parallel_workflow_containers", "private_repositories", "private_projects", "teams", "members", "cpu_limit", "memory_limit", "rhino_plugin_license", "revit_plugin_license" ], "type": "string" }, "QuotaExtension": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "id": { "title": "Id", "description": "The ID of the quota extension", "type": "string" }, "name": { "title": "Name", "description": "Name of the quota extension plan", "type": "string" }, "type": { "description": "The type of quota this applies to", "allOf": [ { "$ref": "#/components/schemas/QuotaType" } ], "readOnly": true }, "unit_amount": { "title": "Unit Amount", "description": "The amount by which this object extends a given quota", "minimum": 0, "type": "number", "format": "double" }, "quantity": { "title": "Quantity", "description": "The number of times to count this extension", "type": "integer", "format": "int32" } }, "required": [ "id", "name", "type", "unit_amount", "quantity" ] } ], "title": "QuotaExtension", "description": "A quota extension", "discriminator": { "propertyName": "type" } }, "PollinationSubscription": { "allOf": [ { "$ref": "#/components/schemas/Subscription" }, { "type": "object", "required": [ "account_id", "subscription_plan" ], "properties": { "account_id": { "title": "Account Id", "description": "The ID of the account this subscription applies to", "type": "string", "format": "uuid" }, "subscription_plan": { "title": "Subscription Plan", "description": "A subscription plan", "allOf": [ { "$ref": "#/components/schemas/SubscriptionPlan" } ] }, "external_id": { "title": "External Id", "description": "The ID of this subscription", "type": "string" }, "quota_extensions": { "title": "Quota Extensions", "description": "A list of quota extension plans for a given subscription", "default": [], "type": "array", "items": { "$ref": "#/components/schemas/QuotaExtension" } }, "type": { "title": "Type", "default": "PollinationSubscription", "type": "string", "pattern": "^PollinationSubscription$", "readOnly": true } } } ], "title": "PollinationSubscription", "discriminator": { "propertyName": "type" } }, "DAGGenericInputAlias": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "platform", "handler" ], "properties": { "platform": { "title": "Platform", "description": "Name of the client platform (e.g. Grasshopper, Revit, etc). The value can be any strings as long as it has been agreed between client-side developer and author of the recipe.", "type": "array", "items": { "type": "string" } }, "handler": { "title": "Handler", "description": "List of process actions to process the input or output value.", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" } }, "default": { "title": "Default", "description": "Default value for generic input.", "type": "string" }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "DAGGenericInputAlias", "pattern": "^DAGGenericInputAlias$", "type": "string", "readOnly": true } } } ], "title": "DAGGenericInputAlias", "description": "Base class for DAG Alias inputs.\n\nThis class adds a handler to input to handle the process of loading the input\nfrom different graphical interfaces.", "discriminator": { "propertyName": "type" } }, "DAGStringInputAlias": { "allOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "DAGStringInputAlias", "pattern": "^DAGStringInputAlias$", "type": "string", "readOnly": true } } } ], "title": "DAGStringInputAlias", "description": "An Alias String input.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/string.html#string for\nmore information.\n\n.. code-block:: python\n\n \"schema\": {\n \"type\": \"string\",\n \"maxLength\": 50,\n \"pattern\": \"(?i)(^.*\\.epw$)\"\n }", "discriminator": { "propertyName": "type" } }, "DAGIntegerInputAlias": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "platform", "handler" ], "properties": { "platform": { "title": "Platform", "description": "Name of the client platform (e.g. Grasshopper, Revit, etc). The value can be any strings as long as it has been agreed between client-side developer and author of the recipe.", "type": "array", "items": { "type": "string" } }, "handler": { "title": "Handler", "description": "List of process actions to process the input or output value.", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" } }, "default": { "title": "Default", "description": "Default value to use for an input if a value was not supplied.", "type": "integer", "format": "int32" }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "DAGIntegerInputAlias", "pattern": "^DAGIntegerInputAlias$", "type": "string", "readOnly": true } } } ], "title": "DAGIntegerInputAlias", "description": "An alias integer input.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/numeric.html#numeric\nfor more information.", "discriminator": { "propertyName": "type" } }, "DAGNumberInputAlias": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "platform", "handler" ], "properties": { "platform": { "title": "Platform", "description": "Name of the client platform (e.g. Grasshopper, Revit, etc). The value can be any strings as long as it has been agreed between client-side developer and author of the recipe.", "type": "array", "items": { "type": "string" } }, "handler": { "title": "Handler", "description": "List of process actions to process the input or output value.", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" } }, "default": { "title": "Default", "description": "Default value to use for an input if a value was not supplied.", "type": "number", "format": "double" }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "DAGNumberInputAlias", "pattern": "^DAGNumberInputAlias$", "type": "string", "readOnly": true } } } ], "title": "DAGNumberInputAlias", "description": "An alias number input.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/numeric.html#numeric\nfor more information.", "discriminator": { "propertyName": "type" } }, "DAGBooleanInputAlias": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "platform", "handler" ], "properties": { "platform": { "title": "Platform", "description": "Name of the client platform (e.g. Grasshopper, Revit, etc). The value can be any strings as long as it has been agreed between client-side developer and author of the recipe.", "type": "array", "items": { "type": "string" } }, "handler": { "title": "Handler", "description": "List of process actions to process the input or output value.", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" } }, "default": { "title": "Default", "description": "Default value to use for an input if a value was not supplied.", "type": "boolean" }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "DAGBooleanInputAlias", "pattern": "^DAGBooleanInputAlias$", "type": "string", "readOnly": true } } } ], "title": "DAGBooleanInputAlias", "description": "The boolean type matches only two special values: True and False.\n\nNote that values that evaluate to true or false, such as 1 and 0, are not accepted.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/boolean.html for more\ninformation.", "discriminator": { "propertyName": "type" } }, "DAGFolderInputAlias": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "platform", "handler" ], "properties": { "platform": { "title": "Platform", "description": "Name of the client platform (e.g. Grasshopper, Revit, etc). The value can be any strings as long as it has been agreed between client-side developer and author of the recipe.", "type": "array", "items": { "type": "string" } }, "handler": { "title": "Handler", "description": "List of process actions to process the input or output value.", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" } }, "default": { "title": "Default", "description": "The default source for file if the value is not provided.", "anyOf": [ { "$ref": "#/components/schemas/HTTP" }, { "$ref": "#/components/schemas/S3" }, { "$ref": "#/components/schemas/ProjectFolder" } ] }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "DAGFolderInputAlias", "pattern": "^DAGFolderInputAlias$", "type": "string", "readOnly": true } } } ], "title": "DAGFolderInputAlias", "description": "An alias folder input.\n\nFolder is a special string input. Unlike other string inputs, a folder will be copied\nfrom its location to execution folder when a workflow is executed.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/string.html#string for\nmore information.\n\n.. code-block:: python\n\n \"schema\": {\n \"type\": \"string\",\n \"maxLength\": 50,\n }", "discriminator": { "propertyName": "type" } }, "DAGFileInputAlias": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "platform", "handler" ], "properties": { "platform": { "title": "Platform", "description": "Name of the client platform (e.g. Grasshopper, Revit, etc). The value can be any strings as long as it has been agreed between client-side developer and author of the recipe.", "type": "array", "items": { "type": "string" } }, "handler": { "title": "Handler", "description": "List of process actions to process the input or output value.", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" } }, "default": { "title": "Default", "description": "The default source for file if the value is not provided.", "anyOf": [ { "$ref": "#/components/schemas/HTTP" }, { "$ref": "#/components/schemas/S3" }, { "$ref": "#/components/schemas/ProjectFolder" } ] }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "extensions": { "title": "Extensions", "description": "Optional list of extensions for file. The check for extension is case-insensitive.", "type": "array", "items": { "type": "string" } }, "type": { "title": "Type", "default": "DAGFileInputAlias", "pattern": "^DAGFileInputAlias$", "type": "string", "readOnly": true } } } ], "title": "DAGFileInputAlias", "description": "An alias file input.\n\nFile is a special string input. Unlike other string inputs, a file will be copied\nfrom its location to execution folder when a workflow is executed.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/string.html#string for\nmore information.\n\n.. code-block:: python\n\n # a file with maximum 50 characters with an ``epw`` extension.\n\n \"schema\": {\n \"type\": \"string\",\n \"maxLength\": 50,\n \"pattern\": \"(?i)(^.*\\.epw$)\"\n }", "discriminator": { "propertyName": "type" } }, "DAGPathInputAlias": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "platform", "handler" ], "properties": { "platform": { "title": "Platform", "description": "Name of the client platform (e.g. Grasshopper, Revit, etc). The value can be any strings as long as it has been agreed between client-side developer and author of the recipe.", "type": "array", "items": { "type": "string" } }, "handler": { "title": "Handler", "description": "List of process actions to process the input or output value.", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" } }, "default": { "title": "Default", "description": "The default source for file if the value is not provided.", "anyOf": [ { "$ref": "#/components/schemas/HTTP" }, { "$ref": "#/components/schemas/S3" }, { "$ref": "#/components/schemas/ProjectFolder" } ] }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "extensions": { "title": "Extensions", "description": "Optional list of extensions for path. The check for extension is case-insensitive. The extension will only be validated for file inputs.", "type": "array", "items": { "type": "string" } }, "type": { "title": "Type", "default": "DAGPathInputAlias", "pattern": "^DAGPathInputAlias$", "type": "string", "readOnly": true } } } ], "title": "DAGPathInputAlias", "description": "A file or a folder input.\n\nUse this input only in cases that the input can be either a file or folder. For file\nor folder-only inputs see File and Folder.\n\nPath is a special string input. Unlike other string inputs, a path will be copied\nfrom its location to execution folder when a workflow is executed.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/string.html#string for\nmore information.\n\n.. code-block:: python\n\n # a file with maximum 50 characters with an ``epw`` extension.\n\n \"schema\": {\n \"type\": \"string\",\n \"maxLength\": 50,\n \"pattern\": \"(?i)(^.*\\.epw$)\"\n }", "discriminator": { "propertyName": "type" } }, "DAGArrayInputAlias": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "platform", "handler" ], "properties": { "platform": { "title": "Platform", "description": "Name of the client platform (e.g. Grasshopper, Revit, etc). The value can be any strings as long as it has been agreed between client-side developer and author of the recipe.", "type": "array", "items": { "type": "string" } }, "handler": { "title": "Handler", "description": "List of process actions to process the input or output value.", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" } }, "default": { "title": "Default", "description": "Default value to use for an input if a value was not supplied.", "type": "array", "items": {} }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "items_type": { "description": "Type of items in an array. All the items in an array must be from the same type.", "default": "String", "allOf": [ { "$ref": "#/components/schemas/ItemType" } ] }, "type": { "title": "Type", "default": "DAGArrayInputAlias", "pattern": "^DAGArrayInputAlias$", "type": "string", "readOnly": true } } } ], "title": "DAGArrayInputAlias", "description": "A JSON array input.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/array.html for\nmore information.", "discriminator": { "propertyName": "type" } }, "DAGJSONObjectInputAlias": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "platform", "handler" ], "properties": { "platform": { "title": "Platform", "description": "Name of the client platform (e.g. Grasshopper, Revit, etc). The value can be any strings as long as it has been agreed between client-side developer and author of the recipe.", "type": "array", "items": { "type": "string" } }, "handler": { "title": "Handler", "description": "List of process actions to process the input or output value.", "type": "array", "items": { "$ref": "#/components/schemas/IOAliasHandler" } }, "default": { "title": "Default", "description": "Default value to use for an input if a value was not supplied.", "type": "object" }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "DAGJSONObjectInputAlias", "pattern": "^DAGJSONObjectInputAlias$", "type": "string", "readOnly": true } } } ], "title": "DAGJSONObjectInputAlias", "description": "An alias JSON object input.\n\nJSON objects are similar to Python dictionaries.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/object.html for\nmore information.", "discriminator": { "propertyName": "type" } }, "DAGLinkedInputAlias": { "allOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "DAGLinkedInputAlias", "pattern": "^DAGLinkedInputAlias$", "type": "string", "readOnly": true } } } ], "title": "DAGLinkedInputAlias", "description": "An Alias for Linked Inputs.\n\nA linked input alias will be hidden in the UI and will be linked to an object in \nthe UI using the input handler.", "discriminator": { "propertyName": "type" } }, "FunctionIntegerInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "properties": { "default": { "title": "Default", "description": "Default value to use for an input if a value was not supplied.", "type": "integer", "format": "int32" }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "FunctionIntegerInput", "pattern": "^FunctionIntegerInput$", "type": "string", "readOnly": true } } } ], "title": "FunctionIntegerInput", "description": "An integer input.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/numeric.html#numeric\nfor more information.", "discriminator": { "propertyName": "type" } }, "UserUpdate": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "name": { "title": "Name", "description": "The display name for this user", "example": "Ladybug Tools", "type": "string" }, "picture_url": { "title": "Picture Url", "description": "URL to the picture associated with this user", "example": "https://avatars1.githubusercontent.com/u/38131342", "type": "string" }, "description": { "title": "Description", "description": "A description of the user", "default": "", "example": "Making environmental design knowledge and tools freely accessible to every person, project and design process", "type": "string" }, "type": { "title": "Type", "default": "UserUpdate", "type": "string", "pattern": "^UserUpdate$", "readOnly": true } }, "required": [ "name", "picture_url" ] } ], "title": "UserUpdate", "discriminator": { "propertyName": "type" } }, "DockerConfig": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "image": { "title": "Image", "description": "Docker image name. Must include tag.", "type": "string" }, "workdir": { "title": "Workdir", "description": "The working directory the entrypoint command of the container runsin. This is used to determine where to load artifacts when running in the container.", "type": "string" }, "type": { "title": "Type", "default": "DockerConfig", "pattern": "^DockerConfig", "type": "string", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "registry": { "title": "Registry", "description": "The container registry URLs that this container should be pulled from. Will default to Dockerhub if none is specified.", "type": "string" } }, "required": [ "image", "workdir" ] } ], "title": "DockerConfig", "description": "Plugin Configuration to run in a Docker container", "discriminator": { "propertyName": "type" } }, "LocalConfig": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "LocalConfig", "pattern": "^LocalConfig", "type": "string", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } } } } ], "title": "LocalConfig", "description": "Plugin Configuration to run on a desktop.", "discriminator": { "propertyName": "type" } }, "PluginConfig": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "docker": { "title": "Docker", "description": "The configuration to use this plugin in a docker container", "allOf": [ { "$ref": "#/components/schemas/DockerConfig" } ] }, "type": { "title": "Type", "default": "PluginConfig", "pattern": "^PluginConfig", "type": "string", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "local": { "title": "Local", "description": "The configuration to use this plugin locally", "allOf": [ { "$ref": "#/components/schemas/LocalConfig" } ] } }, "required": [ "docker" ] } ], "title": "PluginConfig", "description": "Plugin configuration.\n\nThe config is used to schedule functions on a desktop or in other contexts\n(ie: Docker).", "discriminator": { "propertyName": "type" } }, "LicensePoolAccessPolicy": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "subject" ], "properties": { "subject": { "title": "Subject", "description": "The subject of the access policy", "allOf": [ { "$ref": "#/components/schemas/PolicySubject" } ] }, "permission": { "description": "Accessors may only have read access", "allOf": [ { "$ref": "#/components/schemas/Permission" } ] }, "type": { "title": "Type", "default": "LicensePoolAccessPolicy", "type": "string", "pattern": "^LicensePoolAccessPolicy$", "readOnly": true } } } ], "title": "LicensePoolAccessPolicy", "discriminator": { "propertyName": "type" } }, "LicensePoolAccessPolicyList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "resources": { "title": "Resources", "description": "The list of policies granting access to the pool", "default": [], "type": "array", "items": { "$ref": "#/components/schemas/LicensePoolAccessPolicy" } }, "type": { "title": "Type", "default": "LicensePoolAccessPolicyList", "type": "string", "pattern": "^LicensePoolAccessPolicyList$", "readOnly": true } } } ], "title": "LicensePoolAccessPolicyList", "discriminator": { "propertyName": "type" } }, "FunctionFolderOutput": { "allOf": [ { "$ref": "#/components/schemas/PathOutput" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "FunctionFolderOutput", "pattern": "^FunctionFolderOutput$", "type": "string", "readOnly": true } } } ], "title": "FunctionFolderOutput", "description": "Function Folder output.", "discriminator": { "propertyName": "type" } }, "StepArrayInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "value" ], "properties": { "value": { "title": "Value", "type": "array", "items": {} }, "default": { "title": "Default", "description": "Default value to use for an input if a value was not supplied.", "type": "array", "items": {} }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "items_type": { "description": "Type of items in an array. All the items in an array must be from the same type.", "default": "String", "allOf": [ { "$ref": "#/components/schemas/ItemType" } ] }, "type": { "title": "Type", "default": "StepArrayInput", "pattern": "^StepArrayInput$", "type": "string", "readOnly": true } } } ], "title": "StepArrayInput", "description": "A JSON array input.", "discriminator": { "propertyName": "type" } }, "AccountPublic": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "id": { "title": "Id", "example": "0ad77f99-8043-46e4-8220-7221487c3ee5", "type": "string" }, "account_type": { "title": "Account Type", "example": "user", "type": "string" }, "name": { "title": "Name", "example": "ladybugbot", "type": "string" }, "display_name": { "title": "Display Name", "example": "Ladybug Bot", "type": "string" }, "description": { "title": "Description", "example": "Beep Boop!", "type": "string" }, "picture_url": { "title": "Picture Url", "description": "https://robohash.org/ladybugbot", "type": "string" }, "type": { "title": "Type", "default": "AccountPublic", "type": "string", "pattern": "^AccountPublic$", "readOnly": true } }, "required": [ "id", "account_type", "name" ] } ], "title": "AccountPublic", "discriminator": { "propertyName": "type" } }, "RepositoryUserPermissions": { "allOf": [ { "$ref": "#/components/schemas/UserPermission" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "RepositoryUserPermissions", "type": "string", "pattern": "^RepositoryUserPermissions$", "readOnly": true } } } ], "title": "RepositoryUserPermissions", "discriminator": { "propertyName": "type" } }, "Repository": { "allOf": [ { "$ref": "#/components/schemas/RepositoryCreate" }, { "type": "object", "required": [ "id", "latest_tag", "owner" ], "properties": { "id": { "title": "Id", "description": "The recipe unique ID", "example": "5d5e7103-2c1e-413f-9332-f8ec4a9aace7", "type": "string" }, "latest_tag": { "title": "Latest Tag", "description": "The latest package version to be indexed", "example": "0.2.1", "type": "string" }, "owner": { "title": "Owner", "description": "The owner of the repository", "allOf": [ { "$ref": "#/components/schemas/AccountPublic" } ] }, "permissions": { "title": "Permissions", "description": "The permissions the user making the API call has on the resource", "default": { "admin": false, "write": false, "read": false }, "allOf": [ { "$ref": "#/components/schemas/RepositoryUserPermissions" } ] }, "slug": { "title": "Slug", "description": "The repository slug", "example": "ladybug-tools/daylight-factor", "type": "string" }, "type": { "title": "Type", "default": "Repository", "type": "string", "pattern": "^Repository$", "readOnly": true } } } ], "title": "Repository", "discriminator": { "propertyName": "type" } }, "RepositoryList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "properties": { "page": { "title": "Page", "description": "The current page the pagination request is on", "type": "integer", "format": "int32" }, "per_page": { "title": "Per Page", "description": "The number of pages per pagination request", "type": "integer", "format": "int32" }, "page_count": { "title": "Page Count", "description": "The total number of pages", "type": "integer", "format": "int32" }, "total_count": { "title": "Total Count", "description": "The total number of resources matching the list request", "type": "integer", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/Repository" } }, "next_page": { "title": "Next Page", "description": "The next page, if this on is not the last", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "RepositoryList", "type": "string", "pattern": "^RepositoryList$", "readOnly": true } } } ], "title": "RepositoryList", "description": "A list response from a pagination request", "discriminator": { "propertyName": "type" } }, "StepStringInput": { "allOf": [ { "$ref": "#/components/schemas/FunctionStringInput" }, { "type": "object", "required": [ "value" ], "properties": { "value": { "title": "Value", "type": "string" }, "type": { "title": "Type", "default": "StepStringInput", "pattern": "^StepStringInput$", "type": "string", "readOnly": true } } } ], "title": "StepStringInput", "description": "A String input.", "discriminator": { "propertyName": "type" } }, "StepIntegerInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "value" ], "properties": { "value": { "title": "Value", "type": "integer", "format": "int32" }, "default": { "title": "Default", "description": "Default value to use for an input if a value was not supplied.", "type": "integer", "format": "int32" }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "StepIntegerInput", "pattern": "^StepIntegerInput$", "type": "string", "readOnly": true } } } ], "title": "StepIntegerInput", "description": "An integer input.", "discriminator": { "propertyName": "type" } }, "StepNumberInput": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "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" }, "module": { "title": "Module", "description": "Target module or namespace to load the alias function.", "example": "honeybee_rhino.handlers", "type": "string" }, "type": { "title": "Type", "default": "StepNumberInput", "pattern": "^StepNumberInput$", "type": "string", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "index": { "title": "Index", "description": "An integer to set the index for the order of execution. This input is only useful when there are more than one handler for the same platform and the output of one handler should be passed to another handler. This is also called chained handlers. By default all the handlers are indexed as 0 assuming they are not chained.", "default": 0, "type": "integer", "format": "int32" } }, "required": [ "language", "module", "function" ] } ], "title": "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" } ] } }, "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": "StepBooleanInput", "pattern": "^StepBooleanInput$", "type": "string", "readOnly": true } } } ], "title": "StepBooleanInput", "description": "The boolean type matches only two special values: True and False.", "discriminator": { "propertyName": "type" } }, "StepFolderInput": { "allOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "type": "object", "required": [ "source" ], "properties": { "source": { "title": "Source", "description": "The path to source the file from.", "anyOf": [ { "$ref": "#/components/schemas/HTTP" }, { "$ref": "#/components/schemas/S3" }, { "$ref": "#/components/schemas/ProjectFolder" } ] }, "default": { "title": "Default", "description": "The default source for file if the value is not provided.", "anyOf": [ { "$ref": "#/components/schemas/HTTP" }, { "$ref": "#/components/schemas/S3" }, { "$ref": "#/components/schemas/ProjectFolder" } ] }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "path": { "title": "Path", "description": "Path to the target location that the input will be copied to. This path is relative to the working directory where the command is executed.", "type": "string" }, "type": { "title": "Type", "default": "StepFolderInput", "pattern": "^StepFolderInput$", "type": "string", "readOnly": true } } } ], "title": "StepFolderInput", "description": "A folder input.", "discriminator": { "propertyName": "type" } }, "StepFileInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "source" ], "properties": { "source": { "title": "Source", "description": "The path to source the file from.", "anyOf": [ { "$ref": "#/components/schemas/HTTP" }, { "$ref": "#/components/schemas/S3" }, { "$ref": "#/components/schemas/ProjectFolder" } ] }, "default": { "title": "Default", "description": "The default source for file if the value is not provided.", "anyOf": [ { "$ref": "#/components/schemas/HTTP" }, { "$ref": "#/components/schemas/S3" }, { "$ref": "#/components/schemas/ProjectFolder" } ] }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "path": { "title": "Path", "description": "Path to the target location that the input will be copied to. This path is relative to the working directory where the command is executed.", "type": "string" }, "extensions": { "title": "Extensions", "description": "Optional list of extensions for file. The check for extension is case-insensitive.", "type": "array", "items": { "type": "string" } }, "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": "StepFileInput", "pattern": "^StepFileInput$", "type": "string", "readOnly": true } } } ], "title": "StepFileInput", "description": "A file input.", "discriminator": { "propertyName": "type" } }, "StepPathInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "source" ], "properties": { "source": { "title": "Source", "description": "The path to source the file from.", "anyOf": [ { "$ref": "#/components/schemas/HTTP" }, { "$ref": "#/components/schemas/S3" }, { "$ref": "#/components/schemas/ProjectFolder" } ] }, "default": { "title": "Default", "description": "The default source for file if the value is not provided.", "anyOf": [ { "$ref": "#/components/schemas/HTTP" }, { "$ref": "#/components/schemas/S3" }, { "$ref": "#/components/schemas/ProjectFolder" } ] }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "path": { "title": "Path", "description": "Path to the target location that the input will be copied to. This path is relative to the working directory where the command is executed.", "type": "string" }, "extensions": { "title": "Extensions", "description": "Optional list of extensions for file. The check for extension is case-insensitive.", "type": "array", "items": { "type": "string" } }, "type": { "title": "Type", "default": "StepPathInput", "pattern": "^StepPathInput$", "type": "string", "readOnly": true } } } ], "title": "StepPathInput", "description": "A file or a folder input.", "discriminator": { "propertyName": "type" } }, "StepJSONObjectInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "value" ], "properties": { "value": { "title": "Value", "type": "object" }, "default": { "title": "Default", "description": "Default value to use for an input if a value was not supplied.", "type": "object" }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "StepJSONObjectInput", "pattern": "^StepJSONObjectInput$", "type": "string", "readOnly": true } } } ], "title": "StepJSONObjectInput", "description": "A JSON object input.", "discriminator": { "propertyName": "type" } }, "StepStringOutput": { "allOf": [ { "$ref": "#/components/schemas/FunctionStringOutput" }, { "type": "object", "required": [ "value" ], "properties": { "value": { "title": "Value", "type": "string" }, "type": { "title": "Type", "default": "StepStringOutput", "pattern": "^StepStringOutput$", "type": "string", "readOnly": true } } } ], "title": "StepStringOutput", "description": "A String output.", "discriminator": { "propertyName": "type" } }, "StepIntegerOutput": { "allOf": [ { "$ref": "#/components/schemas/FunctionIntegerOutput" }, { "type": "object", "required": [ "value" ], "properties": { "value": { "title": "Value", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "StepIntegerOutput", "pattern": "^StepIntegerOutput$", "type": "string", "readOnly": true } } } ], "title": "StepIntegerOutput", "description": "An integer output.", "discriminator": { "propertyName": "type" } }, "StepNumberOutput": { "allOf": [ { "$ref": "#/components/schemas/FunctionNumberOutput" }, { "type": "object", "required": [ "value" ], "properties": { "value": { "title": "Value", "type": "number", "format": "double" }, "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": "StepNumberOutput", "pattern": "^StepNumberOutput$", "type": "string", "readOnly": true } } } ], "title": "StepNumberOutput", "description": "A number output.", "discriminator": { "propertyName": "type" } }, "StepBooleanOutput": { "allOf": [ { "$ref": "#/components/schemas/FunctionBooleanOutput" }, { "type": "object", "required": [ "value" ], "properties": { "value": { "title": "Value", "type": "boolean" }, "type": { "title": "Type", "default": "StepBooleanOutput", "pattern": "^StepBooleanOutput$", "type": "string", "readOnly": true } } } ], "title": "StepBooleanOutput", "description": "The boolean type matches only two special values: True and False.", "discriminator": { "propertyName": "type" } }, "StepFolderOutput": { "allOf": [ { "$ref": "#/components/schemas/FunctionFolderOutput" }, { "type": "object", "required": [ "source" ], "properties": { "source": { "title": "Source", "description": "The path to source the file from.", "anyOf": [ { "$ref": "#/components/schemas/HTTP" }, { "$ref": "#/components/schemas/S3" }, { "$ref": "#/components/schemas/ProjectFolder" } ] }, "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": "StepFolderOutput", "pattern": "^StepFolderOutput$", "type": "string", "readOnly": true } } } ], "title": "StepFolderOutput", "description": "A folder output.", "discriminator": { "propertyName": "type" } }, "StepFileOutput": { "allOf": [ { "$ref": "#/components/schemas/FunctionFileOutput" }, { "type": "object", "required": [ "source" ], "properties": { "source": { "title": "Source", "description": "The path to source the file from.", "anyOf": [ { "$ref": "#/components/schemas/HTTP" }, { "$ref": "#/components/schemas/S3" }, { "$ref": "#/components/schemas/ProjectFolder" } ] }, "type": { "title": "Type", "default": "StepFileOutput", "pattern": "^StepFileOutput$", "type": "string", "readOnly": true } } } ], "title": "StepFileOutput", "description": "A file output.", "discriminator": { "propertyName": "type" } }, "StepArrayOutput": { "allOf": [ { "$ref": "#/components/schemas/FunctionStringOutput" }, { "type": "object", "required": [ "value" ], "properties": { "value": { "title": "Value", "type": "array", "items": {} }, "items_type": { "description": "Type of items in this array. All the items in an array must be from the same type.", "default": "String", "allOf": [ { "$ref": "#/components/schemas/ItemType" } ] }, "type": { "title": "Type", "default": "StepArrayOutput", "pattern": "^StepArrayOutput$", "type": "string", "readOnly": true } } } ], "title": "StepArrayOutput", "description": "A JSON array output.", "discriminator": { "propertyName": "type" } }, "StepJSONObjectOutput": { "allOf": [ { "$ref": "#/components/schemas/FunctionJSONObjectOutput" }, { "type": "object", "required": [ "value" ], "properties": { "value": { "title": "Value", "type": "object" }, "type": { "title": "Type", "default": "StepJSONObjectOutput", "pattern": "^StepJSONObjectOutput$", "type": "string", "readOnly": true } } } ], "title": "StepJSONObjectOutput", "description": "A JSON object output.", "discriminator": { "propertyName": "type" } }, "RunStatusEnum": { "title": "RunStatusEnum", "description": "Enumaration of allowable status strings", "enum": [ "Created", "Scheduled", "Running", "Post-Processing", "Failed", "Cancelled", "Succeeded", "Unknown" ], "type": "string" }, "StepStatusEnum": { "title": "StepStatusEnum", "description": "Enumaration of allowable status strings", "enum": [ "Scheduled", "Running", "Failed", "Succeeded", "Skipped", "Unknown" ], "type": "string" }, "StatusType": { "title": "StatusType", "description": "Type enum for status type.", "enum": [ "Function", "DAG", "Loop", "Unknown" ], "type": "string" }, "StepStatus": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "inputs", "outputs", "started_at", "id", "name", "status_type", "template_ref", "children_ids", "outbound_steps" ], "properties": { "inputs": { "title": "Inputs", "description": "The inputs used by this step.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/StepStringInput" }, { "$ref": "#/components/schemas/StepIntegerInput" }, { "$ref": "#/components/schemas/StepNumberInput" }, { "$ref": "#/components/schemas/StepBooleanInput" }, { "$ref": "#/components/schemas/StepFolderInput" }, { "$ref": "#/components/schemas/StepFileInput" }, { "$ref": "#/components/schemas/StepPathInput" }, { "$ref": "#/components/schemas/StepArrayInput" }, { "$ref": "#/components/schemas/StepJSONObjectInput" } ] } }, "outputs": { "title": "Outputs", "description": "The outputs produced by this step.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/StepStringOutput" }, { "$ref": "#/components/schemas/StepIntegerOutput" }, { "$ref": "#/components/schemas/StepNumberOutput" }, { "$ref": "#/components/schemas/StepBooleanOutput" }, { "$ref": "#/components/schemas/StepFolderOutput" }, { "$ref": "#/components/schemas/StepFileOutput" }, { "$ref": "#/components/schemas/StepPathOutput" }, { "$ref": "#/components/schemas/StepArrayOutput" }, { "$ref": "#/components/schemas/StepJSONObjectOutput" } ] } }, "started_at": { "title": "Started At", "description": "The time at which the task was started", "type": "string", "format": "date-time" }, "id": { "title": "Id", "description": "The step unique ID", "type": "string" }, "name": { "title": "Name", "description": "A human readable name for the step. Usually defined by the DAG task name but can be extended if the step is part of a loop for example. This name is unique within the boundary of the DAG/Job that generated it.", "type": "string" }, "status_type": { "description": "The type of step this status is for. Can be \"Function\", \"DAG\" or \"Loop\"", "allOf": [ { "$ref": "#/components/schemas/StatusType" } ] }, "template_ref": { "title": "Template Ref", "description": "The name of the template that spawned this step", "type": "string" }, "children_ids": { "title": "Children Ids", "description": "A list of child step IDs", "type": "array", "items": { "type": "string" } }, "outbound_steps": { "title": "Outbound Steps", "description": "A list of the last step to ran in the context of this step. In the case of a DAG or a job this will be the last step that has been executed. It will remain empty for functions.", "type": "array", "items": { "type": "string" } }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "message": { "title": "Message", "description": "Any message produced by the task. Usually error/debugging hints.", "type": "string" }, "finished_at": { "title": "Finished At", "description": "The time at which the task was completed", "type": "string", "format": "date-time" }, "source": { "title": "Source", "description": "Source url for the status object. It can be a recipe or a function.", "type": "string" }, "status": { "description": "The status of this step.", "default": "Unknown", "allOf": [ { "$ref": "#/components/schemas/StepStatusEnum" } ] }, "command": { "title": "Command", "description": "The command used to run this step. Only applies to Function steps.", "type": "string" }, "boundary_id": { "title": "Boundary Id", "description": "This indicates the step ID of the associated template root step in which this step belongs to. A DAG step will have the id of the parent DAG for example.", "type": "string" }, "type": { "title": "Type", "default": "StepStatus", "pattern": "^StepStatus$", "type": "string", "readOnly": true } } } ], "title": "StepStatus", "description": "The Status of a Job Step", "discriminator": { "propertyName": "type" } }, "RunStatus": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "inputs", "outputs", "started_at", "id", "job_id" ], "properties": { "inputs": { "title": "Inputs", "description": "The inputs used for this run.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/StepStringInput" }, { "$ref": "#/components/schemas/StepIntegerInput" }, { "$ref": "#/components/schemas/StepNumberInput" }, { "$ref": "#/components/schemas/StepBooleanInput" }, { "$ref": "#/components/schemas/StepFolderInput" }, { "$ref": "#/components/schemas/StepFileInput" }, { "$ref": "#/components/schemas/StepPathInput" }, { "$ref": "#/components/schemas/StepArrayInput" }, { "$ref": "#/components/schemas/StepJSONObjectInput" } ] } }, "outputs": { "title": "Outputs", "description": "The outputs produced by this run.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/StepStringOutput" }, { "$ref": "#/components/schemas/StepIntegerOutput" }, { "$ref": "#/components/schemas/StepNumberOutput" }, { "$ref": "#/components/schemas/StepBooleanOutput" }, { "$ref": "#/components/schemas/StepFolderOutput" }, { "$ref": "#/components/schemas/StepFileOutput" }, { "$ref": "#/components/schemas/StepPathOutput" }, { "$ref": "#/components/schemas/StepArrayOutput" }, { "$ref": "#/components/schemas/StepJSONObjectOutput" } ] } }, "started_at": { "title": "Started At", "description": "The time at which the task was started", "type": "string", "format": "date-time" }, "id": { "title": "Id", "description": "The ID of the individual run.", "type": "string" }, "job_id": { "title": "Job Id", "description": "The ID of the job that generated this run.", "type": "string" }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "message": { "title": "Message", "description": "Any message produced by the task. Usually error/debugging hints.", "type": "string" }, "finished_at": { "title": "Finished At", "description": "The time at which the task was completed", "type": "string", "format": "date-time" }, "source": { "title": "Source", "description": "Source url for the status object. It can be a recipe or a function.", "type": "string" }, "api_version": { "title": "Api Version", "default": "v1beta1", "readOnly": true, "pattern": "^v1beta1$", "type": "string" }, "entrypoint": { "title": "Entrypoint", "description": "The ID of the first step in the run.", "type": "string" }, "status": { "description": "The status of this run.", "default": "Unknown", "allOf": [ { "$ref": "#/components/schemas/RunStatusEnum" } ] }, "steps": { "title": "Steps", "default": {}, "type": "object", "additionalProperties": { "$ref": "#/components/schemas/StepStatus" } }, "type": { "title": "Type", "default": "RunStatus", "pattern": "^RunStatus$", "type": "string", "pattern": "^DailyUsage$", "readOnly": true } }, "required": [ "date" ] } ], "title": "RunStatus", "description": "Job Status.", "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" } }, "DAGBooleanInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "properties": { "default": { "title": "Default", "description": "Default value to use for an input if a value was not supplied.", "type": "boolean" }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "DAGBooleanInput", "pattern": "^DAGBooleanInput$", "type": "string", "readOnly": true } } } ], "title": "DAGBooleanInput", "description": "The boolean type matches only two special values: True and False.\n\nNote that values that evaluate to true or false, such as 1 and 0, are not accepted.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/boolean.html for more\ninformation.", "discriminator": { "propertyName": "type" } }, "PriceType": { "title": "PriceType", "description": "An enumeration.", "enum": [ "recurring", "one_time" ], "type": "string" }, "PriceRecurrence": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "interval": { "title": "Interval", "type": "string" }, "interval_count": { "title": "Interval Count", "type": "integer", "format": "int32" }, "usage_type": { "title": "Usage Type", "type": "string" }, "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": "PriceRecurrence", "type": "string", "pattern": "^PriceRecurrence$", "readOnly": true } }, "required": [ "interval", "interval_count", "usage_type" ] } ], "title": "PriceRecurrence", "discriminator": { "propertyName": "type" } }, "PriceTier": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "unit_amount": { "title": "Unit Amount", "type": "integer", "format": "int32" }, "unit_amount_decimal": { "title": "Unit Amount Decimal", "type": "string" }, "flat_amount": { "title": "Flat Amount", "type": "integer", "format": "int32" }, "flat_amount_decimal": { "title": "Flat Amount Decimal", "type": "string" }, "up_to": { "title": "Up To", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "PriceTier", "type": "string", "pattern": "^PriceTier$", "readOnly": true } }, "required": [ "unit_amount", "unit_amount_decimal" ] } ], "title": "PriceTier", "discriminator": { "propertyName": "type" } }, "Price": { "allOf": [ { "$ref": "#/components/schemas/ExternalResource" }, { "type": "object", "required": [ "product", "active", "currency", "type" ], "properties": { "product": { "title": "Product", "type": "string" }, "active": { "title": "Active", "type": "boolean" }, "currency": { "title": "Currency", "type": "string" }, "type": { "$ref": "#/components/schemas/PriceType", "readOnly": true }, "unit_amount": { "title": "Unit Amount", "type": "integer", "format": "int32" }, "recurring": { "$ref": "#/components/schemas/PriceRecurrence" }, "nickname": { "title": "Nickname", "type": "string" }, "tiers": { "title": "Tiers", "type": "array", "items": { "$ref": "#/components/schemas/PriceTier" } } } } ], "title": "Price", "discriminator": { "propertyName": "type" } }, "SubscriptionItem": { "allOf": [ { "$ref": "#/components/schemas/ExternalResource" }, { "type": "object", "required": [ "source" ], "properties": { "type": { "title": "Type", "default": "SubscriptionItem", "type": "string", "pattern": "^SubscriptionItem$", "readOnly": true } } } ], "title": "SubscriptionItem", "discriminator": { "propertyName": "type" } }, "CouponDuration": { "title": "CouponDuration", "description": "An enumeration.", "enum": [ "forever", "once", "repeating" ], "type": "string" }, "Coupon": { "allOf": [ { "$ref": "#/components/schemas/ExternalResource" }, { "type": "object", "required": [ "name", "valid", "duration" ], "properties": { "name": { "title": "Name", "type": "string" }, "valid": { "title": "Valid", "type": "boolean" }, "duration": { "$ref": "#/components/schemas/CouponDuration" }, "amount_off": { "title": "Amount Off", "type": "number", "format": "double" }, "percent_off": { "title": "Percent Off", "type": "number", "format": "double" }, "duration_in_months": { "title": "Duration In Months", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "Coupon", "type": "string", "pattern": "^Coupon$", "readOnly": true } } } ], "title": "Coupon", "discriminator": { "propertyName": "type" } }, "Discount": { "allOf": [ { "$ref": "#/components/schemas/ExternalResource" }, { "type": "object", "required": [ "start", "coupon" ], "properties": { "start": { "title": "Start", "type": "string", "format": "date-time" }, "coupon": { "$ref": "#/components/schemas/Coupon" }, "end": { "title": "End", "type": "string", "format": "date-time" }, "promotion_code": { "title": "Promotion Code", "type": "string" }, "type": { "title": "Type", "default": "Discount", "type": "string", "pattern": "^Discount$", "readOnly": true } } } ], "title": "Discount", "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" } }, "UserPublic": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "username": { "title": "Username", "description": "The lowercase account name for this user", "example": "ladybugbot", "type": "string" }, "name": { "title": "Name", "description": "The display name for this user", "example": "Ladybug Bot", "type": "string" }, "description": { "title": "Description", "description": "A short description of the user", "example": "Beep Boop!", "type": "string" }, "picture": { "title": "Picture", "description": "URL to the picture associated with this user", "example": "https://avatars1.githubusercontent.com/u/38131342", "type": "string" }, "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": "UserPublic", "type": "string", "pattern": "^UserPublic$", "readOnly": true } }, "required": [ "username" ] } ], "title": "UserPublic", "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" } }, "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" } }, "Maintainer": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "value" ], "properties": { "name": { "title": "Name", "description": "The name of the author/maintainer person or organization.", "type": "string" }, "type": { "title": "Type", "default": "Maintainer", "pattern": "^Maintainer$", "type": "string", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "email": { "title": "Email", "description": "The email address of the author/maintainer person or organization.", "type": "string" } }, "required": [ "name" ] } ], "title": "Maintainer", "description": "Maintainer information", "discriminator": { "propertyName": "type" } }, "License": { "allOf": [ { "$ref": "#/components/schemas/FunctionStringOutput" }, { "type": "object", "required": [ "value" ], "properties": { "name": { "title": "Name", "description": "The license name used for the package.", "type": "string" }, "type": { "title": "Type", "default": "License", "pattern": "^License$", "type": "string", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "url": { "title": "Url", "description": "A URL to the license used for the package.", "minLength": 1, "maxLength": 65536, "format": "uri", "type": "string" } }, "required": [ "name" ] } ], "title": "License", "description": "License information for the Package", "discriminator": { "propertyName": "type" } }, "MetaData": { "allOf": [ { "$ref": "#/components/schemas/FunctionIntegerOutput" }, { "type": "object", "required": [ "value" ], "properties": { "name": { "title": "Name", "description": "Package name. Make it descriptive and helpful ;)", "type": "string" }, "tag": { "title": "Tag", "description": "The tag of the package", "type": "string" }, "type": { "title": "Type", "default": "MetaData", "pattern": "^MetaData$", "type": "string", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "app_version": { "title": "App Version", "description": "The version of the application code underlying the manifest", "type": "string" }, "keywords": { "title": "Keywords", "description": "A list of keywords to search the package by", "type": "array", "items": { "type": "string" } }, "maintainers": { "title": "Maintainers", "description": "A list of maintainers for the package", "type": "array", "items": { "$ref": "#/components/schemas/Maintainer" } }, "home": { "title": "Home", "description": "The URL of this package's home page", "type": "string" }, "sources": { "title": "Sources", "description": "A list of URLs to source code for this project", "type": "array", "items": { "type": "string" } }, "icon": { "title": "Icon", "description": "A URL to an SVG or PNG image to be used as an icon", "type": "string" }, "deprecated": { "title": "Deprecated", "description": "Whether this package is deprecated", "type": "boolean" }, "description": { "title": "Description", "description": "A description of what this package does", "type": "string" }, "license": { "title": "License", "description": "The license information.", "allOf": [ { "$ref": "#/components/schemas/License" } ] } }, "required": [ "name", "tag" ] } ], "title": "MetaData", "description": "Package metadata information.", "discriminator": { "propertyName": "type" } }, "DAGIntegerOutput": { "allOf": [ { "$ref": "#/components/schemas/GenericOutput" }, { "type": "object", "required": [ "from" ], "properties": { "from": { "title": "From", "description": "Reference to a file or a task output. Task output must be file.", "anyOf": [ { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/FileReference" } ] }, "alias": { "title": "Alias", "description": "A list of additional processes for loading this output on different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericOutputAlias" }, { "$ref": "#/components/schemas/DAGStringOutputAlias" }, { "$ref": "#/components/schemas/DAGIntegerOutputAlias" }, { "$ref": "#/components/schemas/DAGNumberOutputAlias" }, { "$ref": "#/components/schemas/DAGBooleanOutputAlias" }, { "$ref": "#/components/schemas/DAGFolderOutputAlias" }, { "$ref": "#/components/schemas/DAGFileOutputAlias" }, { "$ref": "#/components/schemas/DAGPathOutputAlias" }, { "$ref": "#/components/schemas/DAGArrayOutputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectOutputAlias" }, { "$ref": "#/components/schemas/DAGLinkedOutputAlias" } ] } }, "required": { "title": "Required", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true, "type": "boolean" }, "type": { "title": "Type", "default": "DAGIntegerOutput", "pattern": "^DAGIntegerOutput$", "type": "string", "readOnly": true } } } ], "title": "DAGIntegerOutput", "description": "DAG integer output.\n\nThis output loads the content from a file as an integer.", "discriminator": { "propertyName": "type" } }, "DailyUsage": { "allOf": [ { "$ref": "#/components/schemas/FunctionBooleanOutput" }, { "type": "object", "required": [ "value" ], "properties": { "date": { "title": "Date", "description": "The day this usage was aggregated for", "type": "string", "format": "date-time" }, "cpu": { "title": "Cpu", "description": "cpu usage", "default": 0, "type": "number", "format": "double" }, "memory": { "title": "Memory", "description": "memory usage", "default": 0, "type": "number", "format": "double" }, "succeeded": { "title": "Succeeded", "description": "succeeded usage", "default": 0, "type": "integer", "format": "int32" }, "failed": { "title": "Failed", "description": "failed usage", "default": 0, "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "DailyUsage", "type": "string", "pattern": "^DailyUsage$", "readOnly": true } }, "required": [ "date" ] } ], "title": "DailyUsage", "discriminator": { "propertyName": "type" } }, "DAGFileInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "source" ], "properties": { "default": { "title": "Default", "description": "The default source for file if the value is not provided.", "anyOf": [ { "$ref": "#/components/schemas/HTTP" }, { "$ref": "#/components/schemas/S3" }, { "$ref": "#/components/schemas/ProjectFolder" } ] }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "extensions": { "title": "Extensions", "description": "Optional list of extensions for file. The check for extension is case-insensitive.", "type": "array", "items": { "type": "string" } }, "type": { "title": "Type", "default": "DAGFileInput", "pattern": "^DAGFileInput$", "type": "string", "readOnly": true } } } ], "title": "DAGFileInput", "description": "A file input.\n\nFile is a special string input. Unlike other string inputs, a file will be copied\nfrom its location to execution folder when a workflow is executed.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/string.html#string for\nmore information.\n\n.. code-block:: python\n\n # a file with maximum 50 characters with an ``epw`` extension.\n\n \"schema\": {\n \"type\": \"string\",\n \"maxLength\": 50,\n \"pattern\": \"(?i)(^.*\\.epw$)\"\n }", "discriminator": { "propertyName": "type" } }, "DAGGenericInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "properties": { "default": { "title": "Default", "description": "Default value for generic input.", "type": "string" }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "DAGGenericInput", "pattern": "^DAGGenericInput$", "type": "string", "readOnly": true } } } ], "title": "DAGGenericInput", "description": "Base class for DAG inputs.\n\nThis class adds a handler to input to handle the process of loading the input\nfrom different graphical interfaces.", "discriminator": { "propertyName": "type" } }, "DAGStringInput": { "allOf": [ { "$ref": "#/components/schemas/DAGGenericInput" }, { "type": "object", "required": [ "source" ], "properties": { "source": { "title": "Source", "description": "The path to source the file from.", "anyOf": [ { "$ref": "#/components/schemas/HTTP" }, { "$ref": "#/components/schemas/S3" }, { "$ref": "#/components/schemas/ProjectFolder" } ] }, "type": { "title": "Type", "default": "DAGStringInput", "pattern": "^DAGStringInput$", "type": "string", "readOnly": true } } } ], "title": "DAGStringInput", "description": "A String input.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/string.html#string for\nmore information.\n\n.. code-block:: python\n\n \"schema\": {\n \"type\": \"string\",\n \"maxLength\": 50,\n \"pattern\": \"(?i)(^.*\\.epw$)\"\n }", "discriminator": { "propertyName": "type" } }, "DAGIntegerInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "value" ], "properties": { "default": { "title": "Default", "description": "Default value to use for an input if a value was not supplied.", "type": "integer", "format": "int32" }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "DAGIntegerInput", "pattern": "^DAGIntegerInput$", "type": "string", "readOnly": true } } } ], "title": "DAGIntegerInput", "description": "An integer input.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/numeric.html#numeric\nfor more information.", "discriminator": { "propertyName": "type" } }, "DAGNumberInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "properties": { "default": { "title": "Default", "description": "Default value to use for an input if a value was not supplied.", "type": "number", "format": "double" }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "DAGNumberInput", "pattern": "^DAGNumberInput$", "type": "string", "readOnly": true } } } ], "title": "DAGNumberInput", "description": "A number input.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/numeric.html#numeric\nfor more information.", "discriminator": { "propertyName": "type" } }, "DAGFolderInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "properties": { "default": { "title": "Default", "description": "The default source for file if the value is not provided.", "anyOf": [ { "$ref": "#/components/schemas/HTTP" }, { "$ref": "#/components/schemas/S3" }, { "$ref": "#/components/schemas/ProjectFolder" } ] }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "DAGFolderInput", "pattern": "^DAGFolderInput$", "type": "string", "readOnly": true } } } ], "title": "DAGFolderInput", "description": "A folder input.\n\nFolder is a special string input. Unlike other string inputs, a folder will be copied\nfrom its location to execution folder when a workflow is executed.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/string.html#string for\nmore information.\n\n.. code-block:: python\n\n \"schema\": {\n \"type\": \"string\",\n \"maxLength\": 50,\n }", "discriminator": { "propertyName": "type" } }, "DAGPathInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "properties": { "default": { "title": "Default", "description": "The default source for file if the value is not provided.", "anyOf": [ { "$ref": "#/components/schemas/HTTP" }, { "$ref": "#/components/schemas/S3" }, { "$ref": "#/components/schemas/ProjectFolder" } ] }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "extensions": { "title": "Extensions", "description": "Optional list of extensions for path. The check for extension is case-insensitive. The extension will only be validated for file inputs.", "type": "array", "items": { "type": "string" } }, "type": { "title": "Type", "default": "DAGPathInput", "pattern": "^DAGPathInput$", "type": "string", "readOnly": true } } } ], "title": "DAGPathInput", "description": "A file or a folder input.\n\nUse this input only in cases that the input can be either a file or folder. For file\nor folder-only inputs see File and Folder.\n\nPath is a special string input. Unlike other string inputs, a path will be copied\nfrom its location to execution folder when a workflow is executed.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/string.html#string for\nmore information.\n\n.. code-block:: python\n\n # a file with maximum 50 characters with an ``epw`` extension.\n\n \"schema\": {\n \"type\": \"string\",\n \"maxLength\": 50,\n \"pattern\": \"(?i)(^.*\\.epw$)\"\n }", "discriminator": { "propertyName": "type" } }, "DAGArrayInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "properties": { "default": { "title": "Default", "description": "Default value to use for an input if a value was not supplied.", "type": "array", "items": {} }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "items_type": { "description": "Type of items in an array. All the items in an array must be from the same type.", "default": "String", "allOf": [ { "$ref": "#/components/schemas/ItemType" } ] }, "type": { "title": "Type", "default": "DAGArrayInput", "pattern": "^DAGArrayInput$", "type": "string", "readOnly": true } } } ], "title": "DAGArrayInput", "description": "A JSON array input.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/array.html for\nmore information.", "discriminator": { "propertyName": "type" } }, "DAGJSONObjectInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "properties": { "default": { "title": "Default", "description": "Default value to use for an input if a value was not supplied.", "type": "object" }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "DAGJSONObjectInput", "pattern": "^DAGJSONObjectInput$", "type": "string", "readOnly": true } } } ], "title": "DAGJSONObjectInput", "description": "A JSON object input.\n\nJSON objects are similar to Python dictionaries.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/object.html for\nmore information.", "discriminator": { "propertyName": "type" } }, "DAGGenericOutput": { "allOf": [ { "$ref": "#/components/schemas/FromOutput" }, { "type": "object", "properties": { "alias": { "title": "Alias", "description": "A list of additional processes for loading this output on different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericOutputAlias" }, { "$ref": "#/components/schemas/DAGStringOutputAlias" }, { "$ref": "#/components/schemas/DAGIntegerOutputAlias" }, { "$ref": "#/components/schemas/DAGNumberOutputAlias" }, { "$ref": "#/components/schemas/DAGBooleanOutputAlias" }, { "$ref": "#/components/schemas/DAGFolderOutputAlias" }, { "$ref": "#/components/schemas/DAGFileOutputAlias" }, { "$ref": "#/components/schemas/DAGPathOutputAlias" }, { "$ref": "#/components/schemas/DAGArrayOutputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectOutputAlias" }, { "$ref": "#/components/schemas/DAGLinkedOutputAlias" } ] } }, "type": { "title": "Type", "default": "DAGGenericOutput", "pattern": "^DAGGenericOutput$", "type": "string", "pattern": "^Project$", "readOnly": true } } } ], "title": "DAGGenericOutput", "description": "DAG generic output.\n\nIn most cases, you should not be using the generic output unless you need a dynamic\noutput that changes its type in different platforms because of returning different\nobjects in handler.", "discriminator": { "propertyName": "type" } }, "DAGStringOutput": { "allOf": [ { "$ref": "#/components/schemas/GenericOutput" }, { "type": "object", "required": [ "from" ], "properties": { "from": { "title": "From", "description": "Reference to a file or a task output. Task output must be file.", "anyOf": [ { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/FileReference" } ] }, "alias": { "title": "Alias", "description": "A list of additional processes for loading this output on different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericOutputAlias" }, { "$ref": "#/components/schemas/DAGStringOutputAlias" }, { "$ref": "#/components/schemas/DAGIntegerOutputAlias" }, { "$ref": "#/components/schemas/DAGNumberOutputAlias" }, { "$ref": "#/components/schemas/DAGBooleanOutputAlias" }, { "$ref": "#/components/schemas/DAGFolderOutputAlias" }, { "$ref": "#/components/schemas/DAGFileOutputAlias" }, { "$ref": "#/components/schemas/DAGPathOutputAlias" }, { "$ref": "#/components/schemas/DAGArrayOutputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectOutputAlias" }, { "$ref": "#/components/schemas/DAGLinkedOutputAlias" } ] } }, "required": { "title": "Required", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true, "type": "boolean" }, "type": { "title": "Type", "default": "DAGStringOutput", "pattern": "^DAGStringOutput$", "type": "string", "readOnly": true } } } ], "title": "DAGStringOutput", "description": "DAG string output.\n\nThis output loads the content from a file as a string.", "discriminator": { "propertyName": "type" } }, "DAGNumberOutput": { "allOf": [ { "$ref": "#/components/schemas/GenericOutput" }, { "type": "object", "required": [ "from" ], "properties": { "from": { "title": "From", "description": "Reference to a file or a task output. Task output must be file.", "anyOf": [ { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/FileReference" } ] }, "alias": { "title": "Alias", "description": "A list of additional processes for loading this output on different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericOutputAlias" }, { "$ref": "#/components/schemas/DAGStringOutputAlias" }, { "$ref": "#/components/schemas/DAGIntegerOutputAlias" }, { "$ref": "#/components/schemas/DAGNumberOutputAlias" }, { "$ref": "#/components/schemas/DAGBooleanOutputAlias" }, { "$ref": "#/components/schemas/DAGFolderOutputAlias" }, { "$ref": "#/components/schemas/DAGFileOutputAlias" }, { "$ref": "#/components/schemas/DAGPathOutputAlias" }, { "$ref": "#/components/schemas/DAGArrayOutputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectOutputAlias" }, { "$ref": "#/components/schemas/DAGLinkedOutputAlias" } ] } }, "required": { "title": "Required", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true, "type": "boolean" }, "type": { "title": "Type", "default": "DAGNumberOutput", "pattern": "^DAGNumberOutput$", "type": "string", "readOnly": true } } } ], "title": "DAGNumberOutput", "description": "DAG number output.\n\nThis output loads the content from a file as a floating number.", "discriminator": { "propertyName": "type" } }, "DAGBooleanOutput": { "allOf": [ { "$ref": "#/components/schemas/GenericOutput" }, { "type": "object", "required": [ "from" ], "properties": { "from": { "title": "From", "description": "Reference to a file or a task output. Task output must be file.", "anyOf": [ { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/FileReference" } ] }, "alias": { "title": "Alias", "description": "A list of additional processes for loading this output on different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericOutputAlias" }, { "$ref": "#/components/schemas/DAGStringOutputAlias" }, { "$ref": "#/components/schemas/DAGIntegerOutputAlias" }, { "$ref": "#/components/schemas/DAGNumberOutputAlias" }, { "$ref": "#/components/schemas/DAGBooleanOutputAlias" }, { "$ref": "#/components/schemas/DAGFolderOutputAlias" }, { "$ref": "#/components/schemas/DAGFileOutputAlias" }, { "$ref": "#/components/schemas/DAGPathOutputAlias" }, { "$ref": "#/components/schemas/DAGArrayOutputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectOutputAlias" }, { "$ref": "#/components/schemas/DAGLinkedOutputAlias" } ] } }, "required": { "title": "Required", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true, "type": "boolean" }, "type": { "title": "Type", "default": "DAGBooleanOutput", "pattern": "^DAGBooleanOutput$", "type": "string", "readOnly": true } } } ], "title": "DAGBooleanOutput", "description": "DAG boolean output.\n\nThis output loads the content from a file as a boolean.", "discriminator": { "propertyName": "type" } }, "DAGFolderOutput": { "allOf": [ { "$ref": "#/components/schemas/GenericOutput" }, { "type": "object", "required": [ "from" ], "properties": { "from": { "title": "From", "description": "Reference to a folder or a task output. Task output must be folder.", "anyOf": [ { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/FolderReference" } ] }, "alias": { "title": "Alias", "description": "A list of additional processes for loading this output on different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericOutputAlias" }, { "$ref": "#/components/schemas/DAGStringOutputAlias" }, { "$ref": "#/components/schemas/DAGIntegerOutputAlias" }, { "$ref": "#/components/schemas/DAGNumberOutputAlias" }, { "$ref": "#/components/schemas/DAGBooleanOutputAlias" }, { "$ref": "#/components/schemas/DAGFolderOutputAlias" }, { "$ref": "#/components/schemas/DAGFileOutputAlias" }, { "$ref": "#/components/schemas/DAGPathOutputAlias" }, { "$ref": "#/components/schemas/DAGArrayOutputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectOutputAlias" }, { "$ref": "#/components/schemas/DAGLinkedOutputAlias" } ] } }, "required": { "title": "Required", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true, "type": "boolean" }, "type": { "title": "Type", "default": "DAGFolderOutput", "pattern": "^DAGFolderOutput$", "type": "string", "readOnly": true } } } ], "title": "DAGFolderOutput", "description": "DAG folder output.", "discriminator": { "propertyName": "type" } }, "DAGPathOutput": { "allOf": [ { "$ref": "#/components/schemas/GenericOutput" }, { "type": "object", "required": [ "from" ], "properties": { "from": { "title": "From", "description": "Reference to a file, folder or a task output. Task output must either be a file or a folder.", "anyOf": [ { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/FileReference" }, { "$ref": "#/components/schemas/FolderReference" } ] }, "alias": { "title": "Alias", "description": "A list of additional processes for loading this output on different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericOutputAlias" }, { "$ref": "#/components/schemas/DAGStringOutputAlias" }, { "$ref": "#/components/schemas/DAGIntegerOutputAlias" }, { "$ref": "#/components/schemas/DAGNumberOutputAlias" }, { "$ref": "#/components/schemas/DAGBooleanOutputAlias" }, { "$ref": "#/components/schemas/DAGFolderOutputAlias" }, { "$ref": "#/components/schemas/DAGFileOutputAlias" }, { "$ref": "#/components/schemas/DAGPathOutputAlias" }, { "$ref": "#/components/schemas/DAGArrayOutputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectOutputAlias" }, { "$ref": "#/components/schemas/DAGLinkedOutputAlias" } ] } }, "required": { "title": "Required", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true, "type": "boolean" }, "type": { "title": "Type", "default": "DAGPathOutput", "pattern": "^DAGPathOutput$", "type": "string", "readOnly": true } } } ], "title": "DAGPathOutput", "description": "DAG path output.", "discriminator": { "propertyName": "type" } }, "DAGArrayOutput": { "allOf": [ { "$ref": "#/components/schemas/GenericOutput" }, { "type": "object", "required": [ "from" ], "properties": { "from": { "title": "From", "description": "Reference to a file or a task output. Task output must be file.", "anyOf": [ { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/FileReference" } ] }, "alias": { "title": "Alias", "description": "A list of additional processes for loading this output on different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericOutputAlias" }, { "$ref": "#/components/schemas/DAGStringOutputAlias" }, { "$ref": "#/components/schemas/DAGIntegerOutputAlias" }, { "$ref": "#/components/schemas/DAGNumberOutputAlias" }, { "$ref": "#/components/schemas/DAGBooleanOutputAlias" }, { "$ref": "#/components/schemas/DAGFolderOutputAlias" }, { "$ref": "#/components/schemas/DAGFileOutputAlias" }, { "$ref": "#/components/schemas/DAGPathOutputAlias" }, { "$ref": "#/components/schemas/DAGArrayOutputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectOutputAlias" }, { "$ref": "#/components/schemas/DAGLinkedOutputAlias" } ] } }, "required": { "title": "Required", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true, "type": "boolean" }, "items_type": { "description": "Type of items in this array. All the items in an array must be from the same type.", "default": "String", "allOf": [ { "$ref": "#/components/schemas/ItemType" } ] }, "type": { "title": "Type", "default": "DAGArrayOutput", "pattern": "^DAGArrayOutput$", "type": "string", "readOnly": true } } } ], "title": "DAGArrayOutput", "description": "DAG array output.\n\nThis output loads the content from a JSON file which must be a JSON Array.", "discriminator": { "propertyName": "type" } }, "DAGJSONObjectOutput": { "allOf": [ { "$ref": "#/components/schemas/GenericOutput" }, { "type": "object", "required": [ "from" ], "properties": { "from": { "title": "From", "description": "Reference to a file or a task output. Task output must be file.", "anyOf": [ { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/FileReference" } ] }, "alias": { "title": "Alias", "description": "A list of additional processes for loading this output on different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericOutputAlias" }, { "$ref": "#/components/schemas/DAGStringOutputAlias" }, { "$ref": "#/components/schemas/DAGIntegerOutputAlias" }, { "$ref": "#/components/schemas/DAGNumberOutputAlias" }, { "$ref": "#/components/schemas/DAGBooleanOutputAlias" }, { "$ref": "#/components/schemas/DAGFolderOutputAlias" }, { "$ref": "#/components/schemas/DAGFileOutputAlias" }, { "$ref": "#/components/schemas/DAGPathOutputAlias" }, { "$ref": "#/components/schemas/DAGArrayOutputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectOutputAlias" }, { "$ref": "#/components/schemas/DAGLinkedOutputAlias" } ] } }, "required": { "title": "Required", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true, "type": "boolean" }, "type": { "title": "Type", "default": "DAGJSONObjectOutput", "pattern": "^DAGJSONObjectOutput$", "type": "string", "readOnly": true } } } ], "title": "DAGJSONObjectOutput", "description": "DAG object output.\n\nThis output loads the content from a file as a JSON object.", "discriminator": { "propertyName": "type" } }, "RecipeInterface": { "allOf": [ { "$ref": "#/components/schemas/_DAGArtifactOutputAlias" }, { "type": "object", "properties": { "metadata": { "title": "Metadata", "description": "Recipe metadata information.", "allOf": [ { "$ref": "#/components/schemas/MetaData" } ] }, "type": { "title": "Type", "default": "RecipeInterface", "pattern": "^RecipeInterface$", "type": "string", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "api_version": { "title": "Api Version", "default": "v1beta1", "readOnly": true, "pattern": "^v1beta1$", "type": "string" }, "source": { "title": "Source", "description": "A URL to the source this recipe from a registry.", "type": "string" }, "inputs": { "title": "Inputs", "description": "A list of recipe inputs.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInput" }, { "$ref": "#/components/schemas/DAGStringInput" }, { "$ref": "#/components/schemas/DAGIntegerInput" }, { "$ref": "#/components/schemas/DAGNumberInput" }, { "$ref": "#/components/schemas/DAGBooleanInput" }, { "$ref": "#/components/schemas/DAGFolderInput" }, { "$ref": "#/components/schemas/DAGFileInput" }, { "$ref": "#/components/schemas/DAGPathInput" }, { "$ref": "#/components/schemas/DAGArrayInput" }, { "$ref": "#/components/schemas/DAGJSONObjectInput" } ] } }, "outputs": { "title": "Outputs", "description": "A list of recipe outputs.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericOutput" }, { "$ref": "#/components/schemas/DAGStringOutput" }, { "$ref": "#/components/schemas/DAGIntegerOutput" }, { "$ref": "#/components/schemas/DAGNumberOutput" }, { "$ref": "#/components/schemas/DAGBooleanOutput" }, { "$ref": "#/components/schemas/DAGFolderOutput" }, { "$ref": "#/components/schemas/DAGFileOutput" }, { "$ref": "#/components/schemas/DAGPathOutput" }, { "$ref": "#/components/schemas/DAGArrayOutput" }, { "$ref": "#/components/schemas/DAGJSONObjectOutput" } ] } } }, "required": [ "metadata" ] } ], "title": "RecipeInterface", "description": "An interface object for creating a Recipe.\n\nRecipe information only includes metadata, source, inputs and outputs of a Recipe.\nThis object is useful for creating user interface for Recipes.", "discriminator": { "propertyName": "type" } }, "RecipePackage": { "allOf": [ { "$ref": "#/components/schemas/RepositoryPackage" }, { "type": "object", "required": [ "manifest" ], "properties": { "manifest": { "$ref": "#/components/schemas/RecipeInterface" }, "type": { "title": "Type", "default": "RecipePackage", "type": "string", "pattern": "^RecipePackage$", "readOnly": true } } } ], "title": "RecipePackage", "discriminator": { "propertyName": "type" } }, "PaymentCreate": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "description": { "title": "Description", "description": "The description of this payment method", "type": "string" }, "type": { "title": "Type", "default": "PaymentCreate", "type": "string", "pattern": "^PaymentCreate$", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "url": { "title": "Url", "description": "A URL to the license used for the package.", "minLength": 1, "maxLength": 65536, "format": "uri", "type": "string" } }, "required": [ "name" ] } ], "title": "PaymentCreate", "discriminator": { "propertyName": "type" } }, "ValueFolderReference": { "allOf": [ { "$ref": "#/components/schemas/ValueFileReference" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "ValueFolderReference", "pattern": "^ValueFolderReference$", "type": "string", "readOnly": true } }, "required": [ "name", "tag" ] } ], "title": "ValueFolderReference", "description": "A reference to a fixed folder.", "discriminator": { "propertyName": "type" } }, "Team": { "allOf": [ { "$ref": "#/components/schemas/TeamUpdate" }, { "type": "object", "required": [ "id", "slug" ], "properties": { "id": { "title": "Id", "description": "The team ID", "example": "142ee933-6110-4186-92ab-92df359aa108", "type": "string" }, "slug": { "title": "Slug", "description": "The public slug of the team", "example": "ladybug-tools/honeybee-contributors", "type": "string" }, "member_count": { "title": "Member Count", "description": "The number of members that are part of this team", "default": 0, "example": 5, "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "Team", "type": "string", "pattern": "^Team$", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "registry": { "title": "Registry", "description": "The container registry URLs that this container should be pulled from. Will default to Dockerhub if none is specified.", "type": "string" } }, "required": [ "image", "workdir" ] } ], "title": "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" } }, "ResourcesDuration": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "cpu": { "title": "Cpu", "default": 0, "type": "integer", "format": "int32" }, "memory": { "title": "Memory", "default": 0, "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "ResourcesDuration", "type": "string", "pattern": "^ResourcesDuration$", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } } } } ], "title": "ResourcesDuration", "discriminator": { "propertyName": "type" } }, "RunProgress": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "completed": { "title": "Completed", "default": 0, "type": "integer", "format": "int32" }, "running": { "title": "Running", "default": 0, "type": "integer", "format": "int32" }, "total": { "title": "Total", "default": 0, "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "RunProgress", "type": "string", "pattern": "^RunProgress$", "readOnly": true } } } ], "title": "RunProgress", "discriminator": { "propertyName": "type" } }, "RunMeta": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "resources_duration": { "title": "Resources Duration", "description": "resource usage", "default": { "cpu": 0, "memory": 0 }, "allOf": [ { "$ref": "#/components/schemas/ResourcesDuration" } ] }, "progress": { "title": "Progress", "description": "progress of the run", "default": { "completed": 0, "running": 0, "total": 0 }, "allOf": [ { "$ref": "#/components/schemas/RunProgress" } ] }, "type": { "title": "Type", "default": "RunMeta", "type": "string", "pattern": "^RunMeta$", "readOnly": true } } } ], "title": "RunMeta", "discriminator": { "propertyName": "type" } }, "InputFolderReference": { "allOf": [ { "$ref": "#/components/schemas/_InputReferenceBase" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "InputFolderReference", "pattern": "^InputFolderReference$", "type": "string", "readOnly": true } } } ], "title": "InputFolderReference", "description": "An input folder reference", "discriminator": { "propertyName": "type" } }, "Location": { "allOf": [ { "$ref": "#/components/schemas/CryptlexBase" }, { "type": "object", "properties": { "ip_address": { "title": "Ip Address", "type": "string" }, "country_code": { "title": "Country Code", "type": "string" }, "country_name": { "title": "Country Name", "type": "string" }, "city": { "title": "City", "type": "string" }, "latitude": { "title": "Latitude", "type": "number", "format": "double" }, "longitude": { "title": "Longitude", "type": "number", "format": "double" }, "type": { "title": "Type", "default": "Location", "type": "string", "pattern": "^Location$", "readOnly": true } } } ], "title": "Location", "discriminator": { "propertyName": "type" } }, "APIToken": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "token_id": { "title": "Token Id", "description": "The unique ID of this API token", "type": "string" }, "name": { "title": "Name", "description": "The user friendly name of the API token", "type": "string" }, "claims": { "title": "Claims", "description": "Key value pairs of auth claims the API token is entitled to", "default": {}, "type": "object", "additionalProperties": { "type": "string" } }, "local": { "title": "Local", "description": "The configuration to use this plugin locally", "allOf": [ { "$ref": "#/components/schemas/LocalConfig" } ] } }, "required": [ "docker" ] } ], "title": "PluginConfig", "description": "Plugin configuration.\n\nThe config is used to schedule functions on a desktop or in other contexts\n(ie: Docker).", "discriminator": { "propertyName": "type" } }, "FunctionStringInput": { "allOf": [ { "$ref": "#/components/schemas/DAGStringInput" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "APIToken", "type": "string", "pattern": "^APIToken$", "readOnly": true } }, "required": [ "token_id", "name" ] } ], "title": "APIToken", "discriminator": { "propertyName": "type" } }, "FunctionStringInput": { "allOf": [ { "$ref": "#/components/schemas/DAGStringInput" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "FunctionStringInput", "pattern": "^FunctionStringInput$", "type": "string", "readOnly": true } } } ], "title": "FunctionStringInput", "description": "A String input.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/string.html#string for\nmore information.\n\n.. code-block:: python\n\n \"schema\": {\n \"type\": \"string\",\n \"maxLength\": 50,\n \"pattern\": \"(?i)(^.*\\.epw$)\"\n }", "discriminator": { "propertyName": "type" } }, "FunctionNumberInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "properties": { "default": { "title": "Default", "description": "Default value to use for an input if a value was not supplied.", "type": "number", "format": "double" }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "FunctionNumberInput", "pattern": "^FunctionNumberInput$", "type": "string", "readOnly": true } } } ], "title": "FunctionNumberInput", "description": "A number input.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/numeric.html#numeric\nfor more information.", "discriminator": { "propertyName": "type" } }, "FunctionBooleanInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "properties": { "default": { "title": "Default", "description": "Default value to use for an input if a value was not supplied.", "type": "boolean" }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "FunctionBooleanInput", "pattern": "^FunctionBooleanInput$", "type": "string", "readOnly": true } } } ], "title": "FunctionBooleanInput", "description": "The boolean type matches only two special values: True and False.\n\nNote that values that evaluate to true or false, such as 1 and 0, are not accepted.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/boolean.html for more\ninformation.", "discriminator": { "propertyName": "type" } }, "FunctionFolderInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "path" ], "properties": { "path": { "title": "Path", "description": "Path to the target location that the input will be copied to. This path is relative to the working directory where the command is executed.", "type": "string" }, "default": { "title": "Default", "description": "The default source for file if the value is not provided.", "anyOf": [ { "$ref": "#/components/schemas/HTTP" }, { "$ref": "#/components/schemas/S3" }, { "$ref": "#/components/schemas/ProjectFolder" } ] }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "FunctionFolderInput", "pattern": "^FunctionFolderInput$", "type": "string", "readOnly": true } } } ], "title": "FunctionFolderInput", "description": "A folder input.\n\nFolder is a special string input. Unlike other string inputs, a folder will be copied\nfrom its location to execution folder when a workflow is executed.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/string.html#string for\nmore information.\n\n.. code-block:: python\n\n \"schema\": {\n \"type\": \"string\",\n \"maxLength\": 50,\n }", "discriminator": { "propertyName": "type" } }, "FunctionFileInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "path" ], "properties": { "path": { "title": "Path", "description": "Path to the target location that the input will be copied to. This path is relative to the working directory where the command is executed.", "type": "string" }, "default": { "title": "Default", "description": "The default source for file if the value is not provided.", "anyOf": [ { "$ref": "#/components/schemas/HTTP" }, { "$ref": "#/components/schemas/S3" }, { "$ref": "#/components/schemas/ProjectFolder" } ] }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "extensions": { "title": "Extensions", "description": "Optional list of extensions for file. The check for extension is case-insensitive.", "type": "array", "items": { "type": "string" } }, "type": { "title": "Type", "default": "FunctionFileInput", "pattern": "^FunctionFileInput$", "type": "string", "readOnly": true } } } ], "title": "FunctionFileInput", "description": "A file input.\n\nFile is a special string input. Unlike other string inputs, a file will be copied\nfrom its location to execution folder when a workflow is executed.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/string.html#string for\nmore information.\n\n.. code-block:: python\n\n # a file with maximum 50 characters with an ``epw`` extension.\n\n \"schema\": {\n \"type\": \"string\",\n \"maxLength\": 50,\n \"pattern\": \"(?i)(^.*\\.epw$)\"\n }", "discriminator": { "propertyName": "type" } }, "FunctionPathInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "path" ], "properties": { "path": { "title": "Path", "description": "Path to the target location that the input will be copied to. This path is relative to the working directory where the command is executed.", "type": "string" }, "default": { "title": "Default", "description": "The default source for file if the value is not provided.", "anyOf": [ { "$ref": "#/components/schemas/HTTP" }, { "$ref": "#/components/schemas/S3" }, { "$ref": "#/components/schemas/ProjectFolder" } ] }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "extensions": { "title": "Extensions", "description": "Optional list of extensions for file. The check for extension is case-insensitive.", "type": "array", "items": { "type": "string" } }, "type": { "title": "Type", "default": "FunctionPathInput", "pattern": "^FunctionPathInput$", "type": "string", "readOnly": true } } } ], "title": "FunctionPathInput", "description": "A file or a folder input.\n\nUse this input only in cases that the input can be either a file or folder. For file\nor folder-only inputs see File and Folder.\n\nPath is a special string input. Unlike other string inputs, a path will be copied\nfrom its location to execution folder when a workflow is executed.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/string.html#string for\nmore information.\n\n.. code-block:: python\n\n # a file with maximum 50 characters with an ``epw`` extension.\n\n \"schema\": {\n \"type\": \"string\",\n \"maxLength\": 50,\n \"pattern\": \"(?i)(^.*\\.epw$)\"\n }", "discriminator": { "propertyName": "type" } }, "FunctionArrayInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "properties": { "default": { "title": "Default", "description": "Default value to use for an input if a value was not supplied.", "type": "array", "items": {} }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "items_type": { "description": "Type of items in an array. All the items in an array must be from the same type.", "default": "String", "allOf": [ { "$ref": "#/components/schemas/ItemType" } ] }, "type": { "title": "Type", "default": "FunctionArrayInput", "pattern": "^FunctionArrayInput$", "type": "string", "readOnly": true } } } ], "title": "FunctionArrayInput", "description": "A JSON array input.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/array.html for\nmore information.", "discriminator": { "propertyName": "type" } }, "FunctionJSONObjectInput": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "properties": { "default": { "title": "Default", "description": "Default value to use for an input if a value was not supplied.", "type": "object" }, "alias": { "title": "Alias", "description": "A list of aliases for this input in different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInputAlias" }, { "$ref": "#/components/schemas/DAGStringInputAlias" }, { "$ref": "#/components/schemas/DAGIntegerInputAlias" }, { "$ref": "#/components/schemas/DAGNumberInputAlias" }, { "$ref": "#/components/schemas/DAGBooleanInputAlias" }, { "$ref": "#/components/schemas/DAGFolderInputAlias" }, { "$ref": "#/components/schemas/DAGFileInputAlias" }, { "$ref": "#/components/schemas/DAGPathInputAlias" }, { "$ref": "#/components/schemas/DAGArrayInputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectInputAlias" }, { "$ref": "#/components/schemas/DAGLinkedInputAlias" } ] } }, "required": { "title": "Required", "description": "A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.", "default": false, "type": "boolean" }, "spec": { "title": "Spec", "description": "An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.", "type": "object" }, "type": { "title": "Type", "default": "FunctionJSONObjectInput", "pattern": "^FunctionJSONObjectInput$", "type": "string", "readOnly": true } } } ], "title": "FunctionJSONObjectInput", "description": "A JSON object input.\n\nJSON objects are similar to Python dictionaries.\n\nYou can add additional validation by defining a JSONSchema specification.\n\nSee http://json-schema.org/understanding-json-schema/reference/object.html for\nmore information.", "discriminator": { "propertyName": "type" } }, "FunctionStringOutput": { "allOf": [ { "$ref": "#/components/schemas/FunctionFileOutput" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "FunctionStringOutput", "pattern": "^FunctionStringOutput$", "type": "string", "readOnly": true } } } ], "title": "FunctionStringOutput", "description": "Function string output.\n\nThis output loads the content from a file as a string.", "discriminator": { "propertyName": "type" } }, "FunctionIntegerOutput": { "allOf": [ { "$ref": "#/components/schemas/FunctionStringOutput" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "FunctionIntegerOutput", "pattern": "^FunctionIntegerOutput$", "type": "string", "readOnly": true } } } ], "title": "FunctionIntegerOutput", "description": "Function integer output.\n\nThis output loads the content from a file as an integer.", "discriminator": { "propertyName": "type" } }, "FunctionNumberOutput": { "allOf": [ { "$ref": "#/components/schemas/FunctionStringOutput" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "FunctionNumberOutput", "pattern": "^FunctionNumberOutput$", "type": "string", "readOnly": true } } } ], "title": "FunctionNumberOutput", "description": "Function number output.\n\nThis output loads the content from a file as a floating number.", "discriminator": { "propertyName": "type" } }, "FunctionBooleanOutput": { "allOf": [ { "$ref": "#/components/schemas/FunctionStringOutput" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "FunctionBooleanOutput", "pattern": "^FunctionBooleanOutput$", "type": "string", "readOnly": true } } } ], "title": "FunctionBooleanOutput", "description": "Function boolean output.\n\nThis output loads the content from a file as a boolean.", "discriminator": { "propertyName": "type" } }, "FunctionFileOutput": { "allOf": [ { "$ref": "#/components/schemas/PathOutput" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "FunctionFileOutput", "pattern": "^FunctionFileOutput$", "type": "string", "readOnly": true } } } ], "title": "FunctionFileOutput", "description": "Function File output.", "discriminator": { "propertyName": "type" } }, "FunctionPathOutput": { "allOf": [ { "$ref": "#/components/schemas/PathOutput" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "FunctionPathOutput", "pattern": "^FunctionPathOutput$", "type": "string", "readOnly": true } }, "required": [ "metadata", "config", "functions" ] } ], "title": "FunctionPathOutput", "description": "Function Path output.", "discriminator": { "propertyName": "type" } }, "FunctionArrayOutput": { "allOf": [ { "$ref": "#/components/schemas/FunctionStringOutput" }, { "type": "object", "properties": { "items_type": { "description": "Type of items in this array. All the items in an array must be from the same type.", "default": "String", "allOf": [ { "$ref": "#/components/schemas/ItemType" } ] }, "type": { "title": "Type", "default": "FunctionArrayOutput", "pattern": "^FunctionArrayOutput$", "type": "string", "readOnly": true } } } ], "title": "FunctionArrayOutput", "description": "Function array output.\n\nThis output loads the content from a JSON file which must be a JSON Array.", "discriminator": { "propertyName": "type" } }, "FunctionJSONObjectOutput": { "allOf": [ { "$ref": "#/components/schemas/FunctionStringOutput" }, { "type": "object", "properties": { "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": "FunctionJSONObjectOutput", "pattern": "^FunctionJSONObjectOutput$", "type": "string", "readOnly": true } }, "required": [ "name" ] } ], "title": "FunctionJSONObjectOutput", "description": "Function object output.\n\nThis output loads the content from a file as a JSON object.", "discriminator": { "propertyName": "type" } }, "Function": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "name", "command" ], "properties": { "name": { "title": "Name", "description": "Function name. Must be unique within a plugin.", "type": "string" }, "command": { "title": "Command", "description": "Full shell command for this function. Each function accepts only one command. The command will be executed as a shell command in plugin. For running several commands after each other use && between the commands or pipe data from one to another using |", "type": "string" }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "inputs": { "title": "Inputs", "description": "Input arguments for this function.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/FunctionStringInput" }, { "$ref": "#/components/schemas/FunctionIntegerInput" }, { "$ref": "#/components/schemas/FunctionNumberInput" }, { "$ref": "#/components/schemas/FunctionBooleanInput" }, { "$ref": "#/components/schemas/FunctionFolderInput" }, { "$ref": "#/components/schemas/FunctionFileInput" }, { "$ref": "#/components/schemas/FunctionPathInput" }, { "$ref": "#/components/schemas/FunctionArrayInput" }, { "$ref": "#/components/schemas/FunctionJSONObjectInput" } ] } }, "outputs": { "title": "Outputs", "description": "List of output arguments.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/FunctionStringOutput" }, { "$ref": "#/components/schemas/FunctionIntegerOutput" }, { "$ref": "#/components/schemas/FunctionNumberOutput" }, { "$ref": "#/components/schemas/FunctionBooleanOutput" }, { "$ref": "#/components/schemas/FunctionFolderOutput" }, { "$ref": "#/components/schemas/FunctionFileOutput" }, { "$ref": "#/components/schemas/FunctionPathOutput" }, { "$ref": "#/components/schemas/FunctionArrayOutput" }, { "$ref": "#/components/schemas/FunctionJSONObjectOutput" } ] } }, "description": { "title": "Description", "description": "Function description. A short human readable description for this function.", "type": "string" }, "type": { "title": "Type", "default": "Function", "pattern": "^Function$", "type": "string", "readOnly": true } } } ], "title": "Function", "description": "A Function with a single command", "discriminator": { "propertyName": "type" } }, "Plugin": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "subject", "permission" ], "properties": { "metadata": { "title": "Metadata", "description": "The Plugin metadata information", "allOf": [ { "$ref": "#/components/schemas/MetaData" } ] }, "config": { "title": "Config", "description": "The configuration information to run this plugin", "allOf": [ { "$ref": "#/components/schemas/PluginConfig" } ] }, "functions": { "title": "Functions", "description": "List of Plugin functions", "type": "array", "items": { "$ref": "#/components/schemas/Function" } }, "type": { "title": "Type", "default": "Plugin", "pattern": "^Plugin", "type": "string", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "api_version": { "title": "Api Version", "default": "v1beta1", "readOnly": true, "pattern": "^v1beta1$", "type": "string" } }, "required": [ "metadata", "config", "functions" ] } ], "title": "Plugin", "description": "A Queenbee Plugin.\n\nA plugin contains runtime configuration for a Command Line Interface (CLI) and\na list of functions that can be executed using this CLI tool.", "discriminator": { "propertyName": "type" } }, "NewPluginPackage": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "manifest": { "title": "Manifest", "description": "The Plugin manifest to be created", "allOf": [ { "$ref": "#/components/schemas/Plugin" } ] }, "readme": { "title": "Readme", "description": "The README file to attach to this package", "default": "", "type": "string" }, "type": { "title": "Type", "default": "NewPluginPackage", "type": "string", "pattern": "^NewPluginPackage$", "readOnly": true } }, "required": [ "manifest" ] } ], "title": "NewPluginPackage", "discriminator": { "propertyName": "type" } }, "NewSubscriptionItem": { "allOf": [ { "$ref": "#/components/schemas/GenericOutput" }, { "type": "object", "required": [ "from" ], "properties": { "price": { "$ref": "#/components/schemas/Price" }, "quantity": { "title": "Quantity", "type": "integer", "format": "int32" }, "alias": { "title": "Alias", "description": "A list of additional processes for loading this output on different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericOutputAlias" }, { "$ref": "#/components/schemas/DAGStringOutputAlias" }, { "$ref": "#/components/schemas/DAGIntegerOutputAlias" }, { "$ref": "#/components/schemas/DAGNumberOutputAlias" }, { "$ref": "#/components/schemas/DAGBooleanOutputAlias" }, { "$ref": "#/components/schemas/DAGFolderOutputAlias" }, { "$ref": "#/components/schemas/DAGFileOutputAlias" }, { "$ref": "#/components/schemas/DAGPathOutputAlias" }, { "$ref": "#/components/schemas/DAGArrayOutputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectOutputAlias" }, { "$ref": "#/components/schemas/DAGLinkedOutputAlias" } ] } }, "required": { "title": "Required", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true, "type": "boolean" }, "type": { "title": "Type", "default": "NewSubscriptionItem", "type": "string", "pattern": "^NewSubscriptionItem$", "readOnly": true } }, "required": [ "price", "quantity" ] } ], "title": "NewSubscriptionItem", "discriminator": { "propertyName": "type" } }, "SubscriptionCreate": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "items": { "title": "Items", "description": "The list of recurring price items and the quantity of each to attach to the new subscription", "default": [], "type": "array", "items": { "$ref": "#/components/schemas/NewSubscriptionItem" } }, "type": { "title": "Type", "default": "SubscriptionCreate", "type": "string", "pattern": "^SubscriptionCreate$", "readOnly": true } } } ], "title": "SubscriptionCreate", "discriminator": { "propertyName": "type" } }, "APITokenList": { "allOf": [ { "$ref": "#/components/schemas/_TaskReferenceBase" }, { "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" }, "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" } }, "Period": { "allOf": [ { "$ref": "#/components/schemas/UserUpdate" }, { "type": "object", "properties": { "start": { "title": "Start", "type": "string", "format": "date-time" }, "end": { "title": "End", "type": "string", "format": "date-time" }, "type": { "title": "Type", "default": "Period", "type": "string", "pattern": "^Period$", "readOnly": true } }, "required": [ "start", "end" ] } ], "title": "Period", "discriminator": { "propertyName": "type" } }, "LineItem": { "allOf": [ { "$ref": "#/components/schemas/ExternalResource" }, { "type": "object", "required": [ "amount", "currency", "description", "period", "price", "proration", "quantity", "type" ], "properties": { "amount": { "title": "Amount", "type": "integer", "format": "int32" }, "currency": { "title": "Currency", "type": "string" }, "description": { "title": "Description", "type": "string" }, "period": { "$ref": "#/components/schemas/Period" }, "price": { "$ref": "#/components/schemas/Price" }, "proration": { "title": "Proration", "type": "boolean" }, "quantity": { "title": "Quantity", "type": "integer", "format": "int32" }, "type": { "title": "Type", "type": "string", "readOnly": true } } } ], "title": "LineItem", "discriminator": { "propertyName": "type" } }, "LineItemList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "has_more", "data" ], "properties": { "has_more": { "title": "Has More", "type": "boolean" }, "data": { "title": "Data", "type": "array", "items": { "$ref": "#/components/schemas/LineItem" } }, "type": { "title": "Type", "default": "LineItemList", "type": "string", "pattern": "^LineItemList$", "readOnly": true } } } ], "title": "LineItemList", "discriminator": { "propertyName": "type" } }, "CardPublic": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "last4": { "title": "Last4", "description": "The last four digits of the card", "type": "string" }, "exp_month": { "title": "Exp Month", "description": "The month the card expires", "type": "integer", "format": "int32" }, "exp_year": { "title": "Exp Year", "description": "The year the card expires", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "CardPublic", "type": "string", "pattern": "^CardPublic$", "readOnly": true } }, "required": [ "last4", "exp_month", "exp_year" ] } ], "title": "CardPublic", "discriminator": { "propertyName": "type" } }, "InvoiceStatus": { "title": "InvoiceStatus", "description": "An enumeration.", "enum": [ "draft", "open", "paid", "uncollectable", "void" ], "type": "string" }, "InvoiceStatusTransitions": { "allOf": [ { "$ref": "#/components/schemas/DAGGenericInput" }, { "type": "object", "properties": { "finalized_at": { "title": "Finalized At", "type": "string", "format": "date-time" }, "marked_uncollectible_at": { "title": "Marked Uncollectible At", "type": "string", "format": "date-time" }, "paid_at": { "title": "Paid At", "type": "string", "format": "date-time" }, "voided_at": { "title": "Voided At", "type": "string", "format": "date-time" }, "type": { "title": "Type", "default": "InvoiceStatusTransitions", "type": "string", "pattern": "^InvoiceStatusTransitions$", "readOnly": true } } } ], "title": "InvoiceStatusTransitions", "discriminator": { "propertyName": "type" } }, "DiscountAmount": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "properties": { "discount": { "title": "Discount", "type": "string" }, "amount": { "title": "Amount", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "DiscountAmount", "type": "string", "pattern": "^DiscountAmount$", "readOnly": true } }, "required": [ "discount", "amount" ] } ], "title": "DiscountAmount", "discriminator": { "propertyName": "type" } }, "InvoicePreview": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "required": [ "collection_method", "currency", "customer", "lines", "period_start", "period_end", "status", "status_transitions", "subtotal", "total" ], "properties": { "collection_method": { "title": "Collection Method", "type": "string" }, "currency": { "title": "Currency", "type": "string" }, "customer": { "title": "Customer", "type": "string" }, "lines": { "$ref": "#/components/schemas/LineItemList" }, "period_start": { "title": "Period Start", "type": "string", "format": "date-time" }, "period_end": { "title": "Period End", "type": "string", "format": "date-time" }, "status": { "$ref": "#/components/schemas/InvoiceStatus" }, "status_transitions": { "$ref": "#/components/schemas/InvoiceStatusTransitions" }, "subtotal": { "title": "Subtotal", "type": "integer", "format": "int32" }, "total": { "title": "Total", "type": "integer", "format": "int32" }, "auto_advance": { "title": "Auto Advance", "type": "boolean" }, "description": { "title": "Description", "type": "string" }, "hosted_invoice_url": { "title": "Hosted Invoice Url", "type": "string" }, "subscription": { "title": "Subscription", "type": "string" }, "discount": { "$ref": "#/components/schemas/Discount" }, "total_discount_amounts": { "title": "Total Discount Amounts", "default": [], "type": "array", "items": { "$ref": "#/components/schemas/DiscountAmount" } }, "payment_method": { "title": "Payment Method", "description": "The payment method that will be billed when this invoice is due.", "allOf": [ { "$ref": "#/components/schemas/CardPublic" } ] }, "type": { "title": "Type", "default": "InvoicePreview", "type": "string", "pattern": "^InvoicePreview$", "readOnly": true } } } ], "title": "InvoicePreview", "discriminator": { "propertyName": "type" } }, "Quota": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "properties": { "type": { "description": "The type of resource", "allOf": [ { "$ref": "#/components/schemas/QuotaType" } ], "readOnly": true }, "owner": { "title": "Owner", "description": "The quota owner", "allOf": [ { "$ref": "#/components/schemas/AccountPublic" } ] }, "id": { "title": "Id", "description": "The unique ID for this Quota", "type": "string", "format": "uuid" }, "period_start": { "title": "Period Start", "description": "The start of the quota usage tracking period", "type": "string", "format": "date-time" }, "limit": { "title": "Limit", "description": "The maximum amount of a resource the account can consume", "type": "number", "format": "double" }, "usage": { "title": "Usage", "description": "The current amount of a resource allocated to the account linked to the subscription", "minimum": 0, "type": "number", "format": "double" }, "resets": { "title": "Resets", "description": "Whether consumption is reset to 0 every billing period", "default": false, "type": "boolean" }, "enforced": { "title": "Enforced", "description": "Whether the limit triggers a blocking response from the server", "default": false, "type": "boolean" }, "exceeded": { "title": "Exceeded", "description": "Whether the resource usage is greater than or equal to the limit", "default": false, "type": "boolean" }, "display_name": { "title": "Display Name", "description": "The human-readable name", "type": "string" }, "description": { "title": "Description", "description": "The description", "type": "string" }, "unit": { "title": "Unit", "description": "The unit in which the usage and limit are measured", "type": "string" } }, "required": [ "type", "owner" ] } ], "title": "Quota", "discriminator": { "propertyName": "type" } }, "UpdateInvoicePreview": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "immediate": { "title": "Immediate", "description": "The invoice that will be finalized right after changes are applied", "allOf": [ { "$ref": "#/components/schemas/InvoicePreview" } ] }, "upcoming": { "title": "Upcoming", "description": "The invoice that will be finalized at the end of the current billing cycle", "allOf": [ { "$ref": "#/components/schemas/InvoicePreview" } ] }, "payment_method": { "title": "Payment Method", "description": "The payment method that will be billed when this invoice is due.", "allOf": [ { "$ref": "#/components/schemas/CardPublic" } ] }, "exceeded_quotas": { "title": "Exceeded Quotas", "description": "A list of quotas that would be exceeded by the update", "default": [], "type": "array", "items": { "$ref": "#/components/schemas/Quota" } }, "type": { "title": "Type", "default": "UpdateInvoicePreview", "type": "string", "pattern": "^UpdateInvoicePreview$", "readOnly": true } }, "required": [ "immediate", "upcoming" ] } ], "title": "UpdateInvoicePreview", "discriminator": { "propertyName": "type" } }, "ProjectRecipeFilter": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "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" } }, "DependencyKind": { "title": "DependencyKind", "description": "Dependency kind.", "enum": [ "recipe", "plugin" ], "type": "string" }, "Dependency": { "allOf": [ { "$ref": "#/components/schemas/GenericInput" }, { "type": "object", "properties": { "kind": { "description": "The kind of dependency. It can be a recipe or an plugin.", "allOf": [ { "$ref": "#/components/schemas/DependencyKind" } ] }, "name": { "title": "Name", "description": "Workflow name. This name should be unique among all the resources in your resource. Use an alias if this is not the case.", "type": "string" }, "tag": { "title": "Tag", "description": "Tag of the resource.", "type": "string" }, "source": { "title": "Source", "description": "URL to a repository where this resource can be found.", "type": "string" }, "type": { "title": "Type", "default": "Dependency", "pattern": "^Dependency$", "type": "string", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "hash": { "title": "Hash", "description": "The digest hash of the dependency when retrieved from its source. This is locked when the resource dependencies are downloaded.", "type": "string" }, "alias": { "title": "Alias", "description": "An optional alias to refer to this dependency. Useful if the name is already used somewhere else.", "type": "string" } }, "required": [ "kind", "name", "tag", "source" ] } ], "title": "Dependency", "description": "Configuration to fetch a Recipe or Plugin that another Recipe depends on.", "discriminator": { "propertyName": "type" } }, "InputReference": { "allOf": [ { "$ref": "#/components/schemas/_InputReferenceBase" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "InputReference", "pattern": "^InputReference$", "type": "string", "readOnly": true } } } ], "title": "InputReference", "description": "An input parameter reference which is not a file or a folder.\n\nFor a file or a folder use InputFileReference, InputFolderReference or\nInputPathReference instead.", "discriminator": { "propertyName": "type" } }, "ItemReference": { "allOf": [ { "$ref": "#/components/schemas/_BaseReference" }, { "type": "object", "properties": { "variable": { "title": "Variable", "description": "The name of the looped item variable (use dot notation for nested json values)", "type": "string" }, "type": { "title": "Type", "default": "ItemReference", "pattern": "^ItemReference$", "type": "string", "readOnly": true } } } ], "title": "ItemReference", "description": "An Item Reference.", "discriminator": { "propertyName": "type" } }, "ValueReference": { "allOf": [ { "$ref": "#/components/schemas/_BaseReference" }, { "type": "object", "required": [ "value" ], "properties": { "value": { "title": "Value", "description": "A fixed value for this reference." }, "alias": { "title": "Alias", "description": "A list of additional processes for loading this output on different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericOutputAlias" }, { "$ref": "#/components/schemas/DAGStringOutputAlias" }, { "$ref": "#/components/schemas/DAGIntegerOutputAlias" }, { "$ref": "#/components/schemas/DAGNumberOutputAlias" }, { "$ref": "#/components/schemas/DAGBooleanOutputAlias" }, { "$ref": "#/components/schemas/DAGFolderOutputAlias" }, { "$ref": "#/components/schemas/DAGFileOutputAlias" }, { "$ref": "#/components/schemas/DAGPathOutputAlias" }, { "$ref": "#/components/schemas/DAGArrayOutputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectOutputAlias" }, { "$ref": "#/components/schemas/DAGLinkedOutputAlias" } ] } }, "required": { "title": "Required", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true, "type": "boolean" }, "type": { "title": "Type", "default": "ValueReference", "pattern": "^ValueReference$", "type": "string", "readOnly": true } } } ], "title": "ValueReference", "description": "A reference to a fixed value.", "discriminator": { "propertyName": "type" } }, "TaskArgument": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "from" ], "properties": { "name": { "title": "Name", "description": "Argument name. The name must match one of the input names from Task's template which can be a function or DAG.", "type": "string" }, "from": { "title": "From", "description": "A reference to a DAG input, a DAG output or another task output. You can also use the ValueReference type to hard-code an input value.", "anyOf": [ { "$ref": "#/components/schemas/InputReference" }, { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/ItemReference" }, { "$ref": "#/components/schemas/ValueReference" } ] }, "type": { "title": "Type", "default": "TaskArgument", "pattern": "^TaskArgument$", "type": "string", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } } }, "required": [ "name", "from" ] } ], "title": "TaskArgument", "description": "Task argument for receiving inputs that are not files or folders.", "discriminator": { "propertyName": "type" } }, "InputFileReference": { "allOf": [ { "$ref": "#/components/schemas/_InputReferenceBase" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "InputFileReference", "pattern": "^InputFileReference$", "type": "string", "readOnly": true } } } ], "title": "InputFileReference", "description": "An input file reference", "discriminator": { "propertyName": "type" } }, "InputPathReference": { "allOf": [ { "$ref": "#/components/schemas/_InputReferenceBase" }, { "type": "object", "required": [ "from" ], "properties": { "from": { "title": "From", "description": "Reference to a file or a task output. Task output must be file.", "anyOf": [ { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/FileReference" } ] }, "alias": { "title": "Alias", "description": "A list of additional processes for loading this output on different platforms.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericOutputAlias" }, { "$ref": "#/components/schemas/DAGStringOutputAlias" }, { "$ref": "#/components/schemas/DAGIntegerOutputAlias" }, { "$ref": "#/components/schemas/DAGNumberOutputAlias" }, { "$ref": "#/components/schemas/DAGBooleanOutputAlias" }, { "$ref": "#/components/schemas/DAGFolderOutputAlias" }, { "$ref": "#/components/schemas/DAGFileOutputAlias" }, { "$ref": "#/components/schemas/DAGPathOutputAlias" }, { "$ref": "#/components/schemas/DAGArrayOutputAlias" }, { "$ref": "#/components/schemas/DAGJSONObjectOutputAlias" }, { "$ref": "#/components/schemas/DAGLinkedOutputAlias" } ] } }, "required": { "title": "Required", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true, "type": "boolean" }, "type": { "title": "Type", "default": "InputPathReference", "pattern": "^InputPathReference$", "type": "string", "readOnly": true } } } ], "title": "InputPathReference", "description": "An input file or folder reference", "discriminator": { "propertyName": "type" } }, "TaskFileReference": { "allOf": [ { "$ref": "#/components/schemas/_TaskReferenceBase" }, { "type": "object", "required": [ "from" ], "properties": { "type": { "title": "Type", "default": "TaskFileReference", "pattern": "^TaskFileReference$", "type": "string", "readOnly": true } } } ], "title": "TaskFileReference", "description": "A reference to a file that is generated in a task.", "discriminator": { "propertyName": "type" } }, "TaskFolderReference": { "allOf": [ { "$ref": "#/components/schemas/_TaskReferenceBase" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "TaskFolderReference", "pattern": "^TaskFolderReference$", "type": "string", "readOnly": true } } } ], "title": "TaskFolderReference", "description": "A reference to a folder that is generated in a task.", "discriminator": { "propertyName": "type" } }, "TaskPathReference": { "allOf": [ { "$ref": "#/components/schemas/_TaskReferenceBase" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "TaskPathReference", "pattern": "^TaskPathReference$", "type": "string", "readOnly": true } } } ], "title": "TaskPathReference", "description": "A reference to a file or folder that is generated in a task.", "discriminator": { "propertyName": "type" } }, "ValueFileReference": { "allOf": [ { "$ref": "#/components/schemas/_BaseReference" }, { "type": "object", "required": [ "path" ], "properties": { "path": { "title": "Path", "description": "A fixed value for this reference.", "type": "string" }, "type": { "title": "Type", "default": "ValueFileReference", "pattern": "^ValueFileReference$", "type": "string", "pattern": "^RecipePackageList$", "readOnly": true } } } ], "title": "ValueFileReference", "description": "A reference to a fixed file.", "discriminator": { "propertyName": "type" } }, "TaskPathArgument": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "name": { "title": "Name", "description": "Argument name. The name must match one of the input names from Task's template which can be a function or DAG.", "type": "string" }, "from": { "title": "From", "description": "A reference to a DAG input, a DAG output or another task output. You can also use the ValueReference type to hard-code an input value.", "anyOf": [ { "$ref": "#/components/schemas/InputFileReference" }, { "$ref": "#/components/schemas/InputFolderReference" }, { "$ref": "#/components/schemas/InputPathReference" }, { "$ref": "#/components/schemas/TaskFileReference" }, { "$ref": "#/components/schemas/TaskFolderReference" }, { "$ref": "#/components/schemas/TaskPathReference" }, { "$ref": "#/components/schemas/ValueFileReference" }, { "$ref": "#/components/schemas/ValueFolderReference" } ] }, "type": { "title": "Type", "default": "TaskPathArgument", "pattern": "^TaskPathArgument$", "type": "string", "pattern": "^RepositoryUserPermissions$", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "sub_path": { "title": "Sub Path", "description": "A sub_path inside the path that is provided in the ``from`` field. Use sub_path to only access part of the Path that is needed instead of copying all the files and folders inside the path.", "type": "string" } }, "required": [ "name", "from" ] } ], "title": "TaskPathArgument", "description": "BaseModel with functionality to return the object as a yaml string.", "discriminator": { "propertyName": "type" } }, "DAGTaskLoop": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "DAGTaskLoop", "pattern": "^DAGTaskLoop$", "type": "string", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "from": { "title": "From", "description": "The task or DAG parameter to loop over (must be iterable).", "anyOf": [ { "$ref": "#/components/schemas/InputReference" }, { "$ref": "#/components/schemas/TaskReference" }, { "$ref": "#/components/schemas/ValueListReference" } ] } } } ], "title": "DAGTaskLoop", "description": "Loop configuration for the task.\n\nThis will run the template provided multiple times and in parallel relative to an\ninput or task parameter which should be a list.", "discriminator": { "propertyName": "type" } }, "TaskReturn": { "allOf": [ { "$ref": "#/components/schemas/GenericOutput" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "TaskReturn", "pattern": "^TaskReturn$", "type": "string", "pattern": "^RepositoryList$", "readOnly": true } } } ], "title": "TaskReturn", "description": "A Task return output that exposes the values from a function or a DAG.", "discriminator": { "propertyName": "type" } }, "TaskPathReturn": { "allOf": [ { "$ref": "#/components/schemas/PathOutput" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "TaskPathReturn", "pattern": "^TaskPathReturn$", "type": "string", "readOnly": true } } } ], "title": "TaskPathReturn", "description": "A Task output that returns a file or a folder output from a function or a DAG.", "discriminator": { "propertyName": "type" } }, "DAGTask": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "name": { "title": "Name", "description": "Name for this task. It must be unique in a DAG.", "type": "string" }, "template": { "title": "Template", "description": "Template name. A template is a Function or a DAG. This template must be available in the dependencies.", "type": "string" }, "type": { "title": "Type", "default": "DAGTask", "pattern": "^DAGTask$", "type": "string", "pattern": "^RepositoryUpdate$", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "needs": { "title": "Needs", "description": "List of DAG tasks that this task depends on and needs to be executed before this task.", "type": "array", "items": { "type": "string" } }, "arguments": { "title": "Arguments", "description": "The input arguments for this task.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/TaskArgument" }, { "$ref": "#/components/schemas/TaskPathArgument" } ] } }, "loop": { "title": "Loop", "description": "Loop configuration for this task.", "allOf": [ { "$ref": "#/components/schemas/DAGTaskLoop" } ] }, "sub_folder": { "title": "Sub Folder", "description": "A path relative to the current folder context where artifacts should be saved. This is useful when performing a loop or invoking another workflow and wanting to save results in a specific sub_folder.", "type": "string" }, "returns": { "title": "Returns", "description": "List of task returns.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/TaskReturn" }, { "$ref": "#/components/schemas/TaskPathReturn" } ] } } }, "required": [ "name", "template" ] } ], "title": "DAGTask", "description": "A single task in a DAG flow.", "discriminator": { "propertyName": "type" } }, "DAG": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "name", "tasks" ], "properties": { "name": { "title": "Name", "description": "A unique name for this dag.", "type": "string" }, "tasks": { "title": "Tasks", "description": "Tasks are a list of DAG steps", "type": "array", "items": { "$ref": "#/components/schemas/DAGTask" } }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "inputs": { "title": "Inputs", "description": "Inputs for the DAG.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericInput" }, { "$ref": "#/components/schemas/DAGStringInput" }, { "$ref": "#/components/schemas/DAGIntegerInput" }, { "$ref": "#/components/schemas/DAGNumberInput" }, { "$ref": "#/components/schemas/DAGBooleanInput" }, { "$ref": "#/components/schemas/DAGFolderInput" }, { "$ref": "#/components/schemas/DAGFileInput" }, { "$ref": "#/components/schemas/DAGPathInput" }, { "$ref": "#/components/schemas/DAGArrayInput" }, { "$ref": "#/components/schemas/DAGJSONObjectInput" } ] } }, "outputs": { "title": "Outputs", "description": "Outputs of the DAG that can be used by other DAGs.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/DAGGenericOutput" }, { "$ref": "#/components/schemas/DAGStringOutput" }, { "$ref": "#/components/schemas/DAGIntegerOutput" }, { "$ref": "#/components/schemas/DAGNumberOutput" }, { "$ref": "#/components/schemas/DAGBooleanOutput" }, { "$ref": "#/components/schemas/DAGFolderOutput" }, { "$ref": "#/components/schemas/DAGFileOutput" }, { "$ref": "#/components/schemas/DAGPathOutput" }, { "$ref": "#/components/schemas/DAGArrayOutput" }, { "$ref": "#/components/schemas/DAGJSONObjectOutput" } ] } }, "fail_fast": { "title": "Fail Fast", "description": "Stop scheduling new steps, as soon as it detects that one of the DAG nodes is failed. Default is True.", "default": true, "type": "boolean" }, "type": { "title": "Type", "default": "DAG", "pattern": "^DAG$", "type": "string", "pattern": "^UserPublic$", "readOnly": true } }, "required": [ "username" ] } ], "title": "DAG", "description": "A Directed Acyclic Graph containing a list of tasks.", "discriminator": { "propertyName": "type" } }, "TeamRoleEnum": { "title": "TeamRoleEnum", "description": "An enumeration.", "enum": [ "owner", "member" ], "type": "string" }, "TeamMember": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "user": { "title": "User", "description": "The team member", "allOf": [ { "$ref": "#/components/schemas/UserPublic" } ] }, "role": { "description": "The role the user has within the team", "example": "member", "allOf": [ { "$ref": "#/components/schemas/TeamRoleEnum" } ] }, "type": { "title": "Type", "default": "TeamMember", "type": "string", "pattern": "^TeamMember$", "readOnly": true } }, "required": [ "user", "role" ] } ], "title": "TeamMember", "discriminator": { "propertyName": "type" } }, "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 } }, "required": [ "user", "role" ] } ], "title": "RecipeInterfaceList", "description": "A list response from a pagination request", "discriminator": { "propertyName": "type" } }, "Metadata": { "allOf": [ { "$ref": "#/components/schemas/CryptlexBase" }, { "type": "object", "required": [ "key", "value" ], "properties": { "key": { "title": "Key", "type": "string" }, "value": { "title": "Value", "type": "string" }, "id": { "title": "Id", "type": "string" }, "visible": { "title": "Visible", "default": false, "type": "boolean" }, "type": { "title": "Type", "default": "Metadata", "type": "string", "pattern": "^Metadata$", "readOnly": true } }, "required": [ "token_id", "name" ] } ], "title": "Metadata", "discriminator": { "propertyName": "type" } }, "PaymentIntent": { "allOf": [ { "$ref": "#/components/schemas/_SecureResourcePublic" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "PaymentIntent", "type": "string", "pattern": "^PaymentIntent$", "readOnly": true } } } ], "title": "PaymentIntent", "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" } }, "RecipePackageList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "properties": { "page": { "title": "Page", "description": "The current page the pagination request is on", "type": "integer", "format": "int32" }, "per_page": { "title": "Per Page", "description": "The number of pages per pagination request", "type": "integer", "format": "int32" }, "page_count": { "title": "Page Count", "description": "The total number of pages", "type": "integer", "format": "int32" }, "total_count": { "title": "Total Count", "description": "The total number of resources matching the list request", "type": "integer", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/RecipePackage" } }, "next_page": { "title": "Next Page", "description": "The next page, if this on is not the last", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "RecipePackageList", "type": "string", "pattern": "^RecipePackageList$", "readOnly": true } } } ], "title": "RecipePackageList", "description": "A list response from a pagination request", "discriminator": { "propertyName": "type" } }, "OrganizationUpdate": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "account_name": { "title": "Account Name", "description": "The unique name of the org in small case without spaces", "example": "ladybug-tools", "type": "string" }, "name": { "title": "Name", "description": "The display name for this org", "example": "Ladybug Tools", "type": "string" }, "picture_url": { "title": "Picture Url", "description": "URL to the picture associated with this org", "example": "https://avatars1.githubusercontent.com/u/38131342", "type": "string" }, "contact_email": { "title": "Contact Email", "description": "The contact email for the Organization", "example": "info@ladybug.tools", "type": "string" }, "description": { "title": "Description", "description": "A description of the org", "example": "Making environmental design knowledge and tools freely accessible to every person, project and design process", "type": "string" }, "type": { "title": "Type", "default": "OrganizationUpdate", "type": "string", "pattern": "^OrganizationUpdate$", "readOnly": true } } } ], "title": "OrganizationUpdate", "discriminator": { "propertyName": "type" } }, "JobArgument": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "name": { "title": "Name", "description": "Argument name. The name must match one of the input names from Job's DAG template.", "type": "string" }, "value": { "title": "Value", "description": "The value of the job argument." }, "type": { "title": "Type", "default": "JobArgument", "pattern": "^JobArgument$", "type": "string", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } } }, "required": [ "name", "value" ] } ], "title": "JobArgument", "description": "Job argument is an argument input for arguments which are not files or folders.", "discriminator": { "propertyName": "type" } }, "JobPathArgument": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "name": { "title": "Name", "description": "Argument name. The name must match one of the input names from Job's template which can be a function or DAG.", "type": "string" }, "source": { "title": "Source", "description": "The path to source the file from.", "anyOf": [ { "$ref": "#/components/schemas/HTTP" }, { "$ref": "#/components/schemas/S3" }, { "$ref": "#/components/schemas/ProjectFolder" } ] }, "type": { "title": "Type", "default": "JobPathArgument", "pattern": "^JobPathArgument$", "type": "string", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } } }, "required": [ "name", "source" ] } ], "title": "JobPathArgument", "description": "BaseModel with functionality to return the object as a yaml string.", "discriminator": { "propertyName": "type" } }, "Job": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "source": { "title": "Source", "description": "The source url for downloading the recipe.", "type": "string" }, "type": { "title": "Type", "default": "Job", "pattern": "^Job$", "type": "string", "readOnly": true }, "type": { "title": "Type", "default": "Dependency", "pattern": "^Dependency$", "type": "string", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "api_version": { "title": "Api Version", "default": "v1beta1", "readOnly": true, "pattern": "^v1beta1$", "type": "string" }, "arguments": { "title": "Arguments", "description": "Input arguments for this job.", "type": "array", "items": { "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/JobArgument" }, { "$ref": "#/components/schemas/JobPathArgument" } ] } } }, "name": { "title": "Name", "description": "An optional name for this job. This name will be used a the display name for the run.", "type": "string" }, "description": { "title": "Description", "description": "Run description.", "type": "string" }, "labels": { "title": "Labels", "description": "Optional user data as a dictionary. User data is for user reference only and will not be used in the execution of the job.", "type": "object", "additionalProperties": { "type": "string" } } }, "required": [ "source" ] } ], "title": "Job", "description": "Queenbee Job.\n\nA Job is an object to submit a list of arguments to execute a Queenbee recipe.", "discriminator": { "propertyName": "type" } }, "CloudJob": { "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" }, "spec": { "title": "Spec", "description": "The job specification", "allOf": [ { "$ref": "#/components/schemas/Job" } ] }, "author": { "title": "Author", "description": "author", "allOf": [ { "$ref": "#/components/schemas/AccountPublic" } ] }, "owner": { "title": "Owner", "description": "owner", "allOf": [ { "$ref": "#/components/schemas/AccountPublic" } ] }, "recipe": { "title": "Recipe", "description": "The recipe used to generate this ", "allOf": [ { "$ref": "#/components/schemas/RecipeInterface" } ] }, "status": { "title": "Status", "description": "The status of the job", "allOf": [ { "$ref": "#/components/schemas/JobStatus" } ] }, "type": { "title": "Type", "default": "CloudJob", "type": "string", "pattern": "^CloudJob$", "readOnly": true }, "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": [ "id", "spec" ] } ], "title": "CloudJob", "discriminator": { "propertyName": "type" } }, "CloudJobList": { "allOf": [ { "$ref": "#/components/schemas/_InputReferenceBase" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "InputFileReference", "pattern": "^InputFileReference$", "type": "string", "readOnly": true } } } ], "title": "InputFileReference", "description": "An input file reference", "discriminator": { "propertyName": "type" } }, "InputFolderReference": { "allOf": [ { "$ref": "#/components/schemas/_InputReferenceBase" }, { "type": "object", "properties": { "page": { "title": "Page", "description": "The current page the pagination request is on", "type": "integer", "format": "int32" }, "per_page": { "title": "Per Page", "description": "The number of pages per pagination request", "type": "integer", "format": "int32" }, "page_count": { "title": "Page Count", "description": "The total number of pages", "type": "integer", "format": "int32" }, "total_count": { "title": "Total Count", "description": "The total number of resources matching the list request", "type": "integer", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/CloudJob" } }, "next_page": { "title": "Next Page", "description": "The next page, if this on is not the last", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "CloudJobList", "type": "string", "pattern": "^CloudJobList$", "readOnly": true } } } ], "title": "CloudJobList", "description": "A list response from a pagination request", "discriminator": { "propertyName": "type" } }, "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" } }, "OrganizationRoleEnum": { "title": "OrganizationRoleEnum", "description": "An enumeration.", "enum": [ "owner", "member" ], "title": "InputPathReference", "description": "An input file or folder reference", "discriminator": { "propertyName": "type" } }, "Organization": { "allOf": [ { "$ref": "#/components/schemas/OrganizationUpdate" }, { "type": "object", "required": [ "id", "owner" ], "properties": { "id": { "title": "Id", "description": "The org ID", "example": "1eb8e60d-771d-4a30-8078-fe553eb2f0bc", "type": "string" }, "owner": { "title": "Owner", "description": "The account the organization represents", "example": { "id": "e4d0d922-2031-4b39-94d2-aa6d584d6bb2", "type": "org", "name": "ladybug-tools" }, "allOf": [ { "$ref": "#/components/schemas/AccountPublic" } ] }, "role": { "description": "The role the user has within the organization", "example": "member", "allOf": [ { "$ref": "#/components/schemas/OrganizationRoleEnum" } ] }, "member_count": { "title": "Member Count", "description": "The number of members that are part of this org", "default": 0, "example": 10, "type": "integer", "format": "int32" }, "team_count": { "title": "Team Count", "description": "The number of teams that are part of this org", "default": 0, "example": 3, "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "Organization", "type": "string", "pattern": "^Organization$", "readOnly": true } } } ], "title": "Organization", "discriminator": { "propertyName": "type" } }, "OrganizationList": { "allOf": [ { "$ref": "#/components/schemas/_BaseReference" }, { "type": "object", "required": [ "path" ], "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" } }, "Accessor": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "subject": { "title": "Subject", "anyOf": [ { "$ref": "#/components/schemas/AccountPublic" }, { "$ref": "#/components/schemas/Team" } ] }, "permission": { "$ref": "#/components/schemas/Permission" }, "type": { "title": "Type", "default": "Accessor", "type": "string", "pattern": "^Accessor$", "readOnly": true } }, "required": [ "subject", "permission" ] } ], "title": "Accessor", "discriminator": { "propertyName": "type" } }, "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" } }, "LicensePoolPublic": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "id": { "title": "Id", "description": "The ID of the pool", "type": "string", "format": "uuid" }, "license_id": { "title": "License Id", "description": "The ID of the license to which the pool provides access", "type": "string" }, "owner": { "title": "Owner", "description": "The account that owns the license", "allOf": [ { "$ref": "#/components/schemas/AccountPublic" } ] }, "permissions": { "$ref": "#/components/schemas/UserPermission" }, "product": { "title": "Product", "description": "The pollination product to which this pool provides access", "type": "string" }, "accessors": { "title": "Accessors", "description": "The entities that can access the license though the pool", "default": [], "type": "array", "items": { "$ref": "#/components/schemas/Accessor" } }, "description": { "title": "Description", "description": "The description of the pool", "type": "string" }, "type": { "title": "Type", "default": "LicensePoolPublic", "type": "string", "pattern": "^LicensePoolPublic$", "readOnly": true } }, "required": [ "id", "license_id", "owner", "permissions", "product" ] } ], "title": "LicensePoolPublic", "discriminator": { "propertyName": "type" } }, "LicensePoolList": { "allOf": [ { "$ref": "#/components/schemas/PathOutput" }, { "type": "object", "properties": { "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/LicensePoolPublic" } }, "type": { "title": "Type", "default": "LicensePoolList", "type": "string", "pattern": "^LicensePoolList$", "readOnly": true } }, "required": [ "resources" ] } ], "title": "LicensePoolList", "discriminator": { "propertyName": "type" } }, "LicensePoolPolicySubject": { "allOf": [ { "$ref": "#/components/schemas/PolicySubject" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "LicensePoolPolicySubject", "type": "string", "pattern": "^LicensePoolPolicySubject$", "readOnly": true } } } ], "title": "LicensePoolPolicySubject", "discriminator": { "propertyName": "type" } }, "LicensePoolPolicySubjectList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "resources": { "title": "Resources", "description": "The list of subjects which currently have access to the pool", "default": [], "type": "array", "items": { "$ref": "#/components/schemas/LicensePoolPolicySubject" } }, "type": { "title": "Type", "default": "LicensePoolPolicySubjectList", "type": "string", "pattern": "^LicensePoolPolicySubjectList$", "readOnly": true } }, "required": [ "name", "template" ] } ], "title": "LicensePoolPolicySubjectList", "discriminator": { "propertyName": "type" } }, "RepositoryMetadata": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "RepositoryMetadata", "pattern": "^RepositoryMetadata$", "type": "string", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "name": { "title": "Name", "description": "The name of the repository", "type": "string" }, "description": { "title": "Description", "description": "A short description of the repository", "default": "A Queenbee package repository", "type": "string" }, "source": { "title": "Source", "description": "The source path (url or local) to the repository", "type": "string" }, "plugin_count": { "title": "Plugin Count", "description": "The number of plugins hosted by the repository", "default": 0, "type": "integer", "format": "int32" }, "recipe_count": { "title": "Recipe Count", "description": "The number of recipes hosted by the repository", "default": 0, "type": "integer", "format": "int32" } } } ], "title": "RepositoryMetadata", "description": "BaseModel with functionality to return the object as a yaml string.", "discriminator": { "propertyName": "type" } }, "Recipe": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "flow": { "title": "Flow", "description": "A list of tasks to create a DAG recipe.", "type": "array", "items": { "$ref": "#/components/schemas/DAG" } }, "type": { "title": "Type", "default": "Recipe", "pattern": "^Recipe$", "type": "string", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "api_version": { "title": "Api Version", "default": "v1beta1", "readOnly": true, "pattern": "^v1beta1$", "type": "string" }, "metadata": { "title": "Metadata", "description": "Recipe metadata information.", "allOf": [ { "$ref": "#/components/schemas/MetaData" } ] }, "dependencies": { "title": "Dependencies", "description": "A list of plugins and other recipes this recipe depends on.", "type": "array", "items": { "$ref": "#/components/schemas/Dependency" } } }, "required": [ "flow" ] } ], "title": "Recipe", "description": "A Queenbee Recipe", "discriminator": { "propertyName": "type" } }, "PackageVersion": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "name", "tag", "url", "created", "digest" ], "properties": { "name": { "title": "Name", "description": "Package name. Make it descriptive and helpful ;)", "type": "string" }, "tag": { "title": "Tag", "description": "The tag of the package", "type": "string" }, "url": { "title": "Url", "type": "string" }, "created": { "title": "Created", "type": "string", "format": "date-time" }, "digest": { "title": "Digest", "type": "string" }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "app_version": { "title": "App Version", "description": "The version of the application code underlying the manifest", "type": "string" }, "keywords": { "title": "Keywords", "description": "A list of keywords to search the package by", "type": "array", "items": { "type": "string" } }, "maintainers": { "title": "Maintainers", "description": "A list of maintainers for the package", "type": "array", "items": { "$ref": "#/components/schemas/Maintainer" } }, "home": { "title": "Home", "description": "The URL of this package's home page", "type": "string" }, "sources": { "title": "Sources", "description": "A list of URLs to source code for this project", "type": "array", "items": { "type": "string" } }, "icon": { "title": "Icon", "description": "A URL to an SVG or PNG image to be used as an icon", "type": "string" }, "deprecated": { "title": "Deprecated", "description": "Whether this package is deprecated", "type": "boolean" }, "description": { "title": "Description", "description": "A description of what this package does", "type": "string" }, "license": { "title": "License", "description": "The license information.", "allOf": [ { "$ref": "#/components/schemas/License" } ] }, "slug": { "title": "Slug", "description": "A slug of the repository name and the package name.", "type": "string" }, "kind": { "title": "Kind", "description": "The type of Queenbee package (ie: recipe or plugin)", "default": "", "type": "string" }, "readme": { "title": "Readme", "description": "The README file string for this package", "type": "string" }, "manifest": { "title": "Manifest", "description": "The package Recipe or Plugin manifest", "anyOf": [ { "$ref": "#/components/schemas/Recipe" }, { "$ref": "#/components/schemas/Plugin" } ] }, "type": { "title": "Type", "default": "PackageVersion", "pattern": "^PackageVersion$", "type": "string", "readOnly": true } } } ], "title": "PackageVersion", "description": "Package Version\n\nA MetaData object to distinguish a specific package version within a repository\nindex.", "discriminator": { "propertyName": "type" } }, "RepositoryIndex": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "RepositoryIndex", "pattern": "^RepositoryIndex$", "type": "string", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "api_version": { "title": "Api Version", "default": "v1beta1", "readOnly": true, "pattern": "^v1beta1$", "type": "string" }, "generated": { "title": "Generated", "description": "The timestamp at which the index was generated", "type": "string", "format": "date-time" }, "metadata": { "title": "Metadata", "description": "Extra information about the repository", "default": { "type": "RepositoryMetadata", "annotations": {}, "name": null, "description": "A Queenbee package repository", "source": null, "plugin_count": 0, "recipe_count": 0 }, "allOf": [ { "$ref": "#/components/schemas/RepositoryMetadata" } ] }, "plugin": { "title": "Plugin", "description": "A dict of plugins accessible by name. Each name key points to a list of plugin versions", "default": {}, "type": "object", "additionalProperties": { "type": "array", "items": { "$ref": "#/components/schemas/PackageVersion" } } }, "recipe": { "title": "Recipe", "description": "A dict of recipes accessible by name. Each name key points to a list of recipesversions", "default": {}, "type": "object", "additionalProperties": { "type": "array", "items": { "$ref": "#/components/schemas/PackageVersion" } } } } } ], "title": "RepositoryIndex", "description": "A searchable index for a Queenbee Plugin and Recipe repository", "discriminator": { "propertyName": "type" } }, "RunResultList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "properties": { "page": { "title": "Page", "description": "The current page the pagination request is on", "type": "integer", "format": "int32" }, "per_page": { "title": "Per Page", "description": "The number of pages per pagination request", "type": "integer", "format": "int32" }, "page_count": { "title": "Page Count", "description": "The total number of pages", "type": "integer", "format": "int32" }, "total_count": { "title": "Total Count", "description": "The total number of resources matching the list request", "type": "integer", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/StepStringInput" }, { "$ref": "#/components/schemas/StepIntegerInput" }, { "$ref": "#/components/schemas/StepNumberInput" }, { "$ref": "#/components/schemas/StepBooleanInput" }, { "$ref": "#/components/schemas/StepFolderInput" }, { "$ref": "#/components/schemas/StepFileInput" }, { "$ref": "#/components/schemas/StepPathInput" }, { "$ref": "#/components/schemas/StepArrayInput" }, { "$ref": "#/components/schemas/StepJSONObjectInput" }, { "$ref": "#/components/schemas/StepStringOutput" }, { "$ref": "#/components/schemas/StepIntegerOutput" }, { "$ref": "#/components/schemas/StepNumberOutput" }, { "$ref": "#/components/schemas/StepBooleanOutput" }, { "$ref": "#/components/schemas/StepFolderOutput" }, { "$ref": "#/components/schemas/StepFileOutput" }, { "$ref": "#/components/schemas/StepPathOutput" }, { "$ref": "#/components/schemas/StepArrayOutput" }, { "$ref": "#/components/schemas/StepJSONObjectOutput" } ] } } }, "next_page": { "title": "Next Page", "description": "The next page, if this on is not the last", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "RunResultList", "type": "string", "pattern": "^RunResultList$", "readOnly": true } } } ], "title": "RunResultList", "description": "A list response from a pagination request", "discriminator": { "propertyName": "type" } }, "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" }, "started_at": { "title": "Started At", "description": "The time at which the job was started", "type": "string", "format": "date-time" }, "type": { "title": "Type", "default": "TeamMemberList", "type": "string", "pattern": "^TeamMemberList$", "readOnly": true } } } ], "title": "TeamMemberList", "description": "A list response from a pagination request", "discriminator": { "propertyName": "type" } }, "DeleteSubscriptionItem": { "allOf": [ { "$ref": "#/components/schemas/SubscriptionItem" }, { "type": "object", "properties": { "deleted": { "title": "Deleted", "default": true, "type": "boolean" }, "type": { "title": "Type", "default": "DeleteSubscriptionItem", "type": "string", "pattern": "^DeleteSubscriptionItem$", "readOnly": true } } } ], "title": "DeleteSubscriptionItem", "discriminator": { "propertyName": "type" } }, "Activation": { "allOf": [ { "$ref": "#/components/schemas/CryptlexBase" }, { "type": "object", "required": [ "id", "created_at", "updated_at", "offline", "last_synced_at", "location" ], "properties": { "id": { "title": "Id", "type": "string" }, "created_at": { "title": "Created At", "type": "string", "format": "date-time" }, "updated_at": { "title": "Updated At", "type": "string", "format": "date-time" }, "offline": { "title": "Offline", "type": "boolean" }, "last_synced_at": { "title": "Last Synced At", "type": "string", "format": "date-time" }, "location": { "$ref": "#/components/schemas/Location" }, "os": { "title": "Os", "type": "string" }, "os_version": { "title": "Os Version", "type": "string" }, "hostname": { "title": "Hostname", "type": "string" }, "app_version": { "title": "App Version", "type": "string" }, "lease_expires_at": { "title": "Lease Expires At", "type": "string", "format": "date-time" }, "metadata": { "title": "Metadata", "default": [], "type": "array", "items": { "$ref": "#/components/schemas/Metadata" } }, "license_id": { "title": "License Id", "type": "string" }, "type": { "title": "Type", "default": "Activation", "type": "string", "pattern": "^Activation$", "readOnly": true } }, "required": [ "id", "started_at" ] } ], "title": "Activation", "discriminator": { "propertyName": "type" } }, "Body_post_recipe__owner__recipes_post": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "package": { "title": "Recipe Package", "type": "string", "format": "binary" }, "type": { "title": "Type", "default": "Body_post_recipe__owner__recipes_post", "type": "string", "pattern": "^Body_post_recipe__owner__recipes_post$", "readOnly": true } }, "required": [ "package" ] } ], "title": "Body_post_recipe__owner__recipes_post", "discriminator": { "propertyName": "type" } }, "QuotaList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "properties": { "page": { "title": "Page", "description": "The current page the pagination request is on", "type": "integer", "format": "int32" }, "per_page": { "title": "Per Page", "description": "The number of pages per pagination request", "type": "integer", "format": "int32" }, "page_count": { "title": "Page Count", "description": "The total number of pages", "type": "integer", "format": "int32" }, "total_count": { "title": "Total Count", "description": "The total number of resources matching the list request", "type": "integer", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/Quota" } }, "next_page": { "title": "Next Page", "description": "The next page, if this on is not the last", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "QuotaList", "type": "string", "pattern": "^QuotaList$", "readOnly": true } } } ], "title": "QuotaList", "description": "A list response from a pagination request", "discriminator": { "propertyName": "type" } }, "Subscribe": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "plan": { "title": "Plan", "description": "The initial plan with which to create the subscription", "allOf": [ { "$ref": "#/components/schemas/Price" } ] }, "type": { "title": "Type", "default": "Subscribe", "type": "string", "pattern": "^Subscribe$", "readOnly": true } }, "required": [ "plan" ] } ], "title": "Subscribe", "discriminator": { "propertyName": "type" } }, "UserCreate": { "allOf": [ { "$ref": "#/components/schemas/UserUpdate" }, { "type": "object", "required": [ "username" ], "properties": { "username": { "title": "Username", "description": "The unique name of the user in small case without spaces", "example": "ladybugbot", "type": "string" }, "type": { "title": "Type", "default": "UserCreate", "type": "string", "pattern": "^UserCreate$", "readOnly": true } } } ], "title": "UserCreate", "discriminator": { "propertyName": "type" } }, "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" } }, "SubscriptionUpdate": { "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_plugin__owner__plugins_post": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "package": { "title": "Plugin Package", "type": "string", "format": "binary" }, "type": { "title": "Type", "default": "Body_post_plugin__owner__plugins_post", "type": "string", "pattern": "^Body_post_plugin__owner__plugins_post$", "readOnly": true } }, "required": [ "package" ] } ], "title": "Body_post_plugin__owner__plugins_post", "discriminator": { "propertyName": "type" } }, "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" } }, "Run": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "id": { "title": "Id", "description": "The unique ID for this run", "type": "string" }, "author": { "title": "Author", "description": "author", "allOf": [ { "$ref": "#/components/schemas/AccountPublic" } ] }, "owner": { "title": "Owner", "description": "owner", "allOf": [ { "$ref": "#/components/schemas/AccountPublic" } ] }, "recipe": { "title": "Recipe", "description": "The recipe used to generate this ", "allOf": [ { "$ref": "#/components/schemas/RecipeInterface" } ] }, "generation": { "title": "Generation", "description": "The generation of this run", "type": "number", "format": "double" }, "status": { "title": "Status", "description": "The status of the run", "allOf": [ { "$ref": "#/components/schemas/RunStatus" } ] }, "meta": { "title": "Meta", "description": "Extra metadata about the run", "default": { "resources_duration": { "cpu": 0, "memory": 0 }, "progress": { "completed": 0, "running": 0, "total": 0 } }, "allOf": [ { "$ref": "#/components/schemas/RunMeta" } ] }, "type": { "title": "Type", "default": "Run", "type": "string", "pattern": "^Run$", "readOnly": true } }, "required": [ "id" ] } ], "title": "Run", "discriminator": { "propertyName": "type" } }, "TemplateFunction": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "name", "command", "config" ], "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" }, "config": { "title": "Config", "description": "The plugin config to use for this function", "allOf": [ { "$ref": "#/components/schemas/PluginConfig" } ] }, "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": "TemplateFunction", "pattern": "^TemplateFunction$", "type": "string", "readOnly": true } } } ], "title": "TemplateFunction", "description": "Function template.", "discriminator": { "propertyName": "type" } }, "BakedRecipe": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "flow", "digest", "templates" ], "properties": { "flow": { "title": "Flow", "description": "A list of tasks to create a DAG recipe.", "type": "array", "items": { "$ref": "#/components/schemas/DAG" } }, "digest": { "title": "Digest", "type": "string" }, "templates": { "title": "Templates", "description": "A list of templates. Templates can be Function or a DAG.", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/TemplateFunction" }, { "$ref": "#/components/schemas/DAG" } ] } }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "api_version": { "title": "Api Version", "default": "v1beta1", "readOnly": true, "pattern": "^v1beta1$", "type": "string" }, "metadata": { "title": "Metadata", "description": "Recipe metadata information.", "allOf": [ { "$ref": "#/components/schemas/MetaData" } ] }, "dependencies": { "title": "Dependencies", "description": "A list of plugins and other recipes this recipe depends on.", "type": "array", "items": { "$ref": "#/components/schemas/Dependency" } }, "type": { "title": "Type", "default": "BakedRecipe", "pattern": "^BakedRecipe$", "type": "string", "readOnly": true } }, "required": [ "id", "email", "username" ] } ], "title": "BakedRecipe", "description": "Baked Recipe.\n\nA Baked Recipe contains all the templates referred to in the DAG within a templates\nlist.", "discriminator": { "propertyName": "type" } }, "ProductFamily": { "allOf": [ { "$ref": "#/components/schemas/Product" }, { "type": "object", "required": [ "prices" ], "properties": { "prices": { "title": "Prices", "type": "array", "items": { "$ref": "#/components/schemas/Price" } }, "owner": { "title": "Owner", "description": "The account the organization represents", "example": { "id": "e4d0d922-2031-4b39-94d2-aa6d584d6bb2", "type": "org", "name": "ladybug-tools" }, "allOf": [ { "$ref": "#/components/schemas/AccountPublic" } ] }, "role": { "description": "The role the user has within the organization", "example": "member", "allOf": [ { "$ref": "#/components/schemas/OrganizationRoleEnum" } ] }, "member_count": { "title": "Member Count", "description": "The number of members that are part of this org", "default": 0, "example": 10, "type": "integer", "format": "int32" }, "team_count": { "title": "Team Count", "description": "The number of teams that are part of this org", "default": 0, "example": 3, "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "ProductFamily", "type": "string", "pattern": "^ProductFamily$", "readOnly": true } } } ], "title": "ProductFamily", "discriminator": { "propertyName": "type" } }, "Inventory": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "properties": { "page": { "title": "Page", "description": "The current page the pagination request is on", "type": "integer", "format": "int32" }, "per_page": { "title": "Per Page", "description": "The number of pages per pagination request", "type": "integer", "format": "int32" }, "page_count": { "title": "Page Count", "description": "The total number of pages", "type": "integer", "format": "int32" }, "total_count": { "title": "Total Count", "description": "The total number of resources matching the list request", "type": "integer", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/Organization" } }, "next_page": { "title": "Next Page", "description": "The next page, if this on is not the last", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "OrganizationList", "type": "string", "pattern": "^OrganizationList$", "readOnly": true } } } ], "title": "OrganizationList", "description": "A list response from a pagination request", "discriminator": { "propertyName": "type" } }, "APITokenPrivate": { "allOf": [ { "$ref": "#/components/schemas/APITokenCreate" }, { "type": "object", "required": [ "token" ], "properties": { "families": { "title": "Families", "type": "array", "items": { "$ref": "#/components/schemas/ProductFamily" } }, "type": { "title": "Type", "default": "Inventory", "type": "string", "pattern": "^Inventory$", "readOnly": true } }, "required": [ "families" ] } ], "title": "Inventory", "discriminator": { "propertyName": "type" } }, "ProjectCreate": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "inputs", "outputs", "started_at", "id", "name", "status_type", "template_ref", "children_ids", "outbound_steps" ], "properties": { "name": { "title": "Name", "description": "The name of the project. Must be unique to a given owner", "example": "Project Falcon", "type": "string" }, "description": { "title": "Description", "description": "A description of the project", "default": "", "example": "I always wanted to have a project called project Falcon", "type": "string" }, "public": { "title": "Public", "description": "Whether or not a project is publicly viewable", "default": true, "type": "boolean" }, "type": { "title": "Type", "default": "ProjectCreate", "type": "string", "pattern": "^ProjectCreate$", "readOnly": true } }, "required": [ "name" ] } ], "title": "ProjectCreate", "discriminator": { "propertyName": "type" } }, "Usage": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "start": { "title": "Start", "description": "The start date for this usage aggregation", "type": "string", "format": "date-time" }, "end": { "title": "End", "description": "The end date for this usage aggregation", "type": "string", "format": "date-time" }, "cpu": { "title": "Cpu", "description": "cpu usage", "default": 0, "type": "number", "format": "double" }, "memory": { "title": "Memory", "description": "memory usage", "default": 0, "type": "number", "format": "double" }, "succeeded": { "title": "Succeeded", "description": "succeeded usage", "default": 0, "type": "integer", "format": "int32" }, "failed": { "title": "Failed", "description": "failed usage", "default": 0, "type": "integer", "format": "int32" }, "daily_usage": { "title": "Daily Usage", "description": "daily breakdown of usage", "default": [], "type": "array", "items": { "$ref": "#/components/schemas/DailyUsage" } }, "type": { "title": "Type", "default": "Usage", "type": "string", "pattern": "^Usage$", "readOnly": true } }, "required": [ "start", "end" ] } ], "title": "Usage", "discriminator": { "propertyName": "type" } }, "LicensePoolUpdate": { "allOf": [ { "$ref": "#/components/schemas/TeamCreate" }, { "type": "object", "properties": { "description": { "title": "Description", "description": "The description of the license pool", "type": "string" }, "type": { "title": "Type", "default": "LicensePoolUpdate", "type": "string", "pattern": "^LicensePoolUpdate$", "readOnly": true } } } ], "title": "LicensePoolUpdate", "discriminator": { "propertyName": "type" } }, "Invoice": { "allOf": [ { "$ref": "#/components/schemas/InvoicePreview" }, { "type": "object", "properties": { "manifest": { "title": "Manifest", "description": "The Plugin manifest to be created", "allOf": [ { "$ref": "#/components/schemas/Plugin" } ] }, "readme": { "title": "Readme", "description": "The README file to attach to this package", "default": "", "type": "string" }, "type": { "title": "Type", "default": "Invoice", "type": "string", "pattern": "^Invoice$", "readOnly": true } }, "required": [ "manifest" ] } ], "title": "Invoice", "discriminator": { "propertyName": "type" } }, "InvoiceList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/Invoice" } }, "has_more": { "title": "Has More", "type": "boolean" }, "type": { "title": "Type", "default": "InvoiceList", "type": "string", "pattern": "^InvoiceList$", "readOnly": true } }, "required": [ "resources", "has_more" ] } ], "title": "InvoiceList", "discriminator": { "propertyName": "type" } }, "PluginPackage": { "allOf": [ { "$ref": "#/components/schemas/RepositoryPackage" }, { "type": "object", "required": [ "manifest" ], "properties": { "manifest": { "$ref": "#/components/schemas/Plugin" }, "type": { "title": "Type", "default": "PluginPackage", "type": "string", "pattern": "^PluginPackage$", "readOnly": true } } } ], "title": "PluginPackage", "discriminator": { "propertyName": "type" } }, "PluginPackageList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "properties": { "page": { "title": "Page", "description": "The current page the pagination request is on", "type": "integer", "format": "int32" }, "per_page": { "title": "Per Page", "description": "The number of pages per pagination request", "type": "integer", "format": "int32" }, "page_count": { "title": "Page Count", "description": "The total number of pages", "type": "integer", "format": "int32" }, "total_count": { "title": "Total Count", "description": "The total number of resources matching the list request", "type": "integer", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/PluginPackage" } }, "next_page": { "title": "Next Page", "description": "The next page, if this on is not the last", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "PluginPackageList", "type": "string", "pattern": "^PluginPackageList$", "readOnly": true } } } ], "title": "PluginPackageList", "description": "A list response from a pagination request", "discriminator": { "propertyName": "type" } }, "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" } }, "PublicAccountList": { "allOf": [ { "$ref": "#/components/schemas/OrganizationUpdate" }, { "type": "object", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "properties": { "page": { "title": "Page", "description": "The current page the pagination request is on", "type": "integer", "format": "int32" }, "per_page": { "title": "Per Page", "description": "The number of pages per pagination request", "type": "integer", "format": "int32" }, "page_count": { "title": "Page Count", "description": "The total number of pages", "type": "integer", "format": "int32" }, "total_count": { "title": "Total Count", "description": "The total number of resources matching the list request", "type": "integer", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/AccountPublic" } }, "next_page": { "title": "Next Page", "description": "The next page, if this on is not the last", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "PublicAccountList", "type": "string", "pattern": "^PublicAccountList$", "readOnly": true } } } ], "title": "PublicAccountList", "description": "A list response from a pagination request", "discriminator": { "propertyName": "type" } }, "UserPrivate": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "id": { "title": "Id", "description": "The unique ID for that user", "example": "96c12d05-f1a2-4491-b0cc-c2ed473301b5", "type": "string" }, "email": { "title": "Email", "description": "The email associated with that user", "example": "ladybugbot@ladybug.tools", "type": "string" }, "username": { "title": "Username", "description": "The lowercase account name for this user", "example": "ladybugbot", "type": "string" }, "name": { "title": "Name", "description": "The display name for this user", "example": "Ladybug Bot", "type": "string" }, "description": { "title": "Description", "description": "A short description of the user", "example": "Beep Boop!", "type": "string" }, "picture": { "title": "Picture", "description": "URL to the picture associated with this user", "example": "https://avatars1.githubusercontent.com/u/38131342", "type": "string" }, "type": { "title": "Type", "default": "UserPrivate", "type": "string", "pattern": "^UserPrivate$", "readOnly": true } }, "required": [ "id", "email", "username" ] } ], "title": "UserPrivate", "discriminator": { "propertyName": "type" } }, "ProjectPolicySubject": { "allOf": [ { "$ref": "#/components/schemas/PolicySubject" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "CreatedContent", "type": "string", "pattern": "^CreatedContent$", "readOnly": true } }, "required": [ "id" ] } ], "title": "CreatedContent", "description": "Content for created response.", "discriminator": { "propertyName": "type" } }, "Project": { "allOf": [ { "$ref": "#/components/schemas/ProjectCreate" }, { "type": "object", "required": [ "id", "owner", "permissions", "slug" ], "properties": { "id": { "title": "Id", "description": "The project ID", "example": "50bb7fe0-8f19-499e-972e-1ebec8af2c71", "type": "string" }, "owner": { "title": "Owner", "description": "The project owner", "allOf": [ { "$ref": "#/components/schemas/AccountPublic" } ] }, "permissions": { "$ref": "#/components/schemas/UserPermission" }, "slug": { "title": "Slug", "description": "The project name in slug format", "example": "project-falcon", "type": "string" }, "usage": { "title": "Usage", "description": "The resource consumption of this project", "allOf": [ { "$ref": "#/components/schemas/Usage" } ] }, "type": { "title": "Type", "default": "Project", "type": "string", "pattern": "^Project$", "readOnly": true } } } ], "title": "Project", "discriminator": { "propertyName": "type" } }, "NewRecipePackage": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "manifest": { "title": "Manifest", "description": "The Recipe manifest to be created", "allOf": [ { "$ref": "#/components/schemas/Recipe" } ] }, "readme": { "title": "Readme", "description": "The README file to attach to this package", "default": "", "type": "string" }, "type": { "title": "Type", "default": "NewRecipePackage", "type": "string", "pattern": "^NewRecipePackage$", "readOnly": true } }, "required": [ "manifest" ] } ], "title": "NewRecipePackage", "discriminator": { "propertyName": "type" } }, "LicenseType": { "title": "LicenseType", "description": "An enumeration.", "enum": [ "node-locked", "hosted-floating", "on-premise-floating" ], "type": "string" }, "LicensePublic": { "allOf": [ { "$ref": "#/components/schemas/License" }, { "type": "object", "required": [ "id", "created_at", "updated_at", "key", "revoked", "suspended", "total_activations", "total_deactivations", "validity", "allowed_activations", "type", "server_sync_grace_period", "server_sync_interval", "lease_duration", "product_id", "metadata" ], "properties": { "id": { "title": "Id", "type": "string" }, "created_at": { "title": "Created At", "type": "string", "format": "date-time" }, "updated_at": { "title": "Updated At", "type": "string", "format": "date-time" }, "key": { "title": "Key", "description": "The key used to activate this license. Treat this like a password.", "type": "string" }, "revoked": { "title": "Revoked", "type": "boolean" }, "suspended": { "title": "Suspended", "type": "boolean" }, "total_activations": { "title": "Total Activations", "type": "integer", "format": "int32" }, "total_deactivations": { "title": "Total Deactivations", "type": "integer", "format": "int32" }, "validity": { "title": "Validity", "type": "integer", "format": "int32" }, "allowed_activations": { "title": "Allowed Activations", "type": "integer", "format": "int32" }, "server_sync_grace_period": { "title": "Server Sync Grace Period", "type": "integer", "format": "int32" }, "server_sync_interval": { "title": "Server Sync Interval", "type": "integer", "format": "int32" }, "lease_duration": { "title": "Lease Duration", "type": "integer", "format": "int32" }, "product_id": { "title": "Product Id", "type": "string" }, "metadata": { "title": "Metadata", "type": "array", "items": { "$ref": "#/components/schemas/Metadata" } }, "type": { "$ref": "#/components/schemas/LicenseType", "readOnly": true }, "notes": { "title": "Notes", "type": "string" } } } ], "title": "LicensePublic", "discriminator": { "propertyName": "type" } }, "PaymentMethodList": { "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/CardPublic" } }, "next_page": { "title": "Next Page", "description": "The next page, if this on is not the last", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "PaymentMethodList", "type": "string", "pattern": "^PaymentMethodList$", "readOnly": true } } } ], "title": "PaymentMethodList", "description": "A list response from a pagination request", "discriminator": { "propertyName": "type" } }, "FileMeta": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "key": { "title": "Key", "type": "string" }, "file_type": { "title": "File Type", "type": "string" }, "file_name": { "title": "File Name", "type": "string" }, "last_modified": { "title": "Last Modified", "type": "string", "format": "date-time" }, "size": { "title": "Size", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "FileMeta", "type": "string", "pattern": "^FileMeta$", "readOnly": true } }, "required": [ "key", "file_type", "file_name" ] } ], "title": "FileMeta", "discriminator": { "propertyName": "type" } }, "OrganizationCreate": { "allOf": [ { "$ref": "#/components/schemas/OrganizationUpdate" }, { "type": "object", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "properties": { "type": { "title": "Type", "default": "OrganizationCreate", "type": "string", "pattern": "^OrganizationCreate$", "readOnly": true } } } ], "title": "OrganizationCreate", "discriminator": { "propertyName": "type" } }, "ProjectUpdate": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "name": { "title": "Name", "description": "The name of the project. Must be unique to a given owner", "example": "Project Falcon", "type": "string" }, "description": { "title": "Description", "description": "A description of the project", "example": "I always wanted to have a project called project Falcon", "type": "string" }, "public": { "title": "Public", "description": "Whether or not a project is publicly viewable", "type": "boolean" }, "type": { "title": "Type", "default": "ProjectUpdate", "type": "string", "pattern": "^ProjectUpdate$", "readOnly": true } }, "required": [ "key" ] } ], "title": "ProjectUpdate", "discriminator": { "propertyName": "type" } }, "Status": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "frozen": { "title": "Frozen", "description": "Whether account actions are currently blocked by a payment failure", "default": false, "type": "boolean" }, "type": { "title": "Type", "default": "Status", "type": "string", "pattern": "^Status$", "readOnly": true } } } ], "title": "Status", "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" } }, "OrganizationMember": { "allOf": [ { "$ref": "#/components/schemas/PolicySubject" }, { "type": "object", "properties": { "user": { "title": "User", "description": "The organization member", "allOf": [ { "$ref": "#/components/schemas/UserPublic" } ] }, "role": { "description": "The role the user has within the organization", "example": "member", "allOf": [ { "$ref": "#/components/schemas/OrganizationRoleEnum" } ] }, "type": { "title": "Type", "default": "OrganizationMember", "type": "string", "pattern": "^OrganizationMember$", "readOnly": true } }, "required": [ "user", "role" ] } ], "title": "OrganizationMember", "discriminator": { "propertyName": "type" } }, "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" } }, "RunList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "page", "per_page", "page_count", "total_count", "resources" ], "properties": { "page": { "title": "Page", "description": "The current page the pagination request is on", "type": "integer", "format": "int32" }, "per_page": { "title": "Per Page", "description": "The number of pages per pagination request", "type": "integer", "format": "int32" }, "page_count": { "title": "Page Count", "description": "The total number of pages", "type": "integer", "format": "int32" }, "total_count": { "title": "Total Count", "description": "The total number of resources matching the list request", "type": "integer", "format": "int32" }, "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/Run" } }, "next_page": { "title": "Next Page", "description": "The next page, if this on is not the last", "type": "integer", "format": "int32" }, "type": { "title": "Type", "default": "RunList", "type": "string", "pattern": "^RunList$", "readOnly": true } } } ], "title": "RunList", "description": "A list response from a pagination request", "discriminator": { "propertyName": "type" } }, "RepositoryAccessPolicy": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "subject", "permission" ], "properties": { "subject": { "title": "Subject", "description": "The subject of the access policy", "allOf": [ { "$ref": "#/components/schemas/PolicySubject" } ] }, "permission": { "description": "The permission given to the subject of the access policy", "example": "write", "allOf": [ { "$ref": "#/components/schemas/Permission" } ] }, "type": { "title": "Type", "default": "RepositoryAccessPolicy", "type": "string", "pattern": "^RepositoryAccessPolicy$", "readOnly": true } } } ], "title": "RepositoryAccessPolicy", "discriminator": { "propertyName": "type" } }, "PaymentSetup": { "allOf": [ { "$ref": "#/components/schemas/_SecureResourcePublic" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "PaymentSetup", "type": "string", "pattern": "^PaymentSetup$", "readOnly": true } } } ], "title": "PaymentSetup", "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" } }, "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" } }, "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" } }, "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" } }, "ActivationList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "resources": { "title": "Resources", "type": "array", "items": { "$ref": "#/components/schemas/Activation" } }, "type": { "title": "Type", "default": "ActivationList", "type": "string", "pattern": "^ActivationList$", "readOnly": true } }, "required": [ "resources" ] } ], "title": "ActivationList", "discriminator": { "propertyName": "type" } }, "SubscriptionItemList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "required": [ "has_more", "data" ], "properties": { "has_more": { "title": "Has More", "type": "boolean" }, "data": { "title": "Data", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/SubscriptionItem" }, { "$ref": "#/components/schemas/DeleteSubscriptionItem" } ] } }, "type": { "title": "Type", "default": "SubscriptionItemList", "type": "string", "pattern": "^SubscriptionItemList$", "readOnly": true } } } ], "title": "SubscriptionItemList", "discriminator": { "propertyName": "type" } }, "Subscription": { "allOf": [ { "$ref": "#/components/schemas/ExternalResource" }, { "type": "object", "required": [ "cancel_at_period_end", "current_period_start", "current_period_end", "customer", "items", "latest_invoice" ], "properties": { "cancel_at_period_end": { "title": "Cancel At Period End", "type": "boolean" }, "current_period_start": { "title": "Current Period Start", "type": "string", "format": "date-time" }, "current_period_end": { "title": "Current Period End", "type": "string", "format": "date-time" }, "customer": { "title": "Customer", "type": "string" }, "items": { "$ref": "#/components/schemas/SubscriptionItemList" }, "latest_invoice": { "title": "Latest Invoice", "type": "string" }, "default_payment_method": { "title": "Default Payment Method", "type": "string" }, "schedule": { "title": "Schedule", "type": "string" }, "discount": { "$ref": "#/components/schemas/Discount" }, "type": { "title": "Type", "default": "Subscription", "type": "string", "pattern": "^Subscription$", "readOnly": true } } } ], "title": "Subscription", "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" } }, "_DAGArtifactOutputAlias": { "allOf": [ { "$ref": "#/components/schemas/DAGGenericOutputAlias" }, { "type": "object", "properties": { "required": { "title": "Required", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true, "type": "boolean" }, "type": { "title": "Type", "default": "DAGGenericOutputAlias", "pattern": "^DAGGenericOutputAlias$", "type": "string", "readOnly": true } } } ], "title": "_DAGArtifactOutputAlias", "description": "Base class for DAG artifact output aliases.\n\nThis class add a required input. By default all artifact outputs are required.", "discriminator": { "propertyName": "type" } }, "GenericOutput": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "name": { "title": "Name", "description": "Output name.", "type": "string" }, "type": { "title": "Type", "default": "GenericOutput", "pattern": "^GenericOutput$", "type": "string", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "description": { "title": "Description", "description": "Optional description for output.", "type": "string" } }, "required": [ "name" ] } ], "title": "GenericOutput", "description": "Base class for all output types.\n\nThe baseclass uses a name to source the output.", "discriminator": { "propertyName": "type" } }, "_DAGArtifactOutputAlias": { "allOf": [ { "$ref": "#/components/schemas/DAGGenericOutputAlias" }, { "type": "object", "properties": { "required": { "title": "Required", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true, "type": "boolean" }, "type": { "title": "Type", "default": "DAGGenericOutputAlias", "pattern": "^DAGGenericOutputAlias$", "type": "string", "readOnly": true } } } ], "title": "_DAGArtifactOutputAlias", "description": "Base class for DAG artifact output aliases.\n\nThis class add a required input. By default all artifact outputs are required.", "discriminator": { "propertyName": "type" } }, "AccessPolicy": { "allOf": [ { "$ref": "#/components/schemas/GenericOutput" }, { "type": "object", "required": [ "path" ], "properties": { "path": { "title": "Path", "description": "Path to the output artifact relative to where the function command is executed.", "type": "string" }, "required": { "title": "Required", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true, "type": "boolean" }, "type": { "title": "Type", "default": "PathOutput", "pattern": "^PathOutput$", "type": "string", "readOnly": true } } } ], "title": "PathOutput", "description": "Base class for output classes that source tha output from a path.\n\nAn example of using PathOutput is TaskFile and TaskFolder outputs.", "discriminator": { "propertyName": "type" } }, "_ArtifactSource": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "_ArtifactSource", "pattern": "^_ArtifactSource$", "type": "string", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } } } } ], "title": "_ArtifactSource", "description": "ArtifactSource.\n\nAn Artifact Source System.", "discriminator": { "propertyName": "type" } }, "_BaseReference": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "_BaseReference", "pattern": "^_BaseReference$", "type": "string", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } } } } ], "title": "_BaseReference", "description": "A Base reference model.", "discriminator": { "propertyName": "type" } }, "_DAGArtifactOutput": { "allOf": [ { "$ref": "#/components/schemas/DAGGenericOutput" }, { "type": "object", "properties": { "required": { "title": "Required", "description": "A boolean to indicate if an artifact output is required. A False value makes the artifact optional.", "default": true, "type": "boolean" }, "type": { "title": "Type", "default": "DAGGenericOutput", "pattern": "^DAGGenericOutput$", "type": "string", "readOnly": true } } } ], "title": "_DAGArtifactOutput", "description": "Base class for DAG artifact outputs.\n\nThis class add a required input. By default all artifact outputs are required.", "discriminator": { "propertyName": "type" } }, "FromOutput": { "allOf": [ { "$ref": "#/components/schemas/GenericOutput" }, { "type": "object", "required": [ "from" ], "properties": { "from": { "title": "From", "description": "Reference to a file or a task output. Task output must be file." }, "type": { "title": "Type", "default": "FromOutput", "pattern": "^FromOutput$", "type": "string", "readOnly": true } } } ], "title": "FromOutput", "description": "Base class for output classes that source ``from`` an object.\n\nSee DAG output classes for more examples.", "discriminator": { "propertyName": "type" } }, "GenericInput": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "name": { "title": "Name", "description": "Input name.", "type": "string" }, "type": { "title": "Type", "default": "GenericInput", "pattern": "^GenericInput$", "type": "string", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "description": { "title": "Description", "description": "Optional description for input.", "type": "string" } }, "required": [ "name" ] } ], "title": "GenericInput", "description": "Base class for all input types.", "discriminator": { "propertyName": "type" } }, "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": [ "started_at" ], "properties": { "started_at": { "title": "Started At", "description": "The time at which the task was started", "type": "string", "format": "date-time" }, "message": { "title": "Message", "description": "Any message produced by the task. Usually error/debugging hints.", "type": "string" }, "finished_at": { "title": "Finished At", "description": "The time at which the task was completed", "type": "string", "format": "date-time" }, "source": { "title": "Source", "description": "Source url for the status object. It can be a recipe or a function.", "type": "string" }, "type": { "title": "Type", "default": "BaseStatus", "pattern": "^BaseStatus$", "type": "string", "readOnly": true } } } ], "title": "BaseStatus", "description": "Base Status model", "discriminator": { "propertyName": "type" } }, "IOBase": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "IOBase", "pattern": "^IOBase$", "type": "string", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "inputs": { "title": "Inputs", "description": "Place-holder. Overwrite this!", "type": "array", "items": {} }, "outputs": { "title": "Outputs", "description": "Place-holder. Overwrite this!", "type": "array", "items": {} } } } ], "title": "IOBase", "description": "A reusable model for classes with Input and Output (IO) objects.\n\nIOBase is the baseclass for Function, DAG and Workflow.", "discriminator": { "propertyName": "type" } }, "ExternalResource": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "id": { "title": "Id", "type": "string" }, "metadata": { "title": "Metadata", "default": {}, "type": "object" }, "type": { "title": "Type", "default": "ExternalResource", "type": "string", "pattern": "^ExternalResource$", "readOnly": true } }, "required": [ "id" ] } ], "title": "ExternalResource", "discriminator": { "propertyName": "type" } }, "RepositoryPackage": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "digest": { "title": "Digest", "description": "The new package digest", "type": "string" }, "tag": { "title": "Tag", "description": "The new package tag", "type": "string" }, "keywords": { "title": "Keywords", "description": "keywords", "type": "array", "items": { "type": "string" } }, "description": { "title": "Description", "description": "description", "type": "string" }, "icon": { "title": "Icon", "description": "icon", "type": "string" }, "created_at": { "title": "Created At", "description": "Creation Timestamp", "type": "string", "format": "date-time" }, "readme": { "title": "Readme", "description": "The Repository Readme", "example": "# Daylight Factor \n This recipe runs a daylight factor simulation.", "type": "string" }, "type": { "title": "Type", "default": "RepositoryPackage", "type": "string", "pattern": "^RepositoryPackage$", "readOnly": true } }, "required": [ "digest", "tag" ] } ], "title": "RepositoryPackage", "discriminator": { "propertyName": "type" } }, "_InputReferenceBase": { "allOf": [ { "$ref": "#/components/schemas/_BaseReference" }, { "type": "object", "required": [ "variable" ], "properties": { "variable": { "title": "Variable", "description": "The name of the DAG input variable", "type": "string" }, "type": { "title": "Type", "default": "_InputReferenceBase", "pattern": "^_InputReferenceBase$", "type": "string", "readOnly": true } } } ], "title": "_InputReferenceBase", "description": "An input reference.", "discriminator": { "propertyName": "type" } }, "CryptlexBase": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "CryptlexBase", "type": "string", "pattern": "^CryptlexBase$", "readOnly": true } } } ], "title": "CryptlexBase", "discriminator": { "propertyName": "type" } }, "_InputReferenceBase": { "allOf": [ { "$ref": "#/components/schemas/_BaseReference" }, { "type": "object", "required": [ "variable" ], "properties": { "variable": { "title": "Variable", "description": "The name of the DAG input variable", "type": "string" }, "type": { "title": "Type", "default": "_InputReferenceBase", "pattern": "^_InputReferenceBase$", "type": "string", "readOnly": true } } } ], "title": "_InputReferenceBase", "description": "An input reference.", "discriminator": { "propertyName": "type" } }, "BaseList": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "has_more": { "title": "Has More", "type": "boolean" }, "data": { "title": "Data", "type": "array", "items": { "type": "object" } }, "type": { "title": "Type", "default": "BaseList", "type": "string", "pattern": "^BaseList$", "readOnly": true } }, "required": [ "has_more", "data" ] } ], "title": "BaseList", "discriminator": { "propertyName": "type" } }, "_SecureResourcePublic": { "allOf": [ { "$ref": "#/components/schemas/_OpenAPIGenBaseModel" }, { "type": "object", "properties": { "type": { "title": "Type", "default": "IOBase", "pattern": "^IOBase$", "type": "string", "readOnly": true }, "annotations": { "title": "Annotations", "description": "An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.", "type": "object", "additionalProperties": { "type": "string" } }, "inputs": { "title": "Inputs", "description": "Place-holder. Overwrite this!", "type": "array", "items": {} }, "outputs": { "title": "Outputs", "description": "Place-holder. Overwrite this!", "type": "array", "items": {} } } } ], "title": "IOBase", "description": "A reusable model for classes with Input and Output (IO) objects.\n\nIOBase is the baseclass for Function, DAG and Workflow.", "discriminator": { "propertyName": "type" } }, "_TaskReferenceBase": { "allOf": [ { "$ref": "#/components/schemas/_BaseReference" }, { "type": "object", "required": [ "name", "variable" ], "properties": { "name": { "title": "Name", "description": "The name of the task to pull output data from.", "type": "string" }, "variable": { "title": "Variable", "description": "The name of the variable.", "type": "string" }, "type": { "title": "Type", "default": "_TaskReferenceBase", "pattern": "^_TaskReferenceBase$", "type": "string", "pattern": "^AccessPolicyList$", "readOnly": true } } } ], "title": "_TaskReferenceBase", "description": "A Task Reference", "discriminator": { "propertyName": "type" } }, "Product": { "allOf": [ { "$ref": "#/components/schemas/ExternalResource" }, { "type": "object", "required": [ "active", "name" ], "properties": { "active": { "title": "Active", "type": "boolean" }, "name": { "title": "Name", "type": "string" }, "description": { "title": "Description", "type": "string" }, "type": { "title": "Type", "default": "Product", "type": "string", "pattern": "^Product$", "readOnly": true } } } ], "title": "Product", "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" } } } }