{"openapi":"3.1.0","info":{"title":"pollination-server","description":"Pollination Server OpenAPI Definition","version":"0.0.0","contact":{"name":"PollinationSolutions","url":"https://pollination.solutions","email":"info@pollination.solutions"}},"paths":{"/accounts":{"get":{"tags":["Accounts"],"summary":"List Accounts on the Pollination platform","description":"List accounts","operationId":"list_accounts","parameters":[{"description":"Search string to find accounts","required":false,"schema":{"type":"string","title":"Search Query","description":"Search string to find accounts"},"name":"search","in":"query"},{"description":"Whether the account is for a user or an org","required":false,"schema":{"type":"string","title":"Account Type","description":"Whether the account is for a user or an org"},"name":"type","in":"query"},{"description":"The role the user has in relation to this account","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/RoleEnum"}],"title":"User Role","description":"The role the user has in relation to this account"},"name":"role","in":"query"},{"description":"Page number starting from 1","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page number","description":"Page number starting from 1","default":1},"name":"page","in":"query"},{"description":"Number of items per page","required":false,"schema":{"type":"integer","maximum":100.0,"title":"Items per page","description":"Number of items per page","default":25},"name":"per-page","in":"query"}],"responses":{"200":{"description":"Retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicAccountList"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/accounts/{name}":{"get":{"tags":["Accounts"],"summary":"Get an account by name","description":"Retrieve an account by name","operationId":"get_account","parameters":[{"required":true,"schema":{"type":"string","title":"Name"},"name":"name","in":"path"}],"responses":{"200":{"description":"Retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountPublic"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Accounts"],"summary":"Delete an account","description":"Delete an account","operationId":"delete_account","parameters":[{"required":true,"schema":{"type":"string","title":"Name"},"name":"name","in":"path"}],"responses":{"204":{"description":"Deleted"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/accounts/check/{name}":{"get":{"tags":["Accounts"],"summary":"Check if an account with this name exists","description":"Check if an account name is taken","operationId":"check_account_name","parameters":[{"required":true,"schema":{"type":"string","title":"Name"},"name":"name","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/accounts/{name}/quotas":{"get":{"tags":["Accounts"],"summary":"List Quotas","operationId":"list_quotas","parameters":[{"required":true,"schema":{"type":"string","title":"Name"},"name":"name","in":"path"},{"description":"The types of quotas to get","required":false,"schema":{"items":{"$ref":"#/components/schemas/QuotaType"},"type":"array","title":"Quota type","description":"The types of quotas to get"},"name":"type","in":"query"},{"description":"Whether to return only quotas which are exhausted","required":false,"schema":{"type":"boolean","title":"Is exhausted","description":"Whether to return only quotas which are exhausted"},"name":"exhausted","in":"query"},{"description":"Whether to return only quotas which are enforced","required":false,"schema":{"type":"boolean","title":"Is enforced","description":"Whether to return only quotas which are enforced"},"name":"enforced","in":"query"},{"description":"Page number starting from 1","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page number","description":"Page number starting from 1","default":1},"name":"page","in":"query"},{"description":"Number of items per page","required":false,"schema":{"type":"integer","maximum":100.0,"title":"Items per page","description":"Number of items per page","default":25},"name":"per-page","in":"query"}],"responses":{"200":{"description":"Retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuotaList"}}}},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/tokens":{"get":{"tags":["API Tokens"],"summary":"List user API tokens","description":"List API tokens for the authenticated user","operationId":"list_tokens","parameters":[{"description":"Page number starting from 1","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page number","description":"Page number starting from 1","default":1},"name":"page","in":"query"},{"description":"Number of items per page","required":false,"schema":{"type":"integer","maximum":100.0,"title":"Items per page","description":"Number of items per page","default":25},"name":"per-page","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/APITokenList"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]}]},"post":{"tags":["API Tokens"],"summary":"Create a new API token","description":"Create a new API token","operationId":"create_token","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/APITokenCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/APITokenPrivate"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]}]}},"/tokens/{token_id}":{"put":{"tags":["API Tokens"],"summary":"Regenerate an API token","description":"Regenerate a token","operationId":"regenerate_token","parameters":[{"required":true,"schema":{"type":"string","title":"Token Id"},"name":"token_id","in":"path"}],"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/APITokenPrivate"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]}]},"delete":{"tags":["API Tokens"],"summary":"Delete an API Token","description":"Delete a token","operationId":"delete_token","parameters":[{"required":true,"schema":{"type":"string","title":"Token Id"},"name":"token_id","in":"path"}],"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]}]}},"/user":{"get":{"tags":["User"],"summary":"Get authenticated user profile.","description":"Get authenticated user profile","operationId":"get_me","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserPrivate"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]},"put":{"tags":["User"],"summary":"Update the authenticated user","description":"Update the authenticated user profile","operationId":"update_user_profile","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserUpdate"}}},"required":true},"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAccepted"}}}},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]},"post":{"tags":["User"],"summary":"Register a new user","description":"Create a new user.","operationId":"create_user","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCreate"}}},"required":true},"responses":{"201":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedContent"}}}},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"202":{"description":"Accepted"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]}]}},"/user/roles":{"get":{"tags":["User"],"summary":"Get the authenticated user roles","operationId":"get_roles","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"type":"string"},"type":"array","title":"Response Get Roles"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/user/organization-roles":{"get":{"tags":["User"],"summary":"Get the authenticated user organization roles","operationId":"get_organization_roles","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/OrganizationRole"},"type":"array","title":"Response Get Organization Roles"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/users":{"get":{"tags":["Users"],"summary":"List Users","operationId":"list_users","parameters":[{"description":"Search string to find users","required":false,"schema":{"type":"string","title":"Search Query","description":"Search string to find users"},"name":"search","in":"query"},{"description":"Page number starting from 1","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page number","description":"Page number starting from 1","default":1},"name":"page","in":"query"},{"description":"Number of items per page","required":false,"schema":{"type":"integer","maximum":100.0,"title":"Items per page","description":"Number of items per page","default":25},"name":"per-page","in":"query"}],"responses":{"200":{"description":"Retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserPublicList"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/users/check_username/{username}":{"get":{"tags":["Users"],"summary":"Check if a username is already taken","description":"Check if a username is already taken by a user or an org","operationId":"check_username","parameters":[{"required":true,"schema":{"type":"string","title":"Username"},"name":"username","in":"path"}],"responses":{"200":{"description":"Username not taken","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"deprecated":true}},"/users/{name}":{"get":{"tags":["Users"],"summary":"Get a specific user profile","description":"Get a specific user profile by name","operationId":"get_one_user","parameters":[{"required":true,"schema":{"type":"string","title":"Username"},"name":"name","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserPublic"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/licenses/pools":{"get":{"tags":["Licenses"],"summary":"Get license pools available to authenticated user","operationId":"get_available_pools","parameters":[{"description":"Owner of the project","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Repository Owner","description":"Owner of the project"},"name":"owner","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LicensePoolList"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/licenses/pools/{pool_id}":{"put":{"tags":["Licenses"],"summary":"Update the license pool","operationId":"update_license_pool","parameters":[{"required":true,"schema":{"type":"string","format":"uuid","title":"Pool Id"},"name":"pool_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LicensePoolUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/licenses/pools/{pool_id}/regenerate":{"post":{"tags":["Licenses"],"summary":"Regenerate the license associated with the pool","operationId":"regenerate_license_pool","parameters":[{"required":true,"schema":{"type":"string","format":"uuid","title":"Pool Id"},"name":"pool_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/licenses/pools/{pool_id}/permissions":{"delete":{"tags":["Licenses"],"summary":"Revoke access to the license pool","operationId":"revoke_access_to_pool","parameters":[{"required":true,"schema":{"type":"string","format":"uuid","title":"Pool Id"},"name":"pool_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LicensePoolPolicySubjectList"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LicensePoolPublic"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]},"patch":{"tags":["Licenses"],"summary":"Grant access to the license pool","operationId":"grant_access_to_pool","parameters":[{"required":true,"schema":{"type":"string","format":"uuid","title":"Pool Id"},"name":"pool_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LicensePoolAccessPolicyList"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LicensePoolPublic"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/licenses/pools/{pool_id}/license":{"get":{"tags":["Licenses"],"summary":"Get the license associated with a pool","operationId":"get_pool_license","parameters":[{"required":true,"schema":{"type":"string","format":"uuid","title":"Pool Id"},"name":"pool_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LicensePublic"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/licenses/pools/{pool_id}/activations":{"get":{"tags":["Licenses"],"summary":"Get the activations for the license","operationId":"get_license_activations","parameters":[{"required":true,"schema":{"type":"string","title":"Pool Id"},"name":"pool_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActivationList"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/licenses/pools/{pool_id}/activations/{activation_id}":{"delete":{"tags":["Licenses"],"summary":"Delete the activation","operationId":"delete_activation","parameters":[{"required":true,"schema":{"type":"string","title":"Pool Id"},"name":"pool_id","in":"path"},{"required":true,"schema":{"type":"string","title":"Activation Id"},"name":"activation_id","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/licenses/trial-status":{"get":{"tags":["Licenses"],"summary":"Check if an account has activated a trial for a specific product","description":"Check whether a Pollination account has previously activated a trial\nlicense for a given product (Rhino or Revit plugin).","operationId":"get_trial_status","parameters":[{"description":"The username of the account to check","required":true,"schema":{"type":"string","title":"Account","description":"The username of the account to check"},"name":"account","in":"query"},{"description":"The product to check (rhino_plugin or revit_plugin)","required":true,"schema":{"allOf":[{"$ref":"#/components/schemas/Product"}],"description":"The product to check (rhino_plugin or revit_plugin)"},"name":"product","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrialStatusResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/orgs":{"get":{"tags":["Orgs"],"summary":"List Orgs","description":"search for orgs using query parameters","operationId":"list_orgs","parameters":[{"description":"You know, for search","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Search query","description":"You know, for search","default":[]},"name":"search","in":"query"},{"description":"The account name","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Account Name","description":"The account name","default":[]},"name":"name","in":"query"},{"description":"The username of a user","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Member username","description":"The username of a user","default":[]},"name":"member","in":"query"},{"description":"Page number starting from 1","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page number","description":"Page number starting from 1","default":1},"name":"page","in":"query"},{"description":"Number of items per page","required":false,"schema":{"type":"integer","maximum":100.0,"title":"Items per page","description":"Number of items per page","default":25},"name":"per-page","in":"query"}],"responses":{"200":{"description":"Retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationList"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]},"post":{"tags":["Orgs"],"summary":"Create an Org","description":"Create a new org.","operationId":"create_org","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationCreate"}}},"required":true},"responses":{"201":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedContent"}}}},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"202":{"description":"Accepted"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/orgs/{name}":{"get":{"tags":["Orgs"],"summary":"Get an Org","description":"Retrieve a org by name","operationId":"get_org","parameters":[{"required":true,"schema":{"type":"string","title":"Name"},"name":"name","in":"path"}],"responses":{"200":{"description":"Retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Organization"}}}},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]},"put":{"tags":["Orgs"],"summary":"Update an Org","description":"Update a org (must have org `owner` role)","operationId":"update_org","parameters":[{"required":true,"schema":{"type":"string","title":"Name"},"name":"name","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationUpdate"}}},"required":true},"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAccepted"}}}},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]},"delete":{"tags":["Orgs"],"summary":"Delete an Org","description":"Delete a org (must have `admin` permission)","operationId":"delete_org","parameters":[{"required":true,"schema":{"type":"string","title":"Name"},"name":"name","in":"path"}],"responses":{"204":{"description":"Accepted"},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/orgs/{name}/roles":{"get":{"tags":["Orgs"],"summary":"List organization roles","description":"Retrieve a org's roles","operationId":"get_org_roles","parameters":[{"required":true,"schema":{"type":"string","title":"Name"},"name":"name","in":"path"}],"responses":{"200":{"description":"Retrieved","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/OrganizationRole"},"type":"array","title":"Response Get Org Roles"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/orgs/{name}/role-bindings":{"get":{"tags":["Orgs"],"summary":"List organization role bindings","description":"Retrieve a org's role bindings","operationId":"get_org_role_bindings","parameters":[{"required":true,"schema":{"type":"string","title":"Name"},"name":"name","in":"path"}],"responses":{"200":{"description":"Retrieved","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/OrganizationRoleBinding"},"type":"array","title":"Response Get Org Role Bindings"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/orgs/{name}/role-bindings/{role_name}/{username}":{"delete":{"tags":["Orgs"],"summary":"Remove an organization role binding","description":"Remove a role binding from the org (must have org `owner` role)","operationId":"delete_org_role_binding","parameters":[{"required":true,"schema":{"type":"string","title":"Name"},"name":"name","in":"path"},{"required":true,"schema":{"type":"string","title":"Role Name"},"name":"role_name","in":"path"},{"required":true,"schema":{"type":"string","title":"Username"},"name":"username","in":"path"}],"responses":{"204":{"description":"Accepted"},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]},"patch":{"tags":["Orgs"],"summary":"Add or update an organization role binding","description":"Upsert a role binding to the org (must have org `owner` role)","operationId":"upsert_org_role_binding","parameters":[{"required":true,"schema":{"type":"string","title":"Name"},"name":"name","in":"path"},{"required":true,"schema":{"type":"string","title":"Role Name"},"name":"role_name","in":"path"},{"required":true,"schema":{"type":"string","title":"Username"},"name":"username","in":"path"}],"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAccepted"}}}},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/orgs/{name}/members":{"get":{"tags":["Orgs"],"summary":"List organization members","description":"Retrieve a org's members","operationId":"get_org_members","parameters":[{"required":true,"schema":{"type":"string","title":"Name"},"name":"name","in":"path"}],"responses":{"200":{"description":"Retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationMemberList"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/orgs/{name}/members/{username}/{role}":{"patch":{"tags":["Orgs"],"summary":"Add or update the role of an Org Member","description":"Upsert a member role to the org (must have org `owner` role)","operationId":"upsert_org_member","parameters":[{"required":true,"schema":{"type":"string","title":"Name"},"name":"name","in":"path"},{"required":true,"schema":{"type":"string","title":"Username"},"name":"username","in":"path"},{"required":true,"schema":{"$ref":"#/components/schemas/OrganizationRoleEnum"},"name":"role","in":"path"}],"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAccepted"}}}},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"deprecated":true,"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/orgs/{name}/members/{username}":{"post":{"tags":["Orgs"],"summary":"Add a member to the Organization","description":"Add a member to the org (must have org `owner` role)","operationId":"add_organization_member","parameters":[{"required":true,"schema":{"type":"string","title":"Name"},"name":"name","in":"path"},{"required":true,"schema":{"type":"string","title":"Username"},"name":"username","in":"path"}],"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAccepted"}}}},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]},"delete":{"tags":["Orgs"],"summary":"Remove an Org member","description":"Remove a member from the org (must have org `owner` role)","operationId":"delete_org_member","parameters":[{"required":true,"schema":{"type":"string","title":"Name"},"name":"name","in":"path"},{"required":true,"schema":{"type":"string","title":"Username"},"name":"username","in":"path"}],"responses":{"204":{"description":"Accepted"},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/orgs/{org_name}/teams":{"get":{"tags":["Teams"],"summary":"List Teams","description":"search for orgs using query parameters","operationId":"list_org_teams","parameters":[{"required":true,"schema":{"type":"string","title":"Org Name"},"name":"org_name","in":"path"},{"description":"You know, for search","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Search query","description":"You know, for search","default":[]},"name":"search","in":"query"},{"description":"The account name","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Account Name","description":"The account name","default":[]},"name":"name","in":"query"},{"description":"The ID of a user","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Member ID","description":"The ID of a user","default":[]},"name":"member","in":"query"},{"description":"Page number starting from 1","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page number","description":"Page number starting from 1","default":1},"name":"page","in":"query"},{"description":"Number of items per page","required":false,"schema":{"type":"integer","maximum":100.0,"title":"Items per page","description":"Number of items per page","default":25},"name":"per-page","in":"query"}],"responses":{"200":{"description":"Retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamList"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Teams"],"summary":"Create a Team","description":"Create a new team (must be parent org member)","operationId":"create_team","parameters":[{"required":true,"schema":{"type":"string","title":"Org Name"},"name":"org_name","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamCreate"}}},"required":true},"responses":{"201":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedContent"}}}},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"202":{"description":"Accepted"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/orgs/{org_name}/teams/{team_slug}":{"get":{"tags":["Teams"],"summary":"Get a Team","description":"Retrieve a team by name","operationId":"get_team","parameters":[{"required":true,"schema":{"type":"string","title":"Org Name"},"name":"org_name","in":"path"},{"required":true,"schema":{"type":"string","title":"Team Slug"},"name":"team_slug","in":"path"}],"responses":{"200":{"description":"Retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Team"}}}},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Teams"],"summary":"Update a Team","description":"Update a team (must have team or org `owner` role)","operationId":"update_team","parameters":[{"required":true,"schema":{"type":"string","title":"Org Name"},"name":"org_name","in":"path"},{"required":true,"schema":{"type":"string","title":"Team Slug"},"name":"team_slug","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamUpdate"}}},"required":true},"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAccepted"}}}},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]},"delete":{"tags":["Teams"],"summary":"Delete a Team","description":"Delete a team (must have team or org `owner` role)","operationId":"delete_team","parameters":[{"required":true,"schema":{"type":"string","title":"Org Name"},"name":"org_name","in":"path"},{"required":true,"schema":{"type":"string","title":"Team Slug"},"name":"team_slug","in":"path"}],"responses":{"204":{"description":"Accepted"},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/orgs/{org_name}/teams/{team_slug}/members":{"get":{"tags":["Teams"],"summary":"List team members","description":"Retrieve a tean's members","operationId":"get_org_team_members","parameters":[{"required":true,"schema":{"type":"string","title":"Org Name"},"name":"org_name","in":"path"},{"required":true,"schema":{"type":"string","title":"Team Slug"},"name":"team_slug","in":"path"}],"responses":{"200":{"description":"Retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamMemberList"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/orgs/{org_name}/teams/{team_slug}/members/{username}/{role}":{"patch":{"tags":["Teams"],"summary":"Add or update the role of an Team Member","description":"Upsert a member role to the team (must have org or team `owner` role)","operationId":"upsert_org_team_member","parameters":[{"required":true,"schema":{"type":"string","title":"Org Name"},"name":"org_name","in":"path"},{"required":true,"schema":{"type":"string","title":"Team Slug"},"name":"team_slug","in":"path"},{"required":true,"schema":{"type":"string","title":"Username"},"name":"username","in":"path"},{"required":true,"schema":{"$ref":"#/components/schemas/TeamRoleEnum"},"name":"role","in":"path"}],"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAccepted"}}}},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/orgs/{org_name}/teams/{team_slug}/members/{username}":{"delete":{"tags":["Teams"],"summary":"Remove a team member","description":"Remove a member from the org (must have org `owner` role)","operationId":"delete_org_team_member","parameters":[{"required":true,"schema":{"type":"string","title":"Org Name"},"name":"org_name","in":"path"},{"required":true,"schema":{"type":"string","title":"Team Slug"},"name":"team_slug","in":"path"},{"required":true,"schema":{"type":"string","title":"Username"},"name":"username","in":"path"}],"responses":{"204":{"description":"Accepted"},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/applications":{"get":{"tags":["Applications"],"summary":"List Applications","operationId":"list_applications","parameters":[{"description":"Search string to find applications","required":false,"schema":{"type":"string","title":"Search Query","description":"Search string to find applications"},"name":"search","in":"query"},{"description":"The ID of a application to search for","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Application ID","description":"The ID of a application to search for","default":[]},"name":"ids","in":"query"},{"description":"The name of the application","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Application Name","description":"The name of the application","default":[]},"name":"names","in":"query"},{"description":"Owner of the application","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Application Owner","description":"Owner of the application","default":[]},"name":"owner","in":"query"},{"description":"Boolean check for public/private applications","required":false,"schema":{"type":"boolean","title":"Public Application","description":"Boolean check for public/private applications"},"name":"public","in":"query"},{"description":"Filter by deployed applications","required":false,"schema":{"type":"boolean","title":"Deployed","description":"Filter by deployed applications"},"name":"deployed","in":"query"},{"description":"Filter by permission on given resource","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Permission Name","description":"Filter by permission on given resource","default":[]},"name":"permissions","in":"query"},{"description":"Filter by keywords on given resource","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Keywords","description":"Filter by keywords on given resource","default":[]},"name":"keywords","in":"query"},{"description":"Key to sort the list by","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/ApplicationSortKey"}],"title":"Sort By","description":"Key to sort the list by"},"name":"sort_by","in":"query"},{"description":"The order to sort the list","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/SortEnum"}],"title":"Sort Order","description":"The order to sort the list","default":"ascending"},"name":"sort_order","in":"query"},{"description":"Page number starting from 1","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page number","description":"Page number starting from 1","default":1},"name":"page","in":"query"},{"description":"Number of items per page","required":false,"schema":{"type":"integer","maximum":100.0,"title":"Items per page","description":"Number of items per page","default":25},"name":"per-page","in":"query"}],"responses":{"200":{"description":"Retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationList"}}}},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/applications/{owner}":{"post":{"tags":["Applications"],"summary":"Create an Application","operationId":"create_application","parameters":[{"required":true,"schema":{"type":"string","title":"Owner"},"name":"owner","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationCreate"}}},"required":true},"responses":{"201":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Application"}}}},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"202":{"description":"Accepted"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/applications/{owner}/{slug}":{"get":{"tags":["Applications"],"summary":"Get an application","operationId":"get_application","parameters":[{"required":true,"schema":{"type":"string","title":"Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Slug"},"name":"slug","in":"path"}],"responses":{"200":{"description":"Retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Application"}}}},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]},"put":{"tags":["Applications"],"summary":"Update a Application","operationId":"update_application","parameters":[{"required":true,"schema":{"type":"string","title":"Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Slug"},"name":"slug","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationUpdate"}}},"required":true},"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAccepted"}}}},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]},"delete":{"tags":["Applications"],"summary":"Delete a Application","operationId":"delete_application","parameters":[{"required":true,"schema":{"type":"string","title":"Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Slug"},"name":"slug","in":"path"}],"responses":{"204":{"description":"Accepted"},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/applications/{owner}/{slug}/deployment":{"get":{"tags":["Applications"],"summary":"Get application deployment","operationId":"get_application_deployment","parameters":[{"required":true,"schema":{"type":"string","title":"Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Slug"},"name":"slug","in":"path"}],"responses":{"200":{"description":"Retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationDeployment"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]},"delete":{"tags":["Applications"],"summary":"Restart application deployment","operationId":"restart_application_deployment","parameters":[{"required":true,"schema":{"type":"string","title":"Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Slug"},"name":"slug","in":"path"}],"responses":{"200":{"description":"Retrieved","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/applications/{owner}/{slug}/permissions":{"get":{"tags":["Applications"],"summary":"Get application access permissions","operationId":"get_application_access_permissions","parameters":[{"required":true,"schema":{"type":"string","title":"Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Slug"},"name":"slug","in":"path"},{"description":"Page number starting from 1","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page number","description":"Page number starting from 1","default":1},"name":"page","in":"query"},{"description":"Number of items per page","required":false,"schema":{"type":"integer","maximum":100.0,"title":"Items per page","description":"Number of items per page","default":25},"name":"per-page","in":"query"},{"description":"The type of access policy subject","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Subject Type","description":"The type of access policy subject"},"name":"subject_type","in":"query"},{"description":"An access policy permission string","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"PERMISSION","description":"An access policy permission string"},"name":"permission","in":"query"}],"responses":{"200":{"description":"Retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationAccessPolicyList"}}}},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]},"delete":{"tags":["Applications"],"summary":"Remove a Application permissions","operationId":"delete_application_org_permission","parameters":[{"required":true,"schema":{"type":"string","title":"Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Slug"},"name":"slug","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationPolicySubject"}}},"required":true},"responses":{"204":{"description":"Accepted"},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]},"patch":{"tags":["Applications"],"summary":"Upsert a new permission to a application","operationId":"upsert_application_permission","parameters":[{"required":true,"schema":{"type":"string","title":"Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Slug"},"name":"slug","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationAccessPolicy"}}},"required":true},"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAccepted"}}}},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/applications/{owner}/{slug}/versions":{"get":{"tags":["Applications"],"summary":"Get application versions","operationId":"get_application_versions","parameters":[{"required":true,"schema":{"type":"string","title":"Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Slug"},"name":"slug","in":"path"},{"description":"Page number starting from 1","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page number","description":"Page number starting from 1","default":1},"name":"page","in":"query"},{"description":"Number of items per page","required":false,"schema":{"type":"integer","maximum":100.0,"title":"Items per page","description":"Number of items per page","default":25},"name":"per-page","in":"query"}],"responses":{"200":{"description":"Retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationVersionList"}}}},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]},"patch":{"tags":["Applications"],"summary":"Upsert a new version to a application","operationId":"upsert_application_version","parameters":[{"required":true,"schema":{"type":"string","title":"Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Slug"},"name":"slug","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewApplicationVersion"}}},"required":true},"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/S3UploadRequest"}}}},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/applications/{owner}/{slug}/versions/{tag}":{"post":{"tags":["Applications"],"summary":"Upload the build package for the application version","operationId":"upload_version_package","parameters":[{"required":true,"schema":{"type":"string","title":"Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Slug"},"name":"slug","in":"path"},{"required":true,"schema":{"type":"string","title":"Tag"},"name":"tag","in":"path"}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_version_package"}}},"required":true},"responses":{"202":{"description":"Success","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]},"delete":{"tags":["Applications"],"summary":"Remove a Application version","operationId":"delete_application_version","parameters":[{"required":true,"schema":{"type":"string","title":"Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Slug"},"name":"slug","in":"path"},{"required":true,"schema":{"type":"string","title":"Tag"},"name":"tag","in":"path"}],"responses":{"204":{"description":"Accepted"},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/billing/products":{"get":{"tags":["Billing"],"summary":"List available Paddle Billing products","description":"List all available products from Paddle Billing API","operationId":"list_billing_products","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/BillingProduct"},"type":"array","title":"Response List Billing Products"}}}}}}},"/billing/transactions":{"post":{"tags":["Billing"],"summary":"Create a Paddle Billing subscription transaction","description":"Create a Paddle Billing subscription transaction","operationId":"create_billing_subscription_transaction","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingSubscriptionCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__server__rest__billing__dto__PayLink"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/billing/subscriptions/{subscription_id}/transactions":{"get":{"tags":["Billing"],"summary":"List Paddle Billing transactions for a subscription","description":"List all Billing API transactions for a subscription","operationId":"list_billing_subscription_transactions","parameters":[{"required":true,"schema":{"type":"string","title":"Subscription Id"},"name":"subscription_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/BillingTransaction"},"type":"array","title":"Response List Billing Subscription Transactions"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/billing/subscriptions/{subscription_id}/preview":{"post":{"tags":["Billing"],"summary":"Preview a Paddle Billing subscription transaction","description":"Preview the cost and details of a Billing subscription before creation","operationId":"preview_billing_subscription","parameters":[{"required":true,"schema":{"type":"string","title":"Subscription Id"},"name":"subscription_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingSubscriptionUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingTransactionPreview"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/billing/subscriptions":{"get":{"tags":["Billing"],"summary":"List all Paddle Billing subscriptions","description":"List all Paddle Billing subscriptions","operationId":"list_billing_subscriptions","parameters":[{"required":false,"schema":{"type":"string","title":"Account"},"name":"account","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/BillingSubscription"},"type":"array","title":"Response List Billing Subscriptions"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]},"post":{"tags":["Billing"],"summary":"Create a Paddle Billing subscription directly","description":"Create a subscription directly via Paddle Billing API","operationId":"create_billing_subscription_direct","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingSubscriptionCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__server__rest__billing__dto__PayLink"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/billing/subscriptions/{subscription_id}":{"get":{"tags":["Billing"],"summary":"Get a Paddle Billing subscription by ID","description":"Get a Paddle Billing subscription by its ID","operationId":"get_billing_subscription","parameters":[{"required":true,"schema":{"type":"string","title":"Subscription Id"},"name":"subscription_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingSubscription"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]},"put":{"tags":["Billing"],"summary":"Update a Paddle Billing subscription","description":"Update a subscription directly via Paddle Billing API","operationId":"update_billing_subscription","parameters":[{"required":true,"schema":{"type":"string","title":"Subscription Id"},"name":"subscription_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingSubscriptionUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingSubscription"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]},"delete":{"tags":["Billing"],"summary":"Cancel a Paddle Billing subscription","description":"Cancel a subscription directly via Paddle Billing API","operationId":"cancel_billing_subscription","parameters":[{"required":true,"schema":{"type":"string","title":"Subscription Id"},"name":"subscription_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/billing/subscriptions/{subscription_id}/uncancel":{"post":{"tags":["Billing"],"summary":"Uncancel a Paddle Billing subscription","description":"Uncancel a subscription directly via Paddle Billing API","operationId":"uncancel_billing_subscription","parameters":[{"required":true,"schema":{"type":"string","title":"Subscription Id"},"name":"subscription_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingSubscription"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/billing/subscriptions/{subscription_id}/payment-methods":{"get":{"tags":["Billing"],"summary":"List payment methods for a subscription","description":"List all payment methods for a subscription's customer","operationId":"list_subscription_payment_methods","parameters":[{"required":true,"schema":{"type":"string","title":"Subscription Id"},"name":"subscription_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/BillingPaymentMethod"},"type":"array","title":"Response List Subscription Payment Methods"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]},"put":{"tags":["Billing"],"summary":"Update a payment method for a subscription","description":"Update a payment method for a subscription","operationId":"update_subscription_payment_method","parameters":[{"required":true,"schema":{"type":"string","title":"Subscription Id"},"name":"subscription_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingTransaction"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/billing/subscriptions/{subscription_id}/payment-methods/{payment_method_id}":{"delete":{"tags":["Billing"],"summary":"Delete a payment method","description":"Delete a payment method","operationId":"delete_subscription_payment_method","parameters":[{"required":true,"schema":{"type":"string","title":"Subscription Id"},"name":"subscription_id","in":"path"},{"required":true,"schema":{"type":"string","title":"Payment Method Id"},"name":"payment_method_id","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/billing/invoice-request":{"post":{"tags":["Billing"],"summary":"Send invoice request confirmation email","description":"Send an invoice request confirmation email with customer and product details","operationId":"send_invoice_request_confirmation","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingInvoiceRequestCreate"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/projects":{"get":{"tags":["Projects"],"summary":"List Projects","operationId":"list_projects","parameters":[{"description":"Search string to find projects","required":false,"schema":{"type":"string","title":"Search Query","description":"Search string to find projects"},"name":"search","in":"query"},{"description":"The ID of a project to search for","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Project ID","description":"The ID of a project to search for","default":[]},"name":"ids","in":"query"},{"description":"The name of the project","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Project Name","description":"The name of the project","default":[]},"name":"names","in":"query"},{"description":"Owner of the project","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Project Owner","description":"Owner of the project","default":[]},"name":"owner","in":"query"},{"description":"Boolean check for public/private projects","required":false,"schema":{"type":"boolean","title":"Public Project","description":"Boolean check for public/private projects"},"name":"public","in":"query"},{"description":"Filter by permission on given resource","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Permission Name","description":"Filter by permission on given resource","default":[]},"name":"permissions","in":"query"},{"description":"Key to sort the list by","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/ProjectSortKey"}],"title":"Sort By","description":"Key to sort the list by"},"name":"sort_by","in":"query"},{"description":"The order to sort the list","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/SortEnum"}],"title":"Sort Order","description":"The order to sort the list","default":"ascending"},"name":"sort_order","in":"query"},{"description":"Page number starting from 1","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page number","description":"Page number starting from 1","default":1},"name":"page","in":"query"},{"description":"Number of items per page","required":false,"schema":{"type":"integer","maximum":100.0,"title":"Items per page","description":"Number of items per page","default":25},"name":"per-page","in":"query"}],"responses":{"200":{"description":"Retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectList"}}}},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/projects/{owner}":{"post":{"tags":["Projects"],"summary":"Create a Project","operationId":"create_project","parameters":[{"required":true,"schema":{"type":"string","title":"Owner"},"name":"owner","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectCreate"}}},"required":true},"responses":{"201":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedContent"}}}},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"202":{"description":"Accepted"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/projects/{owner}/{name}":{"get":{"tags":["Projects"],"summary":"Get a project","operationId":"get_project","parameters":[{"required":true,"schema":{"type":"string","title":"Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Name"},"name":"name","in":"path"}],"responses":{"200":{"description":"Retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"}}}},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]},"put":{"tags":["Projects"],"summary":"Update a Project","operationId":"update","parameters":[{"required":true,"schema":{"type":"string","title":"Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Name"},"name":"name","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectUpdate"}}},"required":true},"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAccepted"}}}},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]},"delete":{"tags":["Projects"],"summary":"Delete a Project","operationId":"delete_project","parameters":[{"required":true,"schema":{"type":"string","title":"Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Name"},"name":"name","in":"path"}],"responses":{"204":{"description":"Accepted"},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/projects/{owner}/{name}/permissions":{"get":{"tags":["Projects"],"summary":"Get project access permissions","operationId":"get_project_access_permissions","parameters":[{"required":true,"schema":{"type":"string","title":"Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Name"},"name":"name","in":"path"},{"description":"Page number starting from 1","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page number","description":"Page number starting from 1","default":1},"name":"page","in":"query"},{"description":"Number of items per page","required":false,"schema":{"type":"integer","maximum":100.0,"title":"Items per page","description":"Number of items per page","default":25},"name":"per-page","in":"query"},{"description":"The type of access policy subject","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Subject Type","description":"The type of access policy subject"},"name":"subject_type","in":"query"},{"description":"An access policy permission string","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"PERMISSION","description":"An access policy permission string"},"name":"permission","in":"query"}],"responses":{"200":{"description":"Retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessPolicyList"}}}},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]},"delete":{"tags":["Projects"],"summary":"Remove a Project permissions","operationId":"delete_project_org_permission","parameters":[{"required":true,"schema":{"type":"string","title":"Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Name"},"name":"name","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectPolicySubject"}}},"required":true},"responses":{"204":{"description":"Accepted"},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]},"patch":{"tags":["Projects"],"summary":"Upsert a new permission to a project","operationId":"upsert_project_permission","parameters":[{"required":true,"schema":{"type":"string","title":"Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Name"},"name":"name","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessPolicy"}}},"required":true},"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAccepted"}}}},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/projects/{owner}/{name}/recipes":{"get":{"tags":["Projects"],"summary":"Get project recipe versions","operationId":"get_project_recipes","parameters":[{"required":true,"schema":{"type":"string","title":"Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Name"},"name":"name","in":"path"},{"description":"Search string to find recipes","required":false,"schema":{"type":"string","title":"Search Query","description":"Search string to find recipes"},"name":"search","in":"query"},{"description":"Page number starting from 1","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page number","description":"Page number starting from 1","default":1},"name":"page","in":"query"},{"description":"Number of items per page","required":false,"schema":{"type":"integer","maximum":100.0,"title":"Items per page","description":"Number of items per page","default":25},"name":"per-page","in":"query"}],"responses":{"200":{"description":"Retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecipeInterfaceList"}}}},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/projects/{owner}/{name}/recipes/repositories":{"get":{"tags":["Projects"],"summary":"Get project recipe repositories","operationId":"get_project_recipe_repositories","parameters":[{"required":true,"schema":{"type":"string","title":"Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Name"},"name":"name","in":"path"},{"description":"Search string to find recipes","required":false,"schema":{"type":"string","title":"Search Query","description":"Search string to find recipes"},"name":"search","in":"query"},{"description":"Page number starting from 1","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page number","description":"Page number starting from 1","default":1},"name":"page","in":"query"},{"description":"Number of items per page","required":false,"schema":{"type":"integer","maximum":100.0,"title":"Items per page","description":"Number of items per page","default":25},"name":"per-page","in":"query"}],"responses":{"200":{"description":"Retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepositoryList"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/projects/{owner}/{name}/recipes/filters":{"get":{"tags":["Projects"],"summary":"Get project recipe filters","operationId":"get_project_recipe_filters","parameters":[{"required":true,"schema":{"type":"string","title":"Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Name"},"name":"name","in":"path"},{"description":"Page number starting from 1","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page number","description":"Page number starting from 1","default":1},"name":"page","in":"query"},{"description":"Number of items per page","required":false,"schema":{"type":"integer","maximum":100.0,"title":"Items per page","description":"Number of items per page","default":25},"name":"per-page","in":"query"}],"responses":{"200":{"description":"Retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRecipeFilterList"}}}},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]},"post":{"tags":["Projects"],"summary":"Upsert a recipe filter to a project","operationId":"create_project_recipe_filter","parameters":[{"required":true,"schema":{"type":"string","title":"Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Name"},"name":"name","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRecipeFilter"}}},"required":true},"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRecipeFilter"}}}},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]},"delete":{"tags":["Projects"],"summary":"Remove a Project recipe filter","operationId":"delete_project_recipe_filter","parameters":[{"required":true,"schema":{"type":"string","title":"Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Name"},"name":"name","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRecipeFilter"}}},"required":true},"responses":{"204":{"description":"Accepted"},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/projects/{owner}/{name}/artifacts":{"get":{"tags":["Artifacts"],"summary":"List artifacts in a project folder","operationId":"list_artifacts","parameters":[{"required":true,"schema":{"type":"string","title":"Project Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Project Name"},"name":"name","in":"path"},{"description":"The path to an file within a project folder","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Project File Path","description":"The path to an file within a project folder"},"name":"path","in":"query"},{"description":"Page number starting from 1","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page number","description":"Page number starting from 1","default":1},"name":"page","in":"query"},{"description":"Number of items per page","required":false,"schema":{"type":"integer","maximum":10000.0,"title":"Items per page","description":"Number of items per page","default":25},"name":"per-page","in":"query"}],"responses":{"200":{"description":"Retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileMetaList"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]},"post":{"tags":["Artifacts"],"summary":"Get an Artifact upload link.","operationId":"create_artifact","parameters":[{"required":true,"schema":{"type":"string","title":"Project Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Project Name"},"name":"name","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KeyRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/S3UploadRequest"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]},"delete":{"tags":["Artifacts"],"summary":"Delete one or many artifacts by key/prefix","operationId":"delete_artifact","parameters":[{"required":true,"schema":{"type":"string","title":"Project Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Project Name"},"name":"name","in":"path"},{"description":"The path to an file within a project folder","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Project File Path","description":"The path to an file within a project folder"},"name":"path","in":"query"},{"description":"Page number starting from 1","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page number","description":"Page number starting from 1","default":1},"name":"page","in":"query"},{"description":"Number of items per page","required":false,"schema":{"type":"integer","maximum":10000.0,"title":"Items per page","description":"Number of items per page","default":25},"name":"per-page","in":"query"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/projects/{owner}/{name}/artifacts/download":{"get":{"tags":["Artifacts"],"summary":"Download an artifact from the project folder","operationId":"download_artifact","parameters":[{"required":true,"schema":{"type":"string","title":"Project Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Project Name"},"name":"name","in":"path"},{"description":"The path to an file within a project folder","required":false,"schema":{"type":"string","title":"Project File Path","description":"The path to an file within a project folder"},"name":"path","in":"query"}],"responses":{"200":{"description":"Retrieved","content":{"application/json":{"schema":{}}}},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/recipes":{"get":{"tags":["Recipes"],"summary":"List recipes","operationId":"list_recipes","parameters":[{"description":"You know, for search","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Search query","description":"You know, for search"},"name":"search","in":"query"},{"description":"The account name","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Repository Name","description":"The account name"},"name":"name","in":"query"},{"description":"Owner of the project","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Repository Owner","description":"Owner of the project"},"name":"owner","in":"query"},{"description":"Boolean check for public/private projects","required":false,"schema":{"type":"boolean","title":"Public Repository","description":"Boolean check for public/private projects"},"name":"public","in":"query"},{"description":"A keyword to index the repository by","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Repository Keywords","description":"A keyword to index the repository by"},"name":"keyword","in":"query"},{"description":"Filter by permission on given resource","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Permission Name","description":"Filter by permission on given resource"},"name":"permission","in":"query"},{"description":"Key to sort the list by","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/RepositorySortKey"}],"title":"Sort By","description":"Key to sort the list by"},"name":"sort_by","in":"query"},{"description":"The order to sort the list","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/SortEnum"}],"title":"Sort Order","description":"The order to sort the list","default":"ascending"},"name":"sort_order","in":"query"},{"description":"Page number starting from 1","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page number","description":"Page number starting from 1","default":1},"name":"page","in":"query"},{"description":"Number of items per page","required":false,"schema":{"type":"integer","maximum":100.0,"title":"Items per page","description":"Number of items per page","default":25},"name":"per-page","in":"query"}],"responses":{"200":{"description":"Retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepositoryList"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/recipes/{owner}":{"post":{"tags":["Recipes"],"summary":"Create a Recipe","description":"Create a new recipe.","operationId":"create_recipe","parameters":[{"required":true,"schema":{"type":"string","title":"Owner"},"name":"owner","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepositoryCreate"}}},"required":true},"responses":{"201":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedContent"}}}},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"202":{"description":"Accepted"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/recipes/{owner}/{name}":{"get":{"tags":["Recipes"],"summary":"Get a recipe","description":"Retrieve a recipe by name","operationId":"get_recipe","parameters":[{"required":true,"schema":{"type":"string","title":"Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Name"},"name":"name","in":"path"}],"responses":{"200":{"description":"Retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Repository"}}}},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]},"put":{"tags":["Recipes"],"summary":"Update a Recipe","description":"Update a recipe (must have `contribute` permission)","operationId":"update_recipe","parameters":[{"required":true,"schema":{"type":"string","title":"Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Name"},"name":"name","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepositoryUpdate"}}},"required":true},"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAccepted"}}}},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]},"delete":{"tags":["Recipes"],"summary":"Delete a Recipe","description":"Delete a recipe (must have `admin` permission)","operationId":"delete_recipe","parameters":[{"required":true,"schema":{"type":"string","title":"Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Name"},"name":"name","in":"path"}],"responses":{"204":{"description":"Accepted"},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/recipes/{owner}/{name}/tags":{"get":{"tags":["Recipes"],"summary":"Get a recipe tags","description":"Retrieve a recipe by name","operationId":"list_recipe_tags","parameters":[{"required":true,"schema":{"type":"string","title":"Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Name"},"name":"name","in":"path"},{"description":"Key to sort the list by","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/PackageSortKey"}],"title":"Sort By","description":"Key to sort the list by"},"name":"sort_by","in":"query"},{"description":"The order to sort the list","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/SortEnum"}],"title":"Sort Order","description":"The order to sort the list","default":"ascending"},"name":"sort_order","in":"query"},{"description":"Page number starting from 1","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page number","description":"Page number starting from 1","default":1},"name":"page","in":"query"},{"description":"Number of items per page","required":false,"schema":{"type":"integer","maximum":100.0,"title":"Items per page","description":"Number of items per page","default":25},"name":"per-page","in":"query"}],"responses":{"200":{"description":"Retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecipePackageList"}}}},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]},"post":{"tags":["Recipes"],"summary":"Create a new Recipe package","description":"Create a new recipe package version","operationId":"create_recipe_package","parameters":[{"required":true,"schema":{"type":"string","title":"Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Name"},"name":"name","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewRecipePackage"}}},"required":true},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedContent"}}}},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/recipes/{owner}/{name}/tags/{tag}":{"get":{"tags":["Recipes"],"summary":"Get a recipe tag","description":"Retrieve a recipe tag by name and tag","operationId":"get_recipe_by_tag","parameters":[{"required":true,"schema":{"type":"string","title":"Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Name"},"name":"name","in":"path"},{"required":true,"schema":{"type":"string","title":"Tag"},"name":"tag","in":"path"}],"responses":{"200":{"description":"Retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecipePackage"}}}},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/recipes/{owner}/{name}/permissions":{"get":{"tags":["Recipes"],"summary":"Get recipe access permissions","description":"Retrieve a recipe's access permissions (must have `write` permission)","operationId":"get_recipe_access_permissions","parameters":[{"required":true,"schema":{"type":"string","title":"Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Name"},"name":"name","in":"path"},{"description":"Page number starting from 1","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page number","description":"Page number starting from 1","default":1},"name":"page","in":"query"},{"description":"Number of items per page","required":false,"schema":{"type":"integer","maximum":100.0,"title":"Items per page","description":"Number of items per page","default":25},"name":"per-page","in":"query"},{"description":"The type of access policy subject","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Subject Type","description":"The type of access policy subject"},"name":"subject_type","in":"query"},{"description":"An access policy permission string","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"PERMISSION","description":"An access policy permission string"},"name":"permission","in":"query"}],"responses":{"200":{"description":"Retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepositoryAccessPolicyList"}}}},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]},"delete":{"tags":["Recipes"],"summary":"Remove a Repository permissions","description":"Delete a recipe's access policy (must have `admin` permission)","operationId":"delete_recipe_org_permission","parameters":[{"required":true,"schema":{"type":"string","title":"Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Name"},"name":"name","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepositoryPolicySubject"}}},"required":true},"responses":{"204":{"description":"Accepted"},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]},"patch":{"tags":["Recipes"],"summary":"Upsert a new permission to a recipe","description":"Upsert a recipe's access policy (must have `admin` permission)","operationId":"upsert_recipe_permission","parameters":[{"required":true,"schema":{"type":"string","title":"Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Name"},"name":"name","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepositoryAccessPolicy"}}},"required":true},"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAccepted"}}}},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/plugins":{"get":{"tags":["Plugins"],"summary":"List plugins","operationId":"list_plugins","parameters":[{"description":"You know, for search","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Search query","description":"You know, for search"},"name":"search","in":"query"},{"description":"The account name","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Repository Name","description":"The account name"},"name":"name","in":"query"},{"description":"Owner of the project","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Repository Owner","description":"Owner of the project"},"name":"owner","in":"query"},{"description":"Boolean check for public/private projects","required":false,"schema":{"type":"boolean","title":"Public Repository","description":"Boolean check for public/private projects"},"name":"public","in":"query"},{"description":"A keyword to index the repository by","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Repository Keywords","description":"A keyword to index the repository by"},"name":"keyword","in":"query"},{"description":"Filter by permission on given resource","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Permission Name","description":"Filter by permission on given resource"},"name":"permission","in":"query"},{"description":"Key to sort the list by","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/RepositorySortKey"}],"title":"Sort By","description":"Key to sort the list by"},"name":"sort_by","in":"query"},{"description":"The order to sort the list","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/SortEnum"}],"title":"Sort Order","description":"The order to sort the list","default":"ascending"},"name":"sort_order","in":"query"},{"description":"Page number starting from 1","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page number","description":"Page number starting from 1","default":1},"name":"page","in":"query"},{"description":"Number of items per page","required":false,"schema":{"type":"integer","maximum":100.0,"title":"Items per page","description":"Number of items per page","default":25},"name":"per-page","in":"query"}],"responses":{"200":{"description":"Retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepositoryList"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/plugins/{owner}":{"post":{"tags":["Plugins"],"summary":"Create a Plugin","description":"Create a new plugin.","operationId":"create_plugin","parameters":[{"required":true,"schema":{"type":"string","title":"Owner"},"name":"owner","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepositoryCreate"}}},"required":true},"responses":{"201":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedContent"}}}},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"202":{"description":"Accepted"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/plugins/{owner}/{name}":{"get":{"tags":["Plugins"],"summary":"Get a plugin","description":"Retrieve a plugin by name","operationId":"get_plugin","parameters":[{"required":true,"schema":{"type":"string","title":"Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Name"},"name":"name","in":"path"}],"responses":{"200":{"description":"Retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Repository"}}}},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]},"put":{"tags":["Plugins"],"summary":"Update a Plugin","description":"Update a plugin (must have `contribute` permission)","operationId":"update_plugin","parameters":[{"required":true,"schema":{"type":"string","title":"Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Name"},"name":"name","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepositoryUpdate"}}},"required":true},"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAccepted"}}}},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]},"delete":{"tags":["Plugins"],"summary":"Delete a Plugin","description":"Delete a plugin (must have `admin` permission)","operationId":"delete_plugin","parameters":[{"required":true,"schema":{"type":"string","title":"Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Name"},"name":"name","in":"path"}],"responses":{"204":{"description":"Accepted"},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/plugins/{owner}/{name}/tags":{"get":{"tags":["Plugins"],"summary":"Get a plugin tags","description":"Retrieve a plugin by name","operationId":"list_plugin_tags","parameters":[{"required":true,"schema":{"type":"string","title":"Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Name"},"name":"name","in":"path"},{"description":"Key to sort the list by","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/PackageSortKey"}],"title":"Sort By","description":"Key to sort the list by"},"name":"sort_by","in":"query"},{"description":"The order to sort the list","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/SortEnum"}],"title":"Sort Order","description":"The order to sort the list","default":"ascending"},"name":"sort_order","in":"query"},{"description":"Page number starting from 1","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page number","description":"Page number starting from 1","default":1},"name":"page","in":"query"},{"description":"Number of items per page","required":false,"schema":{"type":"integer","maximum":100.0,"title":"Items per page","description":"Number of items per page","default":25},"name":"per-page","in":"query"}],"responses":{"200":{"description":"Retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PluginPackageList"}}}},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]},"post":{"tags":["Plugins"],"summary":"Create a new Plugin package","description":"Create a new plugin package version","operationId":"create_plugin_package","parameters":[{"required":true,"schema":{"type":"string","title":"Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Name"},"name":"name","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewPluginPackage"}}},"required":true},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedContent"}}}},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/plugins/{owner}/{name}/tags/{tag}":{"get":{"tags":["Plugins"],"summary":"Get a plugin tag","description":"Retrieve a plugin tag by name and tag","operationId":"get_plugin_by_tag","parameters":[{"required":true,"schema":{"type":"string","title":"Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Name"},"name":"name","in":"path"},{"required":true,"schema":{"type":"string","title":"Tag"},"name":"tag","in":"path"}],"responses":{"200":{"description":"Retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PluginPackage"}}}},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/plugins/{owner}/{name}/permissions":{"get":{"tags":["Plugins"],"summary":"Get plugin access permissions","description":"Retrieve a plugin's access permissions (must have `write` permission)","operationId":"get_plugin_access_permissions","parameters":[{"required":true,"schema":{"type":"string","title":"Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Name"},"name":"name","in":"path"},{"description":"Page number starting from 1","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page number","description":"Page number starting from 1","default":1},"name":"page","in":"query"},{"description":"Number of items per page","required":false,"schema":{"type":"integer","maximum":100.0,"title":"Items per page","description":"Number of items per page","default":25},"name":"per-page","in":"query"},{"description":"The type of access policy subject","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Subject Type","description":"The type of access policy subject"},"name":"subject_type","in":"query"},{"description":"An access policy permission string","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"PERMISSION","description":"An access policy permission string"},"name":"permission","in":"query"}],"responses":{"200":{"description":"Retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepositoryAccessPolicyList"}}}},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]},"delete":{"tags":["Plugins"],"summary":"Remove a Repository permissions","description":"Delete a plugin's access policy (must have `admin` permission)","operationId":"delete_plugin_org_permission","parameters":[{"required":true,"schema":{"type":"string","title":"Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Name"},"name":"name","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepositoryPolicySubject"}}},"required":true},"responses":{"204":{"description":"Accepted"},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]},"patch":{"tags":["Plugins"],"summary":"Upsert a new permission to a plugin","description":"Upsert a plugin's access policy (must have `admin` permission)","operationId":"upsert_plugin_permission","parameters":[{"required":true,"schema":{"type":"string","title":"Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Name"},"name":"name","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepositoryAccessPolicy"}}},"required":true},"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAccepted"}}}},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/registries/{owner}/index.json":{"get":{"tags":["Registries"],"summary":"Get Registry Index","operationId":"get_registry_index","parameters":[{"required":true,"schema":{"type":"string","title":"Registry Owner"},"name":"owner","in":"path"}],"responses":{"200":{"description":"Retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepositoryIndex"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/registries/{owner}/{type}/{name}/{digest}":{"get":{"tags":["Registries"],"summary":"Get Package","operationId":"get_package","parameters":[{"required":true,"schema":{"type":"string","title":"Registry Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Repository Type"},"name":"type","in":"path"},{"required":true,"schema":{"type":"string","title":"Repository Name"},"name":"name","in":"path"},{"required":true,"schema":{"type":"string","title":"Package Digest"},"name":"digest","in":"path"}],"responses":{"200":{"description":"Retrieved","content":{"application/json":{"schema":{}},"application/x-tar":{}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/registries/{owner}/{type}/{name}/{digest}/json":{"get":{"tags":["Registries"],"summary":"Get Package in JSON format","operationId":"get_package_json","parameters":[{"required":true,"schema":{"type":"string","title":"Registry Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Repository Type"},"name":"type","in":"path"},{"required":true,"schema":{"type":"string","title":"Repository Name"},"name":"name","in":"path"},{"required":true,"schema":{"type":"string","title":"Package Digest"},"name":"digest","in":"path"},{"required":false,"schema":{"type":"boolean","title":"Boolean toggle to return a baked recipe","default":false},"name":"baked","in":"query"}],"responses":{"200":{"description":"Retrieved","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/Recipe"},{"$ref":"#/components/schemas/Plugin"},{"$ref":"#/components/schemas/BakedRecipe"}],"title":"Response Get Package Json"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/registries/{owner}/plugins":{"post":{"tags":["Registries"],"summary":"Push a plugin to the registry","operationId":"post_plugin","parameters":[{"required":true,"schema":{"type":"string","title":"Registry Owner"},"name":"owner","in":"path"}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_post_plugin"}}},"required":true},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/registries/{owner}/recipes":{"post":{"tags":["Registries"],"summary":"Push an Recipe to the registry","operationId":"post_recipe","parameters":[{"required":true,"schema":{"type":"string","title":"Registry Owner"},"name":"owner","in":"path"}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_post_recipe"}}},"required":true},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/subscription-plans/":{"get":{"tags":["SubscriptionPlans"],"summary":"List Subscription Plans","operationId":"list_subscription_plans","parameters":[{"description":"Plan Type","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/PlanType"}],"title":"Plan Type","description":"Plan Type"},"name":"plan-type","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/SubscriptionPlan"},"type":"array","title":"Response List Subscription Plans"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/subscriptions/":{"get":{"tags":["Subscriptions"],"summary":"List Subscriptions","operationId":"list_pollination_subscriptions","parameters":[{"required":false,"schema":{"type":"string","title":"Account"},"name":"account","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Subscription"},"type":"array","title":"Response List Pollination Subscriptions"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]},"post":{"tags":["Subscriptions"],"summary":"Subscribe account to subscritpion plan","operationId":"create_subscription","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__server__rest__subscriptions__dto__PayLink"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/subscriptions/{subscription_id}":{"get":{"tags":["Subscriptions"],"summary":"Retrieve a subscription by ID","operationId":"get_subscription","parameters":[{"required":true,"schema":{"type":"string","format":"uuid","title":"Subscription Id"},"name":"subscription_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Subscription"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]},"put":{"tags":["Subscriptions"],"summary":"Update a subscription","operationId":"update_subscription","parameters":[{"required":true,"schema":{"type":"string","format":"uuid","title":"Subscription Id"},"name":"subscription_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Subscription"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]},"delete":{"tags":["Subscriptions"],"summary":"Cancel a subscription","operationId":"cancel_subscription","parameters":[{"required":true,"schema":{"type":"string","format":"uuid","title":"Subscription Id"},"name":"subscription_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/subscriptions/{subscription_id}/preview":{"put":{"tags":["Subscriptions"],"summary":"Preview the effect of a subscription update","operationId":"update_subscription_preivew","parameters":[{"required":true,"schema":{"type":"string","format":"uuid","title":"Subscription Id"},"name":"subscription_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionUpdateDryRun"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/subscriptions/{subscription_id}/payments":{"get":{"tags":["Subscriptions"],"summary":"List Payment for a Subscription","operationId":"list_subscription_payments","parameters":[{"required":true,"schema":{"type":"string","format":"uuid","title":"Subscription Id"},"name":"subscription_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Payment"},"type":"array","title":"Response List Subscription Payments"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/subscriptions/{subscription_id}/quotas":{"get":{"tags":["Subscriptions"],"summary":"List the quotas for a given subscription","operationId":"list_subscription_quotas","parameters":[{"required":true,"schema":{"type":"string","format":"uuid","title":"Subscription Id"},"name":"subscription_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Quota"},"type":"array","title":"Response List Subscription Quotas"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/projects/{owner}/{name}/jobs":{"get":{"tags":["Jobs"],"summary":"List Jobs","description":"Retrieve a list of jobs.","operationId":"list_jobs","parameters":[{"required":true,"schema":{"type":"string","title":"Project Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Project Name"},"name":"name","in":"path"},{"required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Job IDs"},"name":"ids","in":"query"},{"required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/JobStatusEnum"}],"title":"The status of the job"},"name":"status","in":"query"},{"required":false,"schema":{"type":"string","format":"date-time","title":"The date after which the job was created"},"name":"created_after","in":"query"},{"required":false,"schema":{"type":"string","format":"date-time","title":"The date before which the job was created"},"name":"created_before","in":"query"},{"description":"Page number starting from 1","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page number","description":"Page number starting from 1","default":1},"name":"page","in":"query"},{"description":"Number of items per page","required":false,"schema":{"type":"integer","maximum":100.0,"title":"Items per page","description":"Number of items per page","default":25},"name":"per-page","in":"query"}],"responses":{"200":{"description":"Retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CloudJobList"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]},"post":{"tags":["Jobs"],"summary":"Schedule a job","description":"Create a new job.","operationId":"create_job","parameters":[{"required":true,"schema":{"type":"string","title":"Project Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Project Name"},"name":"name","in":"path"},{"required":false,"schema":{"type":"string","title":"Authorization"},"name":"authorization","in":"header"},{"required":false,"schema":{"type":"string","title":"X-Pollination-Token"},"name":"x-pollination-token","in":"header"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedContent"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/projects/{owner}/{name}/jobs/{job_id}":{"get":{"tags":["Jobs"],"summary":"Get a Job","description":"Retrieve a job.","operationId":"get_job","parameters":[{"required":true,"schema":{"type":"string","title":"Project Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Project Name"},"name":"name","in":"path"},{"required":true,"schema":{"type":"string","title":"Job ID"},"name":"job_id","in":"path"}],"responses":{"200":{"description":"Retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CloudJob"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]},"delete":{"tags":["Jobs"],"summary":"Delete a Job","description":"Delete a job.","operationId":"delete_job","parameters":[{"required":true,"schema":{"type":"string","title":"Project Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Project Name"},"name":"name","in":"path"},{"required":true,"schema":{"type":"string","title":"Job ID"},"name":"job_id","in":"path"}],"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/projects/{owner}/{name}/jobs/{job_id}/cancel":{"put":{"tags":["Jobs"],"summary":"Cancel a Job","description":"Retrieve a job.","operationId":"cancel_job","parameters":[{"required":true,"schema":{"type":"string","title":"Project Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Project Name"},"name":"name","in":"path"},{"required":true,"schema":{"type":"string","title":"Job ID"},"name":"job_id","in":"path"}],"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CloudJob"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/projects/{owner}/{name}/jobs/{job_id}/retry":{"put":{"tags":["Jobs"],"summary":"Retry failed runs for a Job","description":"Retry failed runs for a job.","operationId":"retry_job","parameters":[{"required":true,"schema":{"type":"string","title":"Project Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Project Name"},"name":"name","in":"path"},{"required":true,"schema":{"type":"string","title":"Job ID"},"name":"job_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RetryConfig"}}},"required":true},"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CloudJob"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/projects/{owner}/{name}/jobs/{job_id}/artifacts":{"get":{"tags":["Jobs"],"summary":"List files/folders in a job folder","description":"Retrieve a list of artifacts in a job folder","operationId":"search_job_folder","parameters":[{"required":true,"schema":{"type":"string","title":"Project Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Project Name"},"name":"name","in":"path"},{"required":true,"schema":{"type":"string","title":"Job ID"},"name":"job_id","in":"path"},{"description":"The path to an file within a project folder","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Project File Path","description":"The path to an file within a project folder"},"name":"path","in":"query"},{"description":"Page number starting from 1","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page number","description":"Page number starting from 1","default":1},"name":"page","in":"query"},{"description":"Number of items per page","required":false,"schema":{"type":"integer","maximum":10000.0,"title":"Items per page","description":"Number of items per page","default":25},"name":"per-page","in":"query"}],"responses":{"200":{"description":"Retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileMetaList"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/projects/{owner}/{name}/jobs/{job_id}/artifacts/download":{"get":{"tags":["Jobs"],"summary":"Download an artifact from the job folder","description":"Get a download link for an artifact in a job folder","operationId":"download_job_artifact","parameters":[{"required":true,"schema":{"type":"string","title":"Project Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Project Name"},"name":"name","in":"path"},{"required":true,"schema":{"type":"string","title":"Job id"},"name":"job_id","in":"path"},{"description":"The path to an file within a project folder","required":false,"schema":{"type":"string","title":"Project File Path","description":"The path to an file within a project folder"},"name":"path","in":"query"}],"responses":{"200":{"description":"Retrieved","content":{"application/json":{"schema":{"type":"string","title":"Response Download Job Artifact"}}}},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/projects/{owner}/{name}/results":{"get":{"tags":["Runs"],"summary":"Query run results","description":"Retrieve a list of run results.","operationId":"query_results","parameters":[{"required":true,"schema":{"type":"string","title":"Project Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Project Name"},"name":"name","in":"path"},{"required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Job IDs"},"name":"job_id","in":"query"},{"required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/RunStatusEnum"}],"title":"The status of the job"},"name":"status","in":"query"},{"description":"Page number starting from 1","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page number","description":"Page number starting from 1","default":1},"name":"page","in":"query"},{"description":"Number of items per page","required":false,"schema":{"type":"integer","maximum":100.0,"title":"Items per page","description":"Number of items per page","default":25},"name":"per-page","in":"query"}],"responses":{"200":{"description":"Retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunResultList"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/projects/{owner}/{name}/runs":{"get":{"tags":["Runs"],"summary":"List runs","description":"Retrieve a list of runs.","operationId":"list_runs","parameters":[{"required":true,"schema":{"type":"string","title":"Project Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Project Name"},"name":"name","in":"path"},{"required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Job IDs"},"name":"job_id","in":"query"},{"required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/RunStatusEnum"}],"title":"The status of the job"},"name":"status","in":"query"},{"description":"Page number starting from 1","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page number","description":"Page number starting from 1","default":1},"name":"page","in":"query"},{"description":"Number of items per page","required":false,"schema":{"type":"integer","maximum":100.0,"title":"Items per page","description":"Number of items per page","default":25},"name":"per-page","in":"query"}],"responses":{"200":{"description":"Retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunList"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/projects/{owner}/{name}/runs/{run_id}":{"get":{"tags":["Runs"],"summary":"Get a Run","description":"Retrieve a run.","operationId":"get_run","parameters":[{"required":true,"schema":{"type":"string","title":"Project Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Project Name"},"name":"name","in":"path"},{"required":true,"schema":{"type":"string","title":"Run ID"},"name":"run_id","in":"path"}],"responses":{"200":{"description":"Retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Run"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/projects/{owner}/{name}/runs/{run_id}/retry":{"put":{"tags":["Runs"],"summary":"Retry a run","description":"Retry a run.","operationId":"retry_run","parameters":[{"required":true,"schema":{"type":"string","title":"Project Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Project Name"},"name":"name","in":"path"},{"required":true,"schema":{"type":"string","title":"Run id."},"name":"run_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RetryConfig"}}},"required":true},"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Run"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/projects/{owner}/{name}/runs/{run_id}/cancel":{"put":{"tags":["Runs"],"summary":"Cancel a run","description":"Stop a run.","operationId":"cancel_run","parameters":[{"required":true,"schema":{"type":"string","title":"Project Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Project Name"},"name":"name","in":"path"},{"required":true,"schema":{"type":"string","title":"Run id."},"name":"run_id","in":"path"}],"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Run"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/projects/{owner}/{name}/runs/{run_id}/outputs/{output_name}":{"get":{"tags":["Runs"],"summary":"Get run output by name","description":"get run output by name","operationId":"get_run_output","parameters":[{"required":true,"schema":{"type":"string","title":"Project Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Project Name"},"name":"name","in":"path"},{"required":true,"schema":{"type":"string","title":"Run ID"},"name":"run_id","in":"path"},{"required":true,"schema":{"type":"string","title":"Output Name"},"name":"output_name","in":"path"}],"responses":{"200":{"description":"Retrieved","content":{"application/json":{"schema":{}}}},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/projects/{owner}/{name}/runs/{run_id}/steps":{"get":{"tags":["Runs"],"summary":"Query the steps of a run","description":"list run steps","operationId":"get_run_steps","parameters":[{"required":true,"schema":{"type":"string","title":"Project Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Project Name"},"name":"name","in":"path"},{"required":true,"schema":{"type":"string","title":"Run id."},"name":"run_id","in":"path"},{"required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/StepStatusEnum"}],"title":"The status of the task"},"name":"status","in":"query"},{"required":false,"schema":{"items":{"type":"string"},"type":"array","title":"The specific step IDs to retrieve"},"name":"step_id","in":"query"},{"required":false,"schema":{"type":"string","title":"The newest run generation to retrieve steps from"},"name":"until_generation","in":"query"},{"required":false,"schema":{"type":"string","title":"The oldest run generation to retrieve steps from"},"name":"since_generation","in":"query"},{"description":"Page number starting from 1","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page number","description":"Page number starting from 1","default":1},"name":"page","in":"query"},{"description":"Number of items per page","required":false,"schema":{"type":"integer","maximum":100.0,"title":"Items per page","description":"Number of items per page","default":25},"name":"per-page","in":"query"}],"responses":{"200":{"description":"Retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StepList"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"deprecated":true,"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/projects/{owner}/{name}/runs/{run_id}/all-steps":{"get":{"tags":["Runs"],"summary":"Query the steps of a run","description":"list all run steps","operationId":"get_all_run_steps","parameters":[{"required":true,"schema":{"type":"string","title":"Project Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Project Name"},"name":"name","in":"path"},{"required":true,"schema":{"type":"string","title":"Run id."},"name":"run_id","in":"path"}],"responses":{"200":{"description":"Retrieved","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/StepStatus"},"type":"array","title":"Response Get All Run Steps"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/projects/{owner}/{name}/runs/{run_id}/steps/{step_id}/logs":{"get":{"tags":["Runs"],"summary":"Get the logs of a specific step of the run","description":"get run step logs","operationId":"get_run_step_logs","parameters":[{"required":true,"schema":{"type":"string","title":"Project Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Project Name"},"name":"name","in":"path"},{"required":true,"schema":{"type":"string","title":"Run id."},"name":"run_id","in":"path"},{"required":true,"schema":{"type":"string","title":"Run Task name."},"name":"step_id","in":"path"}],"responses":{"200":{"description":"Retrieved","content":{"application/json":{"schema":{"type":"string","title":"Response Get Run Step Logs"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/projects/{owner}/{name}/runs/{run_id}/artifacts":{"get":{"tags":["Runs"],"summary":"List artifacts in a run folder","description":"Retrieve a list of artifacts in a run folder","operationId":"list_run_artifacts","parameters":[{"required":true,"schema":{"type":"string","title":"Project Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Project Name"},"name":"name","in":"path"},{"required":true,"schema":{"type":"string","title":"Run id."},"name":"run_id","in":"path"},{"description":"The path to an file within a project folder","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Project File Path","description":"The path to an file within a project folder"},"name":"path","in":"query"},{"description":"Page number starting from 1","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page number","description":"Page number starting from 1","default":1},"name":"page","in":"query"},{"description":"Number of items per page","required":false,"schema":{"type":"integer","maximum":10000.0,"title":"Items per page","description":"Number of items per page","default":25},"name":"per-page","in":"query"}],"responses":{"200":{"description":"Retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileMetaList"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"deprecated":true,"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/projects/{owner}/{name}/runs/{run_id}/artifacts/download":{"get":{"tags":["Runs"],"summary":"Download an artifact from the run folder","description":"Get a download link for an artifact in a run folder","operationId":"download_run_artifact","parameters":[{"required":true,"schema":{"type":"string","title":"Project Owner"},"name":"owner","in":"path"},{"required":true,"schema":{"type":"string","title":"Project Name"},"name":"name","in":"path"},{"required":true,"schema":{"type":"string","title":"Run id."},"name":"run_id","in":"path"},{"description":"The path to an file within a project folder","required":false,"schema":{"type":"string","title":"Project File Path","description":"The path to an file within a project folder"},"name":"path","in":"query"}],"responses":{"200":{"description":"Retrieved","content":{"application/json":{"schema":{"type":"string","title":"Response Download Run Artifact"}}}},"403":{"description":"Access forbidden"},"500":{"description":"Server error"},"400":{"description":"Invalid request"},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"deprecated":true,"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/reports/{name}/compute-usage":{"get":{"tags":["Reports"],"summary":"Get compute usage report for an account","description":"Get compute usage report for an account","operationId":"get_compute_usage_report","parameters":[{"required":true,"schema":{"type":"string","title":"Name"},"name":"name","in":"path"},{"required":false,"schema":{"type":"string","format":"date","title":"From Date"},"name":"from_date","in":"query"},{"required":false,"schema":{"type":"string","format":"date","title":"To Date"},"name":"to_date","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportComputeUsage"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/reports/{name}/organization-member-usage":{"get":{"tags":["Reports"],"summary":"Get organization member usage report for an organization account","description":"Get compute usage report for an account","operationId":"get_org_member_usage_report","parameters":[{"required":true,"schema":{"type":"string","title":"Name"},"name":"name","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportOrganizationMemberUsage"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}},"/reports/{name}/cad-license-usage":{"get":{"tags":["Reports"],"summary":"Get CAD license usage report for an account","description":"Get cad_license usage report for an account","operationId":"get_cad_license_usage_report","parameters":[{"required":true,"schema":{"type":"string","title":"Name"},"name":"name","in":"path"},{"required":false,"schema":{"type":"string","format":"date","title":"From Date"},"name":"from_date","in":"query"},{"required":false,"schema":{"type":"string","format":"date","title":"To Date"},"name":"to_date","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportCADLicenseUsage"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JWTAuth":[]},{"APIKeyAuth":[]}]}}},"components":{"schemas":{"APIToken":{"properties":{"token_id":{"type":"string","title":"Token Id","description":"The unique ID of this API token"},"name":{"type":"string","title":"Name","description":"The user friendly name of the API token"},"claims":{"additionalProperties":{"type":"string"},"type":"object","title":"Claims","description":"Key value pairs of auth claims the API token is entitled to","default":{}}},"type":"object","required":["token_id","name"],"title":"APIToken"},"APITokenCreate":{"properties":{"token_id":{"type":"string","title":"Token Id","description":"The unique ID of this API token"},"name":{"type":"string","title":"Name","description":"The user friendly name of the API token"},"claims":{"additionalProperties":{"type":"string"},"type":"object","title":"Claims","description":"Key value pairs of auth claims the API token is entitled to","default":{}}},"type":"object","required":["token_id","name"],"title":"APITokenCreate"},"APITokenList":{"properties":{"page":{"type":"integer","title":"Page","description":"The current page the pagination request is on"},"per_page":{"type":"integer","title":"Per Page","description":"The number of pages per pagination request"},"next_page":{"type":"integer","title":"Next Page","description":"The next page, if this on is not the last"},"page_count":{"type":"integer","title":"Page Count","description":"The total number of pages"},"total_count":{"type":"integer","title":"Total Count","description":"The total number of resources matching the list request"},"resources":{"items":{"$ref":"#/components/schemas/APIToken"},"type":"array","title":"Resources"}},"type":"object","required":["page","per_page","page_count","total_count","resources"],"title":"APITokenList","description":"A list response from a pagination request"},"APITokenPrivate":{"properties":{"token_id":{"type":"string","title":"Token Id","description":"The unique ID of this API token"},"name":{"type":"string","title":"Name","description":"The user friendly name of the API token"},"claims":{"additionalProperties":{"type":"string"},"type":"object","title":"Claims","description":"Key value pairs of auth claims the API token is entitled to","default":{}},"token":{"type":"string","title":"Token","description":"The decoded API token"}},"type":"object","required":["token_id","name","token"],"title":"APITokenPrivate"},"Accessor":{"properties":{"subject":{"anyOf":[{"$ref":"#/components/schemas/AccountPublic"},{"$ref":"#/components/schemas/Team"}],"title":"Subject"},"permission":{"$ref":"#/components/schemas/Permission"}},"type":"object","required":["subject","permission"],"title":"Accessor"},"AccountPublic":{"properties":{"id":{"type":"string","title":"Id","example":"0ad77f99-8043-46e4-8220-7221487c3ee5"},"account_type":{"type":"string","title":"Account Type","example":"user"},"name":{"type":"string","title":"Name","example":"ladybugbot"},"display_name":{"type":"string","title":"Display Name","example":"Ladybug Bot"},"description":{"type":"string","title":"Description","example":"Beep Boop!"},"picture_url":{"type":"string","title":"Picture Url","description":"https://robohash.org/ladybugbot"}},"type":"object","required":["id","account_type","name"],"title":"AccountPublic"},"AccountType":{"type":"string","enum":["org","user"],"title":"AccountType","description":"The type of account."},"Activation":{"properties":{"id":{"type":"string","title":"Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"os":{"type":"string","title":"Os"},"os_version":{"type":"string","title":"Os Version"},"hostname":{"type":"string","title":"Hostname"},"offline":{"type":"boolean","title":"Offline"},"app_version":{"type":"string","title":"App Version"},"last_synced_at":{"type":"string","format":"date-time","title":"Last Synced At"},"lease_expires_at":{"type":"string","format":"date-time","title":"Lease Expires At"},"metadata":{"items":{"$ref":"#/components/schemas/Metadata"},"type":"array","title":"Metadata","default":[]},"license_id":{"type":"string","title":"License Id"},"location":{"$ref":"#/components/schemas/Location"},"user":{"allOf":[{"$ref":"#/components/schemas/AccountPublic"}],"title":"User","description":"The user associated with the activation"}},"type":"object","required":["id","created_at","updated_at","offline","last_synced_at","location"],"title":"Activation"},"ActivationList":{"properties":{"resources":{"items":{"$ref":"#/components/schemas/Activation"},"type":"array","title":"Resources"}},"type":"object","required":["resources"],"title":"ActivationList"},"Application":{"properties":{"name":{"type":"string","title":"Name","description":"The name of the application. Must be unique to a given owner","example":"Application Falcon"},"description":{"type":"string","title":"Description","description":"A description of the application","default":"","example":"I always wanted to have a application called application Falcon"},"public":{"type":"boolean","title":"Public","description":"Whether or not a application is publicly viewable","default":true},"keywords":{"items":{"type":"string"},"type":"array","title":"Keywords","description":"A list of keywords associated with the application","default":[],"example":["falcon","api"]},"image":{"type":"string","title":"Image","description":"An image associated with the application","default":"https://picsum.photos/400"},"source":{"type":"string","title":"Source","description":"A link to the source code of the application"},"license":{"type":"string","title":"License","description":"The license of the application"},"sdk":{"allOf":[{"$ref":"#/components/schemas/SDKEnum"}],"description":"The SDK used to build the application","default":"streamlit"},"is_paid":{"type":"boolean","title":"Is Paid","description":"Whether or not the application is paid","default":false},"deployment_config":{"allOf":[{"$ref":"#/components/schemas/DeploymentConfig"}],"title":"Deployment Config","description":"The deployment configuration for the application","default":{"login_required":true,"cpu_limit":1,"memory_limit":2000,"scale_to_zero":true,"entrypoint_file":"app.py"}},"id":{"type":"string","title":"Id","description":"The application ID","example":"50bb7fe0-8f19-499e-972e-1ebec8af2c71"},"owner":{"allOf":[{"$ref":"#/components/schemas/AccountPublic"}],"title":"Owner","description":"The application owner"},"permissions":{"$ref":"#/components/schemas/UserPermission"},"slug":{"type":"string","title":"Slug","description":"The application name in slug format","example":"application-falcon"},"has_been_deployed":{"type":"boolean","title":"Has Been Deployed","description":"Whether or not the application has been deployed"},"url":{"type":"string","title":"Url","description":"The URL of the application deployment"}},"type":"object","required":["name","id","owner","permissions","slug","has_been_deployed"],"title":"Application"},"ApplicationAccessPolicy":{"properties":{"subject":{"allOf":[{"$ref":"#/components/schemas/PolicySubject"}],"title":"Subject","description":"The subject of the access policy"},"permission":{"allOf":[{"$ref":"#/components/schemas/Permission"}],"description":"The permission given to the subject of the access policy","example":"write"}},"type":"object","required":["subject","permission"],"title":"ApplicationAccessPolicy"},"ApplicationAccessPolicyList":{"properties":{"page":{"type":"integer","title":"Page","description":"The current page the pagination request is on"},"per_page":{"type":"integer","title":"Per Page","description":"The number of pages per pagination request"},"next_page":{"type":"integer","title":"Next Page","description":"The next page, if this on is not the last"},"page_count":{"type":"integer","title":"Page Count","description":"The total number of pages"},"total_count":{"type":"integer","title":"Total Count","description":"The total number of resources matching the list request"},"resources":{"items":{"$ref":"#/components/schemas/ApplicationAccessPolicy"},"type":"array","title":"Resources"}},"type":"object","required":["page","per_page","page_count","total_count","resources"],"title":"ApplicationAccessPolicyList","description":"A list response from a pagination request"},"ApplicationCreate":{"properties":{"name":{"type":"string","title":"Name","description":"The name of the application. Must be unique to a given owner","example":"Application Falcon"},"description":{"type":"string","title":"Description","description":"A description of the application","default":"","example":"I always wanted to have a application called application Falcon"},"public":{"type":"boolean","title":"Public","description":"Whether or not a application is publicly viewable","default":true},"keywords":{"items":{"type":"string"},"type":"array","title":"Keywords","description":"A list of keywords associated with the application","default":[],"example":["falcon","api"]},"image":{"type":"string","title":"Image","description":"An image associated with the application","default":"https://picsum.photos/400"},"source":{"type":"string","title":"Source","description":"A link to the source code of the application"},"license":{"type":"string","title":"License","description":"The license of the application"},"sdk":{"allOf":[{"$ref":"#/components/schemas/SDKEnum"}],"description":"The SDK used to build the application","default":"streamlit"},"is_paid":{"type":"boolean","title":"Is Paid","description":"Whether or not the application is paid","default":false},"deployment_config":{"allOf":[{"$ref":"#/components/schemas/DeploymentConfig"}],"title":"Deployment Config","description":"The deployment configuration for the application","default":{"login_required":true,"cpu_limit":1,"memory_limit":2000,"scale_to_zero":true,"entrypoint_file":"app.py"}}},"type":"object","required":["name"],"title":"ApplicationCreate"},"ApplicationDeployment":{"properties":{"ready":{"type":"boolean","title":"Ready","description":"Indicates whether the application deployment is ready."},"url":{"type":"string","title":"Url","description":"The URL of the application deployment."},"author":{"allOf":[{"$ref":"#/components/schemas/AccountPublic"}],"title":"Author","description":"The user who deployed this app"},"version":{"allOf":[{"$ref":"#/components/schemas/ApplicationVersion"}],"title":"Version","description":"The version deployed"}},"type":"object","required":["ready","url","author","version"],"title":"ApplicationDeployment"},"ApplicationList":{"properties":{"page":{"type":"integer","title":"Page","description":"The current page the pagination request is on"},"per_page":{"type":"integer","title":"Per Page","description":"The number of pages per pagination request"},"next_page":{"type":"integer","title":"Next Page","description":"The next page, if this on is not the last"},"page_count":{"type":"integer","title":"Page Count","description":"The total number of pages"},"total_count":{"type":"integer","title":"Total Count","description":"The total number of resources matching the list request"},"resources":{"items":{"$ref":"#/components/schemas/Application"},"type":"array","title":"Resources"}},"type":"object","required":["page","per_page","page_count","total_count","resources"],"title":"ApplicationList","description":"A list response from a pagination request"},"ApplicationPolicySubject":{"properties":{"subject_type":{"$ref":"#/components/schemas/SubjectType"},"name":{"type":"string","title":"Name","description":"The name of the policy subject","example":"ladybugbot"}},"type":"object","required":["subject_type","name"],"title":"ApplicationPolicySubject"},"ApplicationSortKey":{"type":"string","enum":["created_at","updated_at","name"],"title":"ApplicationSortKey","description":"An enumeration."},"ApplicationUpdate":{"properties":{"description":{"type":"string","title":"Description","description":"A description of the application","example":"I always wanted to have a application called application Falcon"},"public":{"type":"boolean","title":"Public","description":"Whether or not a application is publicly viewable"},"keywords":{"items":{"type":"string"},"type":"array","title":"Keywords","description":"A list of keywords associated with the application","example":["falcon","api"]},"source":{"type":"string","title":"Source","description":"A link to the source code of the application"},"license":{"type":"string","title":"License","description":"The license of the application"},"is_paid":{"type":"boolean","title":"Is Paid","description":"Whether or not the application is paid"},"deployment_config":{"allOf":[{"$ref":"#/components/schemas/DeploymentConfigUpdate"}],"title":"Deployment Config","description":"The deployment configuration for the application"}},"type":"object","title":"ApplicationUpdate"},"ApplicationVersion":{"properties":{"id":{"type":"string","format":"uuid","title":"Id","description":"The application version ID"},"author":{"allOf":[{"$ref":"#/components/schemas/AccountPublic"}],"title":"Author","description":"The author that created the application version"},"tag":{"type":"string","title":"Tag","description":"The tag for this version of the application"},"release_notes":{"type":"string","title":"Release Notes","description":"The release notes for the application version","default":""},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"The time the application version was created"},"build_status":{"allOf":[{"$ref":"#/components/schemas/BuildStatus"}],"title":"Build Status","description":"The status of the application version build"}},"type":"object","required":["id","author","tag","build_status"],"title":"ApplicationVersion"},"ApplicationVersionList":{"properties":{"page":{"type":"integer","title":"Page","description":"The current page the pagination request is on"},"per_page":{"type":"integer","title":"Per Page","description":"The number of pages per pagination request"},"next_page":{"type":"integer","title":"Next Page","description":"The next page, if this on is not the last"},"page_count":{"type":"integer","title":"Page Count","description":"The total number of pages"},"total_count":{"type":"integer","title":"Total Count","description":"The total number of resources matching the list request"},"resources":{"items":{"$ref":"#/components/schemas/ApplicationVersion"},"type":"array","title":"Resources"}},"type":"object","required":["page","per_page","page_count","total_count","resources"],"title":"ApplicationVersionList","description":"A list response from a pagination request"},"BakedRecipe":{"properties":{"type":{"type":"string","pattern":"^BakedRecipe$","title":"Type","default":"BakedRecipe"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"api_version":{"type":"string","pattern":"^v1beta1$","title":"Api Version","default":"v1beta1","readOnly":true},"metadata":{"allOf":[{"$ref":"#/components/schemas/MetaData"}],"title":"Metadata","description":"Recipe metadata information."},"dependencies":{"items":{"$ref":"#/components/schemas/Dependency"},"type":"array","title":"Dependencies","description":"A list of plugins and other recipes this recipe depends on."},"flow":{"items":{"$ref":"#/components/schemas/DAG"},"type":"array","title":"Flow","description":"A list of tasks to create a DAG recipe."},"digest":{"type":"string","title":"Digest"},"templates":{"items":{"anyOf":[{"$ref":"#/components/schemas/TemplateFunction"},{"$ref":"#/components/schemas/DAG"}]},"type":"array","title":"Templates","description":"A list of templates. Templates can be Function or a DAG."}},"type":"object","required":["flow","digest","templates"],"title":"BakedRecipe","description":"Baked Recipe.\n\nA Baked Recipe contains all the templates referred to in the DAG within a templates\nlist."},"BillingDetails":{"properties":{"enable_checkout":{"type":"boolean","title":"Enable Checkout"},"payment_terms":{"$ref":"#/components/schemas/PaymentTerms"},"purchase_order_number":{"type":"string","title":"Purchase Order Number"},"additional_information":{"type":"string","title":"Additional Information"}},"type":"object","required":["enable_checkout","payment_terms"],"title":"BillingDetails"},"BillingInfo":{"properties":{"user_email":{"type":"string","title":"User Email","description":"The email used for billing on this subscription"},"update_url":{"type":"string","title":"Update Url","description":"The url to update the billing info"},"cancel_url":{"type":"string","title":"Cancel Url","description":"The url to cancel the subscription"},"signup_date":{"type":"string","format":"date-time","title":"Signup Date","description":"The date the subscription was created"},"payment_information":{"allOf":[{"$ref":"#/components/schemas/PaymentMethod"}],"title":"Payment Information","description":"The payment method used"},"last_payment":{"allOf":[{"$ref":"#/components/schemas/SubscriptionPayment"}],"title":"Last Payment","description":"The last payment made"},"next_payment":{"allOf":[{"$ref":"#/components/schemas/SubscriptionPayment"}],"title":"Next Payment","description":"The last payment made"},"paused_at":{"type":"string","format":"date-time","title":"Paused At","description":"The date the subscription was paused"},"paused_from":{"type":"string","format":"date-time","title":"Paused From","description":"The date the subscription will be paused from"},"paused_reason":{"allOf":[{"$ref":"#/components/schemas/PausedReason"}],"description":"The reason the subscription was paused"}},"type":"object","required":["user_email","update_url","cancel_url","signup_date","payment_information","last_payment"],"title":"BillingInfo"},"BillingInvoiceRequestCreate":{"properties":{"account":{"type":"string","title":"Account"},"items":{"items":{"$ref":"#/components/schemas/BillingSubscriptionItem"},"type":"array","title":"Items"},"address_line1":{"type":"string","title":"Address Line1","description":"First line of address"},"address_line2":{"type":"string","title":"Address Line2","description":"Second line of address (optional)"},"city":{"type":"string","title":"City","description":"City"},"region":{"type":"string","title":"Region","description":"Region/State"},"postal_code":{"type":"string","title":"Postal Code","description":"Postal/Zip code"},"country":{"allOf":[{"$ref":"#/components/schemas/CountryChoice"}],"description":"Country (human-readable name)"},"additional_emails":{"items":{"type":"string"},"type":"array","title":"Additional Emails","description":"Additional email addresses to send the invoice to"}},"type":"object","required":["account","items","address_line1","city","region","postal_code","country"],"title":"BillingInvoiceRequestCreate","description":"DTO for creating an invoice request with customer billing information"},"BillingOption":{"properties":{"id":{"type":"integer","title":"Id","description":"The id of the billing option"},"name":{"type":"string","title":"Name","description":"The name of the billing option"},"billing_type":{"type":"string","title":"Billing Type","description":"The type of billing option, can be daily, monthly or yearly"},"billing_period":{"type":"integer","title":"Billing Period","description":"The number of period for the billing cycle"},"recurring_price":{"additionalProperties":{"type":"number"},"type":"object","title":"Recurring Price","description":"The price of the billing option"}},"type":"object","required":["id","name","billing_type","billing_period","recurring_price"],"title":"BillingOption"},"BillingPaymentMethod":{"properties":{"id":{"type":"string","title":"Id"},"customer_id":{"type":"string","title":"Customer Id"},"address_id":{"type":"string","title":"Address Id"},"type":{"$ref":"#/components/schemas/PaddleBillingPaymentMethodType"},"card":{"$ref":"#/components/schemas/PaddleBillingPaymentMethodCard"},"paypal":{"$ref":"#/components/schemas/PaddleBillingPaymentMethodPaypal"},"saved_at":{"type":"string","format":"date-time","title":"Saved At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","customer_id","address_id","type","saved_at","updated_at"],"title":"BillingPaymentMethod","description":"DTO for Paddle Billing Payment Method"},"BillingPeriod":{"properties":{"starts_at":{"type":"string","format":"date-time","title":"Starts At"},"ends_at":{"type":"string","format":"date-time","title":"Ends At"}},"type":"object","required":["starts_at","ends_at"],"title":"BillingPeriod"},"BillingPrice":{"properties":{"id":{"type":"string","title":"Id"},"product_id":{"type":"string","title":"Product Id"},"name":{"type":"string","title":"Name","default":"No Name"},"description":{"type":"string","title":"Description"},"type":{"type":"string","title":"Type"},"billing_cycle":{"$ref":"#/components/schemas/Duration"},"trial_period":{"$ref":"#/components/schemas/Duration"},"tax_mode":{"type":"string","title":"Tax Mode"},"unit_price":{"$ref":"#/components/schemas/MoneyAmount"},"unit_price_overrides":{"items":{"type":"object"},"type":"array","title":"Unit Price Overrides"},"quantity":{"$ref":"#/components/schemas/QuantityConstraints"},"status":{"type":"string","title":"Status"},"custom_data":{"type":"object","title":"Custom Data"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"import_meta":{"type":"object","title":"Import Meta"}},"type":"object","required":["id","product_id","unit_price","status"],"title":"BillingPrice","description":"DTO for Paddle Billing Price"},"BillingProduct":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"plan_type":{"type":"string","title":"Plan Type"},"plan_slug":{"type":"string","title":"Plan Slug"},"prices":{"items":{"$ref":"#/components/schemas/BillingPrice"},"type":"array","title":"Prices"},"status":{"type":"string","title":"Status"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"image_url":{"type":"string","title":"Image Url"}},"type":"object","required":["id","name"],"title":"BillingProduct","description":"DTO for Paddle Billing Product with prices"},"BillingSubscription":{"properties":{"id":{"type":"string","title":"Id"},"status":{"$ref":"#/components/schemas/PaddleBillingSubscriptionStatus"},"customer_id":{"type":"string","title":"Customer Id"},"currency_code":{"type":"string","title":"Currency Code"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"started_at":{"type":"string","format":"date-time","title":"Started At"},"first_billed_at":{"type":"string","format":"date-time","title":"First Billed At"},"next_billed_at":{"type":"string","format":"date-time","title":"Next Billed At"},"paused_at":{"type":"string","format":"date-time","title":"Paused At"},"canceled_at":{"type":"string","format":"date-time","title":"Canceled At"},"collection_mode":{"type":"string","title":"Collection Mode"},"billing_details":{"type":"object","title":"Billing Details"},"current_billing_period":{"$ref":"#/components/schemas/BillingPeriod"},"billing_cycle":{"$ref":"#/components/schemas/Duration"},"scheduled_change":{"type":"object","title":"Scheduled Change"},"items":{"items":{"$ref":"#/components/schemas/PaddleBillingSubscriptionItem"},"type":"array","title":"Items"},"custom_data":{"type":"object","title":"Custom Data"}},"type":"object","required":["id","status","customer_id","currency_code","created_at","updated_at","items"],"title":"BillingSubscription","description":"DTO for Paddle Billing Subscription"},"BillingSubscriptionCreate":{"properties":{"account":{"type":"string","title":"Account"},"items":{"items":{"$ref":"#/components/schemas/BillingSubscriptionItem"},"type":"array","title":"Items"}},"type":"object","required":["account","items"],"title":"BillingSubscriptionCreate","description":"DTO for creating Billing subscription with multiple items"},"BillingSubscriptionItem":{"properties":{"price_id":{"type":"string","title":"Price Id"},"quantity":{"type":"integer","title":"Quantity","default":1}},"type":"object","required":["price_id"],"title":"BillingSubscriptionItem","description":"DTO for Billing subscription item creation"},"BillingSubscriptionUpdate":{"properties":{"items":{"items":{"$ref":"#/components/schemas/BillingSubscriptionItem"},"type":"array","title":"Items"}},"type":"object","required":["items"],"title":"BillingSubscriptionUpdate","description":"DTO for updating a Billing subscription with a single item"},"BillingTransaction":{"properties":{"id":{"type":"string","title":"Id"},"status":{"type":"string","title":"Status"},"customer_id":{"type":"string","title":"Customer Id"},"address_id":{"type":"string","title":"Address Id"},"business_id":{"type":"string","title":"Business Id"},"custom_data":{"type":"object","title":"Custom Data"},"origin":{"type":"string","title":"Origin"},"collection_mode":{"type":"string","title":"Collection Mode"},"subscription_id":{"type":"string","title":"Subscription Id"},"invoice_id":{"type":"string","title":"Invoice Id"},"invoice_number":{"type":"string","title":"Invoice Number"},"billing_details":{"$ref":"#/components/schemas/BillingDetails"},"billing_period":{"$ref":"#/components/schemas/BillingPeriod"},"currency_code":{"type":"string","title":"Currency Code"},"discount_id":{"type":"string","title":"Discount Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"billed_at":{"type":"string","format":"date-time","title":"Billed At"},"revised_at":{"type":"string","format":"date-time","title":"Revised At"},"items":{"items":{"$ref":"#/components/schemas/PaddleBillingTransactionItem"},"type":"array","title":"Items"},"checkout":{"$ref":"#/components/schemas/PaddleBillingCheckout"},"payments":{"items":{"$ref":"#/components/schemas/TransactionPayment"},"type":"array","title":"Payments","default":[]},"details":{"$ref":"#/components/schemas/PaddleBillingTransactionDetails"}},"type":"object","required":["id","status","origin","collection_mode","currency_code","created_at","updated_at","items"],"title":"BillingTransaction","description":"DTO for Paddle Billing Transaction"},"BillingTransactionPreview":{"properties":{"id":{"type":"string","title":"Id"},"status":{"$ref":"#/components/schemas/PaddleBillingSubscriptionStatus"},"customer_id":{"type":"string","title":"Customer Id"},"currency_code":{"type":"string","title":"Currency Code"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"started_at":{"type":"string","format":"date-time","title":"Started At"},"first_billed_at":{"type":"string","format":"date-time","title":"First Billed At"},"next_billed_at":{"type":"string","format":"date-time","title":"Next Billed At"},"paused_at":{"type":"string","format":"date-time","title":"Paused At"},"canceled_at":{"type":"string","format":"date-time","title":"Canceled At"},"collection_mode":{"type":"string","title":"Collection Mode"},"billing_details":{"type":"object","title":"Billing Details"},"current_billing_period":{"$ref":"#/components/schemas/BillingPeriod"},"billing_cycle":{"$ref":"#/components/schemas/Duration"},"scheduled_change":{"type":"object","title":"Scheduled Change"},"items":{"items":{"$ref":"#/components/schemas/PaddleBillingSubscriptionItem"},"type":"array","title":"Items"},"custom_data":{"type":"object","title":"Custom Data"},"immediate_transaction":{"$ref":"#/components/schemas/SubscriptionUpdateTransaction"},"next_transaction":{"$ref":"#/components/schemas/SubscriptionUpdateTransaction"}},"type":"object","required":["id","status","customer_id","currency_code","created_at","updated_at","items"],"title":"BillingTransactionPreview","description":"DTO for previewing a Billing transaction"},"Body_post_plugin":{"properties":{"package":{"type":"string","format":"binary","title":"Plugin Package"}},"type":"object","required":["package"],"title":"Body_post_plugin"},"Body_post_recipe":{"properties":{"package":{"type":"string","format":"binary","title":"Recipe Package"}},"type":"object","required":["package"],"title":"Body_post_recipe"},"Body_upload_version_package":{"properties":{"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["file"],"title":"Body_upload_version_package"},"BuildStatus":{"properties":{"status":{"allOf":[{"$ref":"#/components/schemas/BuildStatusEnum"}],"description":"The status of the build"},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"The date and time the build was created"},"started_at":{"type":"string","format":"date-time","title":"Started At","description":"The date and time the build started"},"finished_at":{"type":"string","format":"date-time","title":"Finished At","description":"The date and time the build finished"}},"type":"object","required":["status"],"title":"BuildStatus"},"BuildStatusEnum":{"type":"string","enum":["pending","running","success","failure","cancelled","awaiting_package_upload","unknown"],"title":"BuildStatusEnum","description":"The status of a build."},"CADLicenseUsage":{"properties":{"action":{"type":"string","title":"Action"},"app_version":{"type":"string","title":"App Version"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"product_name":{"type":"string","title":"Product Name"},"user_name":{"type":"string","title":"User Name"},"user_email":{"type":"string","title":"User Email"}},"type":"object","required":["action","app_version","created_at","product_name","user_name","user_email"],"title":"CADLicenseUsage","description":"A row in a report on CAD license usage"},"CardType":{"type":"string","enum":["master","mastercard","visa","american_express","discover","jcb","maestro","diners_club","unknown","union_pay"],"title":"CardType","description":"An enumeration."},"CloudJob":{"properties":{"id":{"type":"string","title":"Id","description":"The unique ID for this run"},"author":{"allOf":[{"$ref":"#/components/schemas/AccountPublic"}],"title":"Author","description":"author"},"owner":{"allOf":[{"$ref":"#/components/schemas/AccountPublic"}],"title":"Owner","description":"owner"},"recipe":{"allOf":[{"$ref":"#/components/schemas/RecipeInterface"}],"title":"Recipe","description":"The recipe used to generate this "},"spec":{"allOf":[{"$ref":"#/components/schemas/Job"}],"title":"Spec","description":"The job specification"},"status":{"allOf":[{"$ref":"#/components/schemas/JobStatus"}],"title":"Status","description":"The status of the job"},"resources_duration":{"allOf":[{"$ref":"#/components/schemas/ResourcesDuration"}],"title":"Resources Duration","description":"CPU and Memory usage aggregated for all runs in this job","default":{"cpu":0,"memory":0}}},"type":"object","required":["id","spec"],"title":"CloudJob"},"CloudJobList":{"properties":{"page":{"type":"integer","title":"Page","description":"The current page the pagination request is on"},"per_page":{"type":"integer","title":"Per Page","description":"The number of pages per pagination request"},"next_page":{"type":"integer","title":"Next Page","description":"The next page, if this on is not the last"},"page_count":{"type":"integer","title":"Page Count","description":"The total number of pages"},"total_count":{"type":"integer","title":"Total Count","description":"The total number of resources matching the list request"},"resources":{"items":{"$ref":"#/components/schemas/CloudJob"},"type":"array","title":"Resources"}},"type":"object","required":["page","per_page","page_count","total_count","resources"],"title":"CloudJobList","description":"A list response from a pagination request"},"CountryChoice":{"type":"string","enum":["Andorra","United Arab Emirates","Antigua and Barbuda","Anguilla","Albania","Armenia","Angola","Argentina","American Samoa","Austria","Australia","Aruba","Åland Islands","Azerbaijan","Bosnia and Herzegovina","Barbados","Bangladesh","Belgium","Burkina Faso","Bulgaria","Bahrain","Burundi","Benin","Saint Barthélemy","Bermuda","Brunei","Bolivia","Caribbean Netherlands","Brazil","Bahamas","Bhutan","Bouvet Island","Botswana","Belize","Canada","Cocos (Keeling) Islands","Republic of the Congo","Switzerland","Côte d'Ivoire","Cook Islands","Chile","Cameroon","China","Colombia","Costa Rica","Cape Verde","Curaçao","Christmas Island","Cyprus","Czech Republic","Germany","Djibouti","Denmark","Dominica","Dominican Republic","Algeria","Ecuador","Estonia","Egypt","Western Sahara","Eritrea","Spain","Ethiopia","Finland","Fiji","Falkland Islands","Micronesia","Faroe Islands","France","Gabon","United Kingdom","Grenada","Georgia","French Guiana","Guernsey","Ghana","Gibraltar","Greenland","Gambia","Guinea","Guadeloupe","Equatorial Guinea","Greece","South Georgia and the South Sandwich Islands","Guatemala","Guam","Guinea-Bissau","Guyana","Hong Kong","Heard Island and McDonald Islands","Honduras","Croatia","Hungary","Indonesia","Ireland","Israel","Isle of Man","India","British Indian Ocean Territory","Iraq","Iceland","Italy","Jersey","Jamaica","Jordan","Japan","Kenya","Kyrgyzstan","Cambodia","Kiribati","Comoros","Saint Kitts and Nevis","South Korea","Kuwait","Cayman Islands","Kazakhstan","Laos","Lebanon","Saint Lucia","Liechtenstein","Sri Lanka","Liberia","Lesotho","Lithuania","Luxembourg","Latvia","Morocco","Monaco","Moldova","Montenegro","Saint Martin","Madagascar","Marshall Islands","North Macedonia","Mongolia","Macao","Northern Mariana Islands","Martinique","Mauritania","Montserrat","Malta","Mauritius","Maldives","Malawi","Mexico","Malaysia","Mozambique","Namibia","New Caledonia","Niger","Norfolk Island","Nigeria","Netherlands","Norway","Nepal","Nauru","Niue","New Zealand","Oman","Panama","Peru","French Polynesia","Papua New Guinea","Philippines","Pakistan","Poland","Saint Pierre and Miquelon","Pitcairn Islands","Puerto Rico","Palestine","Portugal","Palau","Paraguay","Qatar","Réunion","Romania","Serbia","Rwanda","Saudi Arabia","Solomon Islands","Seychelles","Sweden","Singapore","Saint Helena, Ascension and Tristan da Cunha","Slovenia","Svalbard and Jan Mayen","Slovakia","Sierra Leone","San Marino","Senegal","Suriname","São Tomé and Príncipe","El Salvador","Sint Maarten","Eswatini","Turks and Caicos Islands","Chad","French Southern and Antarctic Lands","Togo","Thailand","Tajikistan","Tokelau","Timor-Leste","Turkmenistan","Tunisia","Tonga","Turkey","Trinidad and Tobago","Tuvalu","Taiwan","Tanzania","Ukraine","Uganda","United States Minor Outlying Islands","United States","Uruguay","Uzbekistan","Vatican City","Saint Vincent and the Grenadines","British Virgin Islands","United States Virgin Islands","Vietnam","Vanuatu","Wallis and Futuna","Samoa","Kosovo","Mayotte","South Africa","Zambia"],"title":"CountryChoice","description":"Human-readable country names mapped to ISO 3166-1 alpha-2 codes for Paddle Billing\n\nThe enum values are human-readable country names that can be used in API requests.\nEach value maps to the corresponding ISO code for Paddle Billing.\nIncludes all countries supported by the Paddle Billing SDK."},"CreatedContent":{"properties":{"id":{"type":"string","format":"uuid","title":"Id","description":"Id for the newly created resource.","example":"3fa85f64-5717-4562-b3fc-2c963f66afa6"},"message":{"type":"string","title":"Message","description":" A human readable message","example":"Use Location in headers to access the new object."}},"type":"object","required":["id"],"title":"CreatedContent","description":"Content for created response."},"DAG":{"properties":{"type":{"type":"string","pattern":"^DAG$","title":"Type","default":"DAG"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"inputs":{"items":{"anyOf":[{"$ref":"#/components/schemas/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"}]},"type":"array","title":"Inputs","description":"Inputs for the DAG."},"outputs":{"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"}]},"type":"array","title":"Outputs","description":"Outputs of the DAG that can be used by other DAGs."},"name":{"type":"string","title":"Name","description":"A unique name for this dag."},"fail_fast":{"type":"boolean","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},"tasks":{"items":{"$ref":"#/components/schemas/DAGTask"},"type":"array","title":"Tasks","description":"Tasks are a list of DAG steps"}},"type":"object","required":["name","tasks"],"title":"DAG","description":"A Directed Acyclic Graph containing a list of tasks."},"DAGArrayInput":{"properties":{"type":{"type":"string","pattern":"^DAGArrayInput$","title":"Type","default":"DAGArrayInput"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Input name."},"description":{"type":"string","title":"Description","description":"Optional description for input."},"default":{"items":{},"type":"array","title":"Default","description":"Default value to use for an input if a value was not supplied."},"alias":{"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"}]},"type":"array","title":"Alias","description":"A list of aliases for this input in different platforms."},"required":{"type":"boolean","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},"spec":{"type":"object","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."},"items_type":{"allOf":[{"$ref":"#/components/schemas/ItemType"}],"description":"Type of items in an array. All the items in an array must be from the same type.","default":"String"}},"type":"object","required":["name"],"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."},"DAGArrayInputAlias":{"properties":{"type":{"type":"string","pattern":"^DAGArrayInputAlias$","title":"Type","default":"DAGArrayInputAlias"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Input name."},"description":{"type":"string","title":"Description","description":"Optional description for input."},"platform":{"items":{"type":"string"},"type":"array","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."},"handler":{"items":{"$ref":"#/components/schemas/IOAliasHandler"},"type":"array","title":"Handler","description":"List of process actions to process the input or output value."},"default":{"items":{},"type":"array","title":"Default","description":"Default value to use for an input if a value was not supplied."},"required":{"type":"boolean","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},"spec":{"type":"object","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."},"items_type":{"allOf":[{"$ref":"#/components/schemas/ItemType"}],"description":"Type of items in an array. All the items in an array must be from the same type.","default":"String"}},"type":"object","required":["name","platform","handler"],"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."},"DAGArrayOutput":{"properties":{"type":{"type":"string","pattern":"^DAGArrayOutput$","title":"Type","default":"DAGArrayOutput"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Output name."},"description":{"type":"string","title":"Description","description":"Optional description for output."},"from":{"anyOf":[{"$ref":"#/components/schemas/TaskReference"},{"$ref":"#/components/schemas/FileReference"}],"title":"From","description":"Reference to a file or a task output. Task output must be file."},"alias":{"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":"array","title":"Alias","description":"A list of additional processes for loading this output on different platforms."},"required":{"type":"boolean","title":"Required","description":"A boolean to indicate if an artifact output is required. A False value makes the artifact optional.","default":true},"items_type":{"allOf":[{"$ref":"#/components/schemas/ItemType"}],"description":"Type of items in this array. All the items in an array must be from the same type.","default":"String"}},"type":"object","required":["name","from"],"title":"DAGArrayOutput","description":"DAG array output.\n\nThis output loads the content from a JSON file which must be a JSON Array."},"DAGArrayOutputAlias":{"properties":{"type":{"type":"string","pattern":"^DAGArrayOutputAlias$","title":"Type","default":"DAGArrayOutputAlias"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Output name."},"description":{"type":"string","title":"Description","description":"Optional description for output."},"platform":{"items":{"type":"string"},"type":"array","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."},"handler":{"items":{"$ref":"#/components/schemas/IOAliasHandler"},"type":"array","title":"Handler","description":"List of process actions to process the input or output value."},"required":{"type":"boolean","title":"Required","description":"A boolean to indicate if an artifact output is required. A False value makes the artifact optional.","default":true},"from":{"anyOf":[{"$ref":"#/components/schemas/TaskReference"},{"$ref":"#/components/schemas/FileReference"}],"title":"From","description":"Reference to a file or a task output. Task output must be file."},"items_type":{"allOf":[{"$ref":"#/components/schemas/ItemType"}],"description":"Type of items in this array. All the items in an array must be from the same type.","default":"String"}},"type":"object","required":["name","platform","handler","from"],"title":"DAGArrayOutputAlias","description":"DAG alias array output.\n\nThis output loads the content from a JSON file which must be a JSON Array."},"DAGBooleanInput":{"properties":{"type":{"type":"string","pattern":"^DAGBooleanInput$","title":"Type","default":"DAGBooleanInput"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Input name."},"description":{"type":"string","title":"Description","description":"Optional description for input."},"default":{"type":"boolean","title":"Default","description":"Default value to use for an input if a value was not supplied."},"alias":{"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"}]},"type":"array","title":"Alias","description":"A list of aliases for this input in different platforms."},"required":{"type":"boolean","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},"spec":{"type":"object","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","required":["name"],"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."},"DAGBooleanInputAlias":{"properties":{"type":{"type":"string","pattern":"^DAGBooleanInputAlias$","title":"Type","default":"DAGBooleanInputAlias"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Input name."},"description":{"type":"string","title":"Description","description":"Optional description for input."},"platform":{"items":{"type":"string"},"type":"array","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."},"handler":{"items":{"$ref":"#/components/schemas/IOAliasHandler"},"type":"array","title":"Handler","description":"List of process actions to process the input or output value."},"default":{"type":"boolean","title":"Default","description":"Default value to use for an input if a value was not supplied."},"required":{"type":"boolean","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},"spec":{"type":"object","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","required":["name","platform","handler"],"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."},"DAGBooleanOutput":{"properties":{"type":{"type":"string","pattern":"^DAGBooleanOutput$","title":"Type","default":"DAGBooleanOutput"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Output name."},"description":{"type":"string","title":"Description","description":"Optional description for output."},"from":{"anyOf":[{"$ref":"#/components/schemas/TaskReference"},{"$ref":"#/components/schemas/FileReference"}],"title":"From","description":"Reference to a file or a task output. Task output must be file."},"alias":{"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":"array","title":"Alias","description":"A list of additional processes for loading this output on different platforms."},"required":{"type":"boolean","title":"Required","description":"A boolean to indicate if an artifact output is required. A False value makes the artifact optional.","default":true}},"type":"object","required":["name","from"],"title":"DAGBooleanOutput","description":"DAG boolean output.\n\nThis output loads the content from a file as a boolean."},"DAGBooleanOutputAlias":{"properties":{"type":{"type":"string","pattern":"^DAGBooleanOutputAlias$","title":"Type","default":"DAGBooleanOutputAlias"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Output name."},"description":{"type":"string","title":"Description","description":"Optional description for output."},"platform":{"items":{"type":"string"},"type":"array","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."},"handler":{"items":{"$ref":"#/components/schemas/IOAliasHandler"},"type":"array","title":"Handler","description":"List of process actions to process the input or output value."},"required":{"type":"boolean","title":"Required","description":"A boolean to indicate if an artifact output is required. A False value makes the artifact optional.","default":true},"from":{"anyOf":[{"$ref":"#/components/schemas/TaskReference"},{"$ref":"#/components/schemas/FileReference"}],"title":"From","description":"Reference to a file or a task output. Task output must be file."}},"type":"object","required":["name","platform","handler","from"],"title":"DAGBooleanOutputAlias","description":"DAG alias boolean output.\n\nThis output loads the content from a file as a boolean."},"DAGFileInput":{"properties":{"type":{"type":"string","pattern":"^DAGFileInput$","title":"Type","default":"DAGFileInput"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Input name."},"description":{"type":"string","title":"Description","description":"Optional description for input."},"default":{"anyOf":[{"$ref":"#/components/schemas/HTTP"},{"$ref":"#/components/schemas/S3"},{"$ref":"#/components/schemas/ProjectFolder"}],"title":"Default","description":"The default source for file if the value is not provided."},"alias":{"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"}]},"type":"array","title":"Alias","description":"A list of aliases for this input in different platforms."},"required":{"type":"boolean","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},"spec":{"type":"object","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."},"extensions":{"items":{"type":"string"},"type":"array","title":"Extensions","description":"Optional list of extensions for file. The check for extension is case-insensitive."}},"type":"object","required":["name"],"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    }"},"DAGFileInputAlias":{"properties":{"type":{"type":"string","pattern":"^DAGFileInputAlias$","title":"Type","default":"DAGFileInputAlias"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Input name."},"description":{"type":"string","title":"Description","description":"Optional description for input."},"platform":{"items":{"type":"string"},"type":"array","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."},"handler":{"items":{"$ref":"#/components/schemas/IOAliasHandler"},"type":"array","title":"Handler","description":"List of process actions to process the input or output value."},"default":{"anyOf":[{"$ref":"#/components/schemas/HTTP"},{"$ref":"#/components/schemas/S3"},{"$ref":"#/components/schemas/ProjectFolder"}],"title":"Default","description":"The default source for file if the value is not provided."},"required":{"type":"boolean","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},"spec":{"type":"object","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."},"extensions":{"items":{"type":"string"},"type":"array","title":"Extensions","description":"Optional list of extensions for file. The check for extension is case-insensitive."}},"type":"object","required":["name","platform","handler"],"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    }"},"DAGFileOutput":{"properties":{"type":{"type":"string","pattern":"^DAGFileOutput$","title":"Type","default":"DAGFileOutput"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Output name."},"description":{"type":"string","title":"Description","description":"Optional description for output."},"from":{"anyOf":[{"$ref":"#/components/schemas/TaskReference"},{"$ref":"#/components/schemas/FileReference"}],"title":"From","description":"Reference to a file or a task output. Task output must be file."},"alias":{"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":"array","title":"Alias","description":"A list of additional processes for loading this output on different platforms."},"required":{"type":"boolean","title":"Required","description":"A boolean to indicate if an artifact output is required. A False value makes the artifact optional.","default":true}},"type":"object","required":["name","from"],"title":"DAGFileOutput","description":"DAG file output."},"DAGFileOutputAlias":{"properties":{"type":{"type":"string","pattern":"^DAGFileOutputAlias$","title":"Type","default":"DAGFileOutputAlias"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Output name."},"description":{"type":"string","title":"Description","description":"Optional description for output."},"platform":{"items":{"type":"string"},"type":"array","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."},"handler":{"items":{"$ref":"#/components/schemas/IOAliasHandler"},"type":"array","title":"Handler","description":"List of process actions to process the input or output value."},"required":{"type":"boolean","title":"Required","description":"A boolean to indicate if an artifact output is required. A False value makes the artifact optional.","default":true},"from":{"anyOf":[{"$ref":"#/components/schemas/TaskReference"},{"$ref":"#/components/schemas/FileReference"}],"title":"From","description":"Reference to a file or a task output. Task output must be file."}},"type":"object","required":["name","platform","handler","from"],"title":"DAGFileOutputAlias","description":"DAG alias file output."},"DAGFolderInput":{"properties":{"type":{"type":"string","pattern":"^DAGFolderInput$","title":"Type","default":"DAGFolderInput"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Input name."},"description":{"type":"string","title":"Description","description":"Optional description for input."},"default":{"anyOf":[{"$ref":"#/components/schemas/HTTP"},{"$ref":"#/components/schemas/S3"},{"$ref":"#/components/schemas/ProjectFolder"}],"title":"Default","description":"The default source for file if the value is not provided."},"alias":{"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"}]},"type":"array","title":"Alias","description":"A list of aliases for this input in different platforms."},"required":{"type":"boolean","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},"spec":{"type":"object","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","required":["name"],"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    }"},"DAGFolderInputAlias":{"properties":{"type":{"type":"string","pattern":"^DAGFolderInputAlias$","title":"Type","default":"DAGFolderInputAlias"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Input name."},"description":{"type":"string","title":"Description","description":"Optional description for input."},"platform":{"items":{"type":"string"},"type":"array","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."},"handler":{"items":{"$ref":"#/components/schemas/IOAliasHandler"},"type":"array","title":"Handler","description":"List of process actions to process the input or output value."},"default":{"anyOf":[{"$ref":"#/components/schemas/HTTP"},{"$ref":"#/components/schemas/S3"},{"$ref":"#/components/schemas/ProjectFolder"}],"title":"Default","description":"The default source for file if the value is not provided."},"required":{"type":"boolean","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},"spec":{"type":"object","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","required":["name","platform","handler"],"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    }"},"DAGFolderOutput":{"properties":{"type":{"type":"string","pattern":"^DAGFolderOutput$","title":"Type","default":"DAGFolderOutput"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Output name."},"description":{"type":"string","title":"Description","description":"Optional description for output."},"from":{"anyOf":[{"$ref":"#/components/schemas/TaskReference"},{"$ref":"#/components/schemas/FolderReference"}],"title":"From","description":"Reference to a folder or a task output. Task output must be folder."},"alias":{"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":"array","title":"Alias","description":"A list of additional processes for loading this output on different platforms."},"required":{"type":"boolean","title":"Required","description":"A boolean to indicate if an artifact output is required. A False value makes the artifact optional.","default":true}},"type":"object","required":["name","from"],"title":"DAGFolderOutput","description":"DAG folder output."},"DAGFolderOutputAlias":{"properties":{"type":{"type":"string","pattern":"^DAGFolderOutputAlias$","title":"Type","default":"DAGFolderOutputAlias"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Output name."},"description":{"type":"string","title":"Description","description":"Optional description for output."},"platform":{"items":{"type":"string"},"type":"array","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."},"handler":{"items":{"$ref":"#/components/schemas/IOAliasHandler"},"type":"array","title":"Handler","description":"List of process actions to process the input or output value."},"required":{"type":"boolean","title":"Required","description":"A boolean to indicate if an artifact output is required. A False value makes the artifact optional.","default":true},"from":{"anyOf":[{"$ref":"#/components/schemas/TaskReference"},{"$ref":"#/components/schemas/FolderReference"}],"title":"From","description":"Reference to a folder or a task output. Task output must be folder."}},"type":"object","required":["name","platform","handler","from"],"title":"DAGFolderOutputAlias","description":"DAG alias folder output."},"DAGGenericInput":{"properties":{"type":{"type":"string","pattern":"^DAGGenericInput$","title":"Type","default":"DAGGenericInput"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Input name."},"description":{"type":"string","title":"Description","description":"Optional description for input."},"default":{"type":"string","title":"Default","description":"Default value for generic input."},"alias":{"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"}]},"type":"array","title":"Alias","description":"A list of aliases for this input in different platforms."},"required":{"type":"boolean","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},"spec":{"type":"object","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","required":["name"],"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."},"DAGGenericInputAlias":{"properties":{"type":{"type":"string","pattern":"^DAGGenericInputAlias$","title":"Type","default":"DAGGenericInputAlias"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Input name."},"description":{"type":"string","title":"Description","description":"Optional description for input."},"platform":{"items":{"type":"string"},"type":"array","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."},"handler":{"items":{"$ref":"#/components/schemas/IOAliasHandler"},"type":"array","title":"Handler","description":"List of process actions to process the input or output value."},"default":{"type":"string","title":"Default","description":"Default value for generic input."},"required":{"type":"boolean","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},"spec":{"type":"object","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","required":["name","platform","handler"],"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."},"DAGGenericOutput":{"properties":{"type":{"type":"string","pattern":"^DAGGenericOutput$","title":"Type","default":"DAGGenericOutput"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Output name."},"description":{"type":"string","title":"Description","description":"Optional description for output."},"from":{"title":"From","description":"Reference to a file or a task output. Task output must be file."},"alias":{"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":"array","title":"Alias","description":"A list of additional processes for loading this output on different platforms."}},"type":"object","required":["name","from"],"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."},"DAGGenericOutputAlias":{"properties":{"type":{"type":"string","pattern":"^DAGGenericOutputAlias$","title":"Type","default":"DAGGenericOutputAlias"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Output name."},"description":{"type":"string","title":"Description","description":"Optional description for output."},"platform":{"items":{"type":"string"},"type":"array","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."},"handler":{"items":{"$ref":"#/components/schemas/IOAliasHandler"},"type":"array","title":"Handler","description":"List of process actions to process the input or output value."}},"type":"object","required":["name","platform","handler"],"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."},"DAGIntegerInput":{"properties":{"type":{"type":"string","pattern":"^DAGIntegerInput$","title":"Type","default":"DAGIntegerInput"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Input name."},"description":{"type":"string","title":"Description","description":"Optional description for input."},"default":{"type":"integer","title":"Default","description":"Default value to use for an input if a value was not supplied."},"alias":{"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"}]},"type":"array","title":"Alias","description":"A list of aliases for this input in different platforms."},"required":{"type":"boolean","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},"spec":{"type":"object","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","required":["name"],"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."},"DAGIntegerInputAlias":{"properties":{"type":{"type":"string","pattern":"^DAGIntegerInputAlias$","title":"Type","default":"DAGIntegerInputAlias"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Input name."},"description":{"type":"string","title":"Description","description":"Optional description for input."},"platform":{"items":{"type":"string"},"type":"array","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."},"handler":{"items":{"$ref":"#/components/schemas/IOAliasHandler"},"type":"array","title":"Handler","description":"List of process actions to process the input or output value."},"default":{"type":"integer","title":"Default","description":"Default value to use for an input if a value was not supplied."},"required":{"type":"boolean","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},"spec":{"type":"object","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","required":["name","platform","handler"],"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."},"DAGIntegerOutput":{"properties":{"type":{"type":"string","pattern":"^DAGIntegerOutput$","title":"Type","default":"DAGIntegerOutput"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Output name."},"description":{"type":"string","title":"Description","description":"Optional description for output."},"from":{"anyOf":[{"$ref":"#/components/schemas/TaskReference"},{"$ref":"#/components/schemas/FileReference"}],"title":"From","description":"Reference to a file or a task output. Task output must be file."},"alias":{"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":"array","title":"Alias","description":"A list of additional processes for loading this output on different platforms."},"required":{"type":"boolean","title":"Required","description":"A boolean to indicate if an artifact output is required. A False value makes the artifact optional.","default":true}},"type":"object","required":["name","from"],"title":"DAGIntegerOutput","description":"DAG integer output.\n\nThis output loads the content from a file as an integer."},"DAGIntegerOutputAlias":{"properties":{"type":{"type":"string","pattern":"^DAGIntegerOutputAlias$","title":"Type","default":"DAGIntegerOutputAlias"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Output name."},"description":{"type":"string","title":"Description","description":"Optional description for output."},"platform":{"items":{"type":"string"},"type":"array","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."},"handler":{"items":{"$ref":"#/components/schemas/IOAliasHandler"},"type":"array","title":"Handler","description":"List of process actions to process the input or output value."},"required":{"type":"boolean","title":"Required","description":"A boolean to indicate if an artifact output is required. A False value makes the artifact optional.","default":true},"from":{"anyOf":[{"$ref":"#/components/schemas/TaskReference"},{"$ref":"#/components/schemas/FileReference"}],"title":"From","description":"Reference to a file or a task output. Task output must be file."}},"type":"object","required":["name","platform","handler","from"],"title":"DAGIntegerOutputAlias","description":"DAG alias integer output.\n\nThis output loads the content from a file as an integer."},"DAGJSONObjectInput":{"properties":{"type":{"type":"string","pattern":"^DAGJSONObjectInput$","title":"Type","default":"DAGJSONObjectInput"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Input name."},"description":{"type":"string","title":"Description","description":"Optional description for input."},"default":{"type":"object","title":"Default","description":"Default value to use for an input if a value was not supplied."},"alias":{"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"}]},"type":"array","title":"Alias","description":"A list of aliases for this input in different platforms."},"required":{"type":"boolean","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},"spec":{"type":"object","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","required":["name"],"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."},"DAGJSONObjectInputAlias":{"properties":{"type":{"type":"string","pattern":"^DAGJSONObjectInputAlias$","title":"Type","default":"DAGJSONObjectInputAlias"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Input name."},"description":{"type":"string","title":"Description","description":"Optional description for input."},"platform":{"items":{"type":"string"},"type":"array","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."},"handler":{"items":{"$ref":"#/components/schemas/IOAliasHandler"},"type":"array","title":"Handler","description":"List of process actions to process the input or output value."},"default":{"type":"object","title":"Default","description":"Default value to use for an input if a value was not supplied."},"required":{"type":"boolean","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},"spec":{"type":"object","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","required":["name","platform","handler"],"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."},"DAGJSONObjectOutput":{"properties":{"type":{"type":"string","pattern":"^DAGJSONObjectOutput$","title":"Type","default":"DAGJSONObjectOutput"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Output name."},"description":{"type":"string","title":"Description","description":"Optional description for output."},"from":{"anyOf":[{"$ref":"#/components/schemas/TaskReference"},{"$ref":"#/components/schemas/FileReference"}],"title":"From","description":"Reference to a file or a task output. Task output must be file."},"alias":{"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":"array","title":"Alias","description":"A list of additional processes for loading this output on different platforms."},"required":{"type":"boolean","title":"Required","description":"A boolean to indicate if an artifact output is required. A False value makes the artifact optional.","default":true}},"type":"object","required":["name","from"],"title":"DAGJSONObjectOutput","description":"DAG object output.\n\nThis output loads the content from a file as a JSON object."},"DAGJSONObjectOutputAlias":{"properties":{"type":{"type":"string","pattern":"^DAGJSONObjectOutputAlias$","title":"Type","default":"DAGJSONObjectOutputAlias"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Output name."},"description":{"type":"string","title":"Description","description":"Optional description for output."},"platform":{"items":{"type":"string"},"type":"array","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."},"handler":{"items":{"$ref":"#/components/schemas/IOAliasHandler"},"type":"array","title":"Handler","description":"List of process actions to process the input or output value."},"required":{"type":"boolean","title":"Required","description":"A boolean to indicate if an artifact output is required. A False value makes the artifact optional.","default":true},"from":{"anyOf":[{"$ref":"#/components/schemas/TaskReference"},{"$ref":"#/components/schemas/FileReference"}],"title":"From","description":"Reference to a file or a task output. Task output must be file."}},"type":"object","required":["name","platform","handler","from"],"title":"DAGJSONObjectOutputAlias","description":"DAG alias object output.\n\nThis output loads the content from a file as a JSON object."},"DAGLinkedInputAlias":{"properties":{"type":{"type":"string","pattern":"^DAGLinkedInputAlias$","title":"Type","default":"DAGLinkedInputAlias"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Input name."},"description":{"type":"string","title":"Description","description":"Optional description for input."},"platform":{"items":{"type":"string"},"type":"array","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."},"handler":{"items":{"$ref":"#/components/schemas/IOAliasHandler"},"type":"array","title":"Handler","description":"List of process actions to process the input or output value."},"default":{"type":"string","title":"Default","description":"Default value for generic input."},"required":{"type":"boolean","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},"spec":{"type":"object","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","required":["name","platform","handler"],"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."},"DAGLinkedOutputAlias":{"properties":{"type":{"type":"string","pattern":"^DAGLinkedOutputAlias$","title":"Type","default":"DAGLinkedOutputAlias"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Output name."},"description":{"type":"string","title":"Description","description":"Optional description for output."},"platform":{"items":{"type":"string"},"type":"array","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."},"handler":{"items":{"$ref":"#/components/schemas/IOAliasHandler"},"type":"array","title":"Handler","description":"List of process actions to process the input or output value."}},"type":"object","required":["name","platform","handler"],"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."},"DAGNumberInput":{"properties":{"type":{"type":"string","pattern":"^DAGNumberInput$","title":"Type","default":"DAGNumberInput"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Input name."},"description":{"type":"string","title":"Description","description":"Optional description for input."},"default":{"type":"number","title":"Default","description":"Default value to use for an input if a value was not supplied."},"alias":{"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"}]},"type":"array","title":"Alias","description":"A list of aliases for this input in different platforms."},"required":{"type":"boolean","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},"spec":{"type":"object","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","required":["name"],"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."},"DAGNumberInputAlias":{"properties":{"type":{"type":"string","pattern":"^DAGNumberInputAlias$","title":"Type","default":"DAGNumberInputAlias"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Input name."},"description":{"type":"string","title":"Description","description":"Optional description for input."},"platform":{"items":{"type":"string"},"type":"array","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."},"handler":{"items":{"$ref":"#/components/schemas/IOAliasHandler"},"type":"array","title":"Handler","description":"List of process actions to process the input or output value."},"default":{"type":"number","title":"Default","description":"Default value to use for an input if a value was not supplied."},"required":{"type":"boolean","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},"spec":{"type":"object","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","required":["name","platform","handler"],"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."},"DAGNumberOutput":{"properties":{"type":{"type":"string","pattern":"^DAGNumberOutput$","title":"Type","default":"DAGNumberOutput"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Output name."},"description":{"type":"string","title":"Description","description":"Optional description for output."},"from":{"anyOf":[{"$ref":"#/components/schemas/TaskReference"},{"$ref":"#/components/schemas/FileReference"}],"title":"From","description":"Reference to a file or a task output. Task output must be file."},"alias":{"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":"array","title":"Alias","description":"A list of additional processes for loading this output on different platforms."},"required":{"type":"boolean","title":"Required","description":"A boolean to indicate if an artifact output is required. A False value makes the artifact optional.","default":true}},"type":"object","required":["name","from"],"title":"DAGNumberOutput","description":"DAG number output.\n\nThis output loads the content from a file as a floating number."},"DAGNumberOutputAlias":{"properties":{"type":{"type":"string","pattern":"^DAGNumberOutputAlias$","title":"Type","default":"DAGNumberOutputAlias"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Output name."},"description":{"type":"string","title":"Description","description":"Optional description for output."},"platform":{"items":{"type":"string"},"type":"array","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."},"handler":{"items":{"$ref":"#/components/schemas/IOAliasHandler"},"type":"array","title":"Handler","description":"List of process actions to process the input or output value."},"required":{"type":"boolean","title":"Required","description":"A boolean to indicate if an artifact output is required. A False value makes the artifact optional.","default":true},"from":{"anyOf":[{"$ref":"#/components/schemas/TaskReference"},{"$ref":"#/components/schemas/FileReference"}],"title":"From","description":"Reference to a file or a task output. Task output must be file."}},"type":"object","required":["name","platform","handler","from"],"title":"DAGNumberOutputAlias","description":"DAG alias number output.\n\nThis output loads the content from a file as a floating number."},"DAGPathInput":{"properties":{"type":{"type":"string","pattern":"^DAGPathInput$","title":"Type","default":"DAGPathInput"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Input name."},"description":{"type":"string","title":"Description","description":"Optional description for input."},"default":{"anyOf":[{"$ref":"#/components/schemas/HTTP"},{"$ref":"#/components/schemas/S3"},{"$ref":"#/components/schemas/ProjectFolder"}],"title":"Default","description":"The default source for file if the value is not provided."},"alias":{"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"}]},"type":"array","title":"Alias","description":"A list of aliases for this input in different platforms."},"required":{"type":"boolean","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},"spec":{"type":"object","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."},"extensions":{"items":{"type":"string"},"type":"array","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":"object","required":["name"],"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    }"},"DAGPathInputAlias":{"properties":{"type":{"type":"string","pattern":"^DAGPathInputAlias$","title":"Type","default":"DAGPathInputAlias"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Input name."},"description":{"type":"string","title":"Description","description":"Optional description for input."},"platform":{"items":{"type":"string"},"type":"array","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."},"handler":{"items":{"$ref":"#/components/schemas/IOAliasHandler"},"type":"array","title":"Handler","description":"List of process actions to process the input or output value."},"default":{"anyOf":[{"$ref":"#/components/schemas/HTTP"},{"$ref":"#/components/schemas/S3"},{"$ref":"#/components/schemas/ProjectFolder"}],"title":"Default","description":"The default source for file if the value is not provided."},"required":{"type":"boolean","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},"spec":{"type":"object","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."},"extensions":{"items":{"type":"string"},"type":"array","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":"object","required":["name","platform","handler"],"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    }"},"DAGPathOutput":{"properties":{"type":{"type":"string","pattern":"^DAGPathOutput$","title":"Type","default":"DAGPathOutput"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Output name."},"description":{"type":"string","title":"Description","description":"Optional description for output."},"from":{"anyOf":[{"$ref":"#/components/schemas/TaskReference"},{"$ref":"#/components/schemas/FileReference"},{"$ref":"#/components/schemas/FolderReference"}],"title":"From","description":"Reference to a file, folder or a task output. Task output must either be a file or a folder."},"alias":{"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":"array","title":"Alias","description":"A list of additional processes for loading this output on different platforms."},"required":{"type":"boolean","title":"Required","description":"A boolean to indicate if an artifact output is required. A False value makes the artifact optional.","default":true}},"type":"object","required":["name","from"],"title":"DAGPathOutput","description":"DAG path output."},"DAGPathOutputAlias":{"properties":{"type":{"type":"string","pattern":"^DAGPathOutputAlias$","title":"Type","default":"DAGPathOutputAlias"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Output name."},"description":{"type":"string","title":"Description","description":"Optional description for output."},"platform":{"items":{"type":"string"},"type":"array","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."},"handler":{"items":{"$ref":"#/components/schemas/IOAliasHandler"},"type":"array","title":"Handler","description":"List of process actions to process the input or output value."},"required":{"type":"boolean","title":"Required","description":"A boolean to indicate if an artifact output is required. A False value makes the artifact optional.","default":true},"from":{"anyOf":[{"$ref":"#/components/schemas/TaskReference"},{"$ref":"#/components/schemas/FileReference"},{"$ref":"#/components/schemas/FolderReference"}],"title":"From","description":"Reference to a file, folder or a task output. Task output must either be a file or a folder."}},"type":"object","required":["name","platform","handler","from"],"title":"DAGPathOutputAlias","description":"DAG alias path output."},"DAGStringInput":{"properties":{"type":{"type":"string","pattern":"^DAGStringInput$","title":"Type","default":"DAGStringInput"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Input name."},"description":{"type":"string","title":"Description","description":"Optional description for input."},"default":{"type":"string","title":"Default","description":"Default value to use for an input if a value was not supplied."},"alias":{"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"}]},"type":"array","title":"Alias","description":"A list of aliases for this input in different platforms."},"required":{"type":"boolean","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},"spec":{"type":"object","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","required":["name"],"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    }"},"DAGStringInputAlias":{"properties":{"type":{"type":"string","pattern":"^DAGStringInputAlias$","title":"Type","default":"DAGStringInputAlias"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Input name."},"description":{"type":"string","title":"Description","description":"Optional description for input."},"platform":{"items":{"type":"string"},"type":"array","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."},"handler":{"items":{"$ref":"#/components/schemas/IOAliasHandler"},"type":"array","title":"Handler","description":"List of process actions to process the input or output value."},"default":{"type":"string","title":"Default","description":"Default value to use for an input if a value was not supplied."},"required":{"type":"boolean","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},"spec":{"type":"object","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","required":["name","platform","handler"],"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    }"},"DAGStringOutput":{"properties":{"type":{"type":"string","pattern":"^DAGStringOutput$","title":"Type","default":"DAGStringOutput"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Output name."},"description":{"type":"string","title":"Description","description":"Optional description for output."},"from":{"anyOf":[{"$ref":"#/components/schemas/TaskReference"},{"$ref":"#/components/schemas/FileReference"}],"title":"From","description":"Reference to a file or a task output. Task output must be file."},"alias":{"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":"array","title":"Alias","description":"A list of additional processes for loading this output on different platforms."},"required":{"type":"boolean","title":"Required","description":"A boolean to indicate if an artifact output is required. A False value makes the artifact optional.","default":true}},"type":"object","required":["name","from"],"title":"DAGStringOutput","description":"DAG string output.\n\nThis output loads the content from a file as a string."},"DAGStringOutputAlias":{"properties":{"type":{"type":"string","pattern":"^DAGStringOutputAlias$","title":"Type","default":"DAGStringOutputAlias"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Output name."},"description":{"type":"string","title":"Description","description":"Optional description for output."},"platform":{"items":{"type":"string"},"type":"array","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."},"handler":{"items":{"$ref":"#/components/schemas/IOAliasHandler"},"type":"array","title":"Handler","description":"List of process actions to process the input or output value."},"required":{"type":"boolean","title":"Required","description":"A boolean to indicate if an artifact output is required. A False value makes the artifact optional.","default":true},"from":{"anyOf":[{"$ref":"#/components/schemas/TaskReference"},{"$ref":"#/components/schemas/FileReference"}],"title":"From","description":"Reference to a file or a task output. Task output must be file."}},"type":"object","required":["name","platform","handler","from"],"title":"DAGStringOutputAlias","description":"DAG alias string output.\n\nThis output loads the content from a file as a string."},"DAGTask":{"properties":{"type":{"type":"string","pattern":"^DAGTask$","title":"Type","default":"DAGTask"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Name for this task. It must be unique in a DAG."},"template":{"type":"string","title":"Template","description":"Template name. A template is a Function or a DAG. This template must be available in the dependencies."},"needs":{"items":{"type":"string"},"type":"array","title":"Needs","description":"List of DAG tasks that this task depends on and needs to be executed before this task."},"arguments":{"items":{"anyOf":[{"$ref":"#/components/schemas/TaskArgument"},{"$ref":"#/components/schemas/TaskPathArgument"}]},"type":"array","title":"Arguments","description":"The input arguments for this task."},"loop":{"allOf":[{"$ref":"#/components/schemas/DAGTaskLoop"}],"title":"Loop","description":"Loop configuration for this task."},"sub_folder":{"type":"string","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."},"returns":{"items":{"anyOf":[{"$ref":"#/components/schemas/TaskReturn"},{"$ref":"#/components/schemas/TaskPathReturn"}]},"type":"array","title":"Returns","description":"List of task returns."}},"type":"object","required":["name","template"],"title":"DAGTask","description":"A single task in a DAG flow."},"DAGTaskLoop":{"properties":{"type":{"type":"string","pattern":"^DAGTaskLoop$","title":"Type","default":"DAGTaskLoop"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"from":{"anyOf":[{"$ref":"#/components/schemas/InputReference"},{"$ref":"#/components/schemas/TaskReference"},{"$ref":"#/components/schemas/ValueListReference"}],"title":"From","description":"The task or DAG parameter to loop over (must be iterable)."}},"type":"object","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."},"DailyUsage":{"properties":{"date":{"type":"string","format":"date-time","title":"Date","description":"The day this usage was aggregated for"},"cpu":{"type":"number","title":"Cpu","description":"cpu usage","default":0},"memory":{"type":"number","title":"Memory","description":"memory usage","default":0},"succeeded":{"type":"integer","title":"Succeeded","description":"succeeded usage","default":0},"failed":{"type":"integer","title":"Failed","description":"failed usage","default":0}},"type":"object","required":["date"],"title":"DailyUsage"},"Dependency":{"properties":{"type":{"type":"string","pattern":"^Dependency$","title":"Type","default":"Dependency"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"kind":{"allOf":[{"$ref":"#/components/schemas/DependencyKind"}],"description":"The kind of dependency. It can be a recipe or an plugin."},"name":{"type":"string","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."},"hash":{"type":"string","title":"Hash","description":"The digest hash of the dependency when retrieved from its source. This is locked when the resource dependencies are downloaded."},"alias":{"type":"string","title":"Alias","description":"An optional alias to refer to this dependency. Useful if the name is already used somewhere else."},"tag":{"type":"string","title":"Tag","description":"Tag of the resource."},"source":{"type":"string","title":"Source","description":"URL to a repository where this resource can be found.","examples":["https://registry.pollination.cloud/ladybugbot","https://some-random-user.github.io/registry"]}},"type":"object","required":["kind","name","tag","source"],"title":"Dependency","description":"Configuration to fetch a Recipe or Plugin that another Recipe depends on."},"DependencyKind":{"type":"string","enum":["recipe","plugin"],"title":"DependencyKind","description":"Dependency kind."},"DeploymentConfig":{"properties":{"login_required":{"type":"boolean","title":"Login Required","description":"Whether the application requires login.","default":true},"cpu_limit":{"type":"integer","title":"Cpu Limit","description":"The maximum number of CPU cores that can be used by the application.","default":1},"memory_limit":{"type":"integer","title":"Memory Limit","description":"The maximum amount of memory that can be used by the application.","default":2000},"scale_to_zero":{"type":"boolean","title":"Scale To Zero","description":"A boolean toggle to scale deployments down to zero replicas when not used.","default":true},"entrypoint_file":{"type":"string","title":"Entrypoint File","description":"The Streamlit python file to use as an entrypoint to the app","default":"app.py"}},"type":"object","title":"DeploymentConfig"},"DeploymentConfigUpdate":{"properties":{"login_required":{"type":"boolean","title":"Login Required","description":"Whether the application requires login."},"cpu_limit":{"type":"integer","title":"Cpu Limit","description":"The maximum number of CPU cores that can be used by the application."},"memory_limit":{"type":"integer","title":"Memory Limit","description":"The maximum amount of memory that can be used by the application."},"scale_to_zero":{"type":"boolean","title":"Scale To Zero","description":"A boolean toggle to scale deployments down to zero replicas when not used."},"entrypoint_file":{"type":"string","title":"Entrypoint File","description":"The Streamlit python file to use as an entrypoint to the app"}},"type":"object","title":"DeploymentConfigUpdate"},"DockerConfig":{"properties":{"type":{"type":"string","pattern":"^DockerConfig","title":"Type","default":"DockerConfig"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"image":{"type":"string","title":"Image","description":"Docker image name. Must include tag."},"registry":{"type":"string","title":"Registry","description":"The container registry URLs that this container should be pulled from. Will default to Dockerhub if none is specified."},"workdir":{"type":"string","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":"object","required":["image","workdir"],"title":"DockerConfig","description":"Plugin Configuration to run in a Docker container"},"Duration":{"properties":{"interval":{"type":"string","title":"Interval"},"frequency":{"type":"integer","title":"Frequency"}},"type":"object","required":["interval","frequency"],"title":"Duration"},"FileMeta":{"properties":{"key":{"type":"string","title":"Key"},"file_type":{"type":"string","title":"File Type"},"file_name":{"type":"string","title":"File Name"},"last_modified":{"type":"string","format":"date-time","title":"Last Modified"},"size":{"type":"integer","title":"Size"}},"type":"object","required":["key","file_type","file_name"],"title":"FileMeta"},"FileMetaList":{"properties":{"page":{"type":"integer","title":"Page","description":"The current page the pagination request is on"},"per_page":{"type":"integer","title":"Per Page","description":"The number of pages per pagination request"},"next_page":{"type":"integer","title":"Next Page","description":"The next page, if this on is not the last"},"page_count":{"type":"integer","title":"Page Count","description":"The total number of pages"},"total_count":{"type":"integer","title":"Total Count","description":"The total number of resources matching the list request"},"resources":{"items":{"$ref":"#/components/schemas/FileMeta"},"type":"array","title":"Resources"}},"type":"object","required":["page","per_page","page_count","total_count","resources"],"title":"FileMetaList","description":"A list response from a pagination request"},"FileReference":{"properties":{"type":{"type":"string","pattern":"^FileReference$","title":"Type","default":"FileReference"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"path":{"type":"string","title":"Path","description":"Relative path to a file."}},"type":"object","required":["path"],"title":"FileReference","description":"Reference to a file."},"FolderReference":{"properties":{"type":{"type":"string","pattern":"^FolderReference$","title":"Type","default":"FolderReference"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"path":{"type":"string","title":"Path","description":"Relative path to a folder."}},"type":"object","required":["path"],"title":"FolderReference","description":"Reference to a folder."},"Function":{"properties":{"type":{"type":"string","pattern":"^Function$","title":"Type","default":"Function"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"inputs":{"items":{"anyOf":[{"$ref":"#/components/schemas/FunctionStringInput"},{"$ref":"#/components/schemas/FunctionIntegerInput"},{"$ref":"#/components/schemas/FunctionNumberInput"},{"$ref":"#/components/schemas/FunctionBooleanInput"},{"$ref":"#/components/schemas/FunctionFolderInput"},{"$ref":"#/components/schemas/FunctionFileInput"},{"$ref":"#/components/schemas/FunctionPathInput"},{"$ref":"#/components/schemas/FunctionArrayInput"},{"$ref":"#/components/schemas/FunctionJSONObjectInput"}]},"type":"array","title":"Inputs","description":"Input arguments for this function."},"outputs":{"items":{"anyOf":[{"$ref":"#/components/schemas/FunctionStringOutput"},{"$ref":"#/components/schemas/FunctionIntegerOutput"},{"$ref":"#/components/schemas/FunctionNumberOutput"},{"$ref":"#/components/schemas/FunctionBooleanOutput"},{"$ref":"#/components/schemas/FunctionFolderOutput"},{"$ref":"#/components/schemas/FunctionFileOutput"},{"$ref":"#/components/schemas/FunctionPathOutput"},{"$ref":"#/components/schemas/FunctionArrayOutput"},{"$ref":"#/components/schemas/FunctionJSONObjectOutput"}]},"type":"array","title":"Outputs","description":"List of output arguments."},"name":{"type":"string","title":"Name","description":"Function name. Must be unique within a plugin."},"description":{"type":"string","title":"Description","description":"Function description. A short human readable description for this function."},"command":{"type":"string","title":"Command","description":"Full shell command for this function. Each function accepts only one command. The command will be executed as a shell command in plugin. For running several commands after each other use && between the commands or pipe data from one to another using |"},"language":{"allOf":[{"$ref":"#/components/schemas/ScriptingLanguages"}],"description":"Programming language of the script. Currently only Python is supported.","default":"python"},"source":{"type":"string","title":"Source","description":"Source contains the source code of the script to execute."}},"type":"object","required":["name"],"title":"Function","description":"A Function with a single or a script."},"FunctionArrayInput":{"properties":{"type":{"type":"string","pattern":"^FunctionArrayInput$","title":"Type","default":"FunctionArrayInput"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Input name."},"description":{"type":"string","title":"Description","description":"Optional description for input."},"default":{"items":{},"type":"array","title":"Default","description":"Default value to use for an input if a value was not supplied."},"alias":{"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"}]},"type":"array","title":"Alias","description":"A list of aliases for this input in different platforms."},"required":{"type":"boolean","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},"spec":{"type":"object","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."},"items_type":{"allOf":[{"$ref":"#/components/schemas/ItemType"}],"description":"Type of items in an array. All the items in an array must be from the same type.","default":"String"}},"type":"object","required":["name"],"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."},"FunctionArrayOutput":{"properties":{"type":{"type":"string","pattern":"^FunctionArrayOutput$","title":"Type","default":"FunctionArrayOutput"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Output name."},"description":{"type":"string","title":"Description","description":"Optional description for output."},"path":{"type":"string","title":"Path","description":"Path to the output file relative to where the function command is executed."},"required":{"type":"boolean","title":"Required","description":"A boolean to indicate if an artifact output is required. A False value makes the artifact optional.","default":true},"items_type":{"allOf":[{"$ref":"#/components/schemas/ItemType"}],"description":"Type of items in this array. All the items in an array must be from the same type.","default":"String"}},"type":"object","required":["name","path"],"title":"FunctionArrayOutput","description":"Function array output.\n\nThis output loads the content from a JSON file which must be a JSON Array."},"FunctionBooleanInput":{"properties":{"type":{"type":"string","pattern":"^FunctionBooleanInput$","title":"Type","default":"FunctionBooleanInput"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Input name."},"description":{"type":"string","title":"Description","description":"Optional description for input."},"default":{"type":"boolean","title":"Default","description":"Default value to use for an input if a value was not supplied."},"alias":{"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"}]},"type":"array","title":"Alias","description":"A list of aliases for this input in different platforms."},"required":{"type":"boolean","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},"spec":{"type":"object","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","required":["name"],"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."},"FunctionBooleanOutput":{"properties":{"type":{"type":"string","pattern":"^FunctionBooleanOutput$","title":"Type","default":"FunctionBooleanOutput"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Output name."},"description":{"type":"string","title":"Description","description":"Optional description for output."},"path":{"type":"string","title":"Path","description":"Path to the output file relative to where the function command is executed."},"required":{"type":"boolean","title":"Required","description":"A boolean to indicate if an artifact output is required. A False value makes the artifact optional.","default":true}},"type":"object","required":["name","path"],"title":"FunctionBooleanOutput","description":"Function boolean output.\n\nThis output loads the content from a file as a boolean."},"FunctionFileInput":{"properties":{"type":{"type":"string","pattern":"^FunctionFileInput$","title":"Type","default":"FunctionFileInput"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Input name."},"description":{"type":"string","title":"Description","description":"Optional description for input."},"default":{"anyOf":[{"$ref":"#/components/schemas/HTTP"},{"$ref":"#/components/schemas/S3"},{"$ref":"#/components/schemas/ProjectFolder"}],"title":"Default","description":"The default source for file if the value is not provided."},"alias":{"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"}]},"type":"array","title":"Alias","description":"A list of aliases for this input in different platforms."},"required":{"type":"boolean","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},"spec":{"type":"object","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."},"path":{"type":"string","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."},"extensions":{"items":{"type":"string"},"type":"array","title":"Extensions","description":"Optional list of extensions for file. The check for extension is case-insensitive."}},"type":"object","required":["name","path"],"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    }"},"FunctionFileOutput":{"properties":{"type":{"type":"string","pattern":"^FunctionFileOutput$","title":"Type","default":"FunctionFileOutput"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Output name."},"description":{"type":"string","title":"Description","description":"Optional description for output."},"path":{"type":"string","title":"Path","description":"Path to the output file relative to where the function command is executed."},"required":{"type":"boolean","title":"Required","description":"A boolean to indicate if an artifact output is required. A False value makes the artifact optional.","default":true}},"type":"object","required":["name","path"],"title":"FunctionFileOutput","description":"Function File output."},"FunctionFolderInput":{"properties":{"type":{"type":"string","pattern":"^FunctionFolderInput$","title":"Type","default":"FunctionFolderInput"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Input name."},"description":{"type":"string","title":"Description","description":"Optional description for input."},"default":{"anyOf":[{"$ref":"#/components/schemas/HTTP"},{"$ref":"#/components/schemas/S3"},{"$ref":"#/components/schemas/ProjectFolder"}],"title":"Default","description":"The default source for file if the value is not provided."},"alias":{"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"}]},"type":"array","title":"Alias","description":"A list of aliases for this input in different platforms."},"required":{"type":"boolean","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},"spec":{"type":"object","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."},"path":{"type":"string","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":"object","required":["name","path"],"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    }"},"FunctionFolderOutput":{"properties":{"type":{"type":"string","pattern":"^FunctionFolderOutput$","title":"Type","default":"FunctionFolderOutput"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Output name."},"description":{"type":"string","title":"Description","description":"Optional description for output."},"path":{"type":"string","title":"Path","description":"Path to the output folder relative to where the function command is executed."},"required":{"type":"boolean","title":"Required","description":"A boolean to indicate if an artifact output is required. A False value makes the artifact optional.","default":true}},"type":"object","required":["name","path"],"title":"FunctionFolderOutput","description":"Function Folder output."},"FunctionIntegerInput":{"properties":{"type":{"type":"string","pattern":"^FunctionIntegerInput$","title":"Type","default":"FunctionIntegerInput"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Input name."},"description":{"type":"string","title":"Description","description":"Optional description for input."},"default":{"type":"integer","title":"Default","description":"Default value to use for an input if a value was not supplied."},"alias":{"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"}]},"type":"array","title":"Alias","description":"A list of aliases for this input in different platforms."},"required":{"type":"boolean","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},"spec":{"type":"object","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","required":["name"],"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."},"FunctionIntegerOutput":{"properties":{"type":{"type":"string","pattern":"^FunctionIntegerOutput$","title":"Type","default":"FunctionIntegerOutput"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Output name."},"description":{"type":"string","title":"Description","description":"Optional description for output."},"path":{"type":"string","title":"Path","description":"Path to the output file relative to where the function command is executed."},"required":{"type":"boolean","title":"Required","description":"A boolean to indicate if an artifact output is required. A False value makes the artifact optional.","default":true}},"type":"object","required":["name","path"],"title":"FunctionIntegerOutput","description":"Function integer output.\n\nThis output loads the content from a file as an integer."},"FunctionJSONObjectInput":{"properties":{"type":{"type":"string","pattern":"^FunctionJSONObjectInput$","title":"Type","default":"FunctionJSONObjectInput"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Input name."},"description":{"type":"string","title":"Description","description":"Optional description for input."},"default":{"type":"object","title":"Default","description":"Default value to use for an input if a value was not supplied."},"alias":{"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"}]},"type":"array","title":"Alias","description":"A list of aliases for this input in different platforms."},"required":{"type":"boolean","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},"spec":{"type":"object","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","required":["name"],"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."},"FunctionJSONObjectOutput":{"properties":{"type":{"type":"string","pattern":"^FunctionJSONObjectOutput$","title":"Type","default":"FunctionJSONObjectOutput"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Output name."},"description":{"type":"string","title":"Description","description":"Optional description for output."},"path":{"type":"string","title":"Path","description":"Path to the output file relative to where the function command is executed."},"required":{"type":"boolean","title":"Required","description":"A boolean to indicate if an artifact output is required. A False value makes the artifact optional.","default":true}},"type":"object","required":["name","path"],"title":"FunctionJSONObjectOutput","description":"Function object output.\n\nThis output loads the content from a file as a JSON object."},"FunctionNumberInput":{"properties":{"type":{"type":"string","pattern":"^FunctionNumberInput$","title":"Type","default":"FunctionNumberInput"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Input name."},"description":{"type":"string","title":"Description","description":"Optional description for input."},"default":{"type":"number","title":"Default","description":"Default value to use for an input if a value was not supplied."},"alias":{"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"}]},"type":"array","title":"Alias","description":"A list of aliases for this input in different platforms."},"required":{"type":"boolean","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},"spec":{"type":"object","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","required":["name"],"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."},"FunctionNumberOutput":{"properties":{"type":{"type":"string","pattern":"^FunctionNumberOutput$","title":"Type","default":"FunctionNumberOutput"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Output name."},"description":{"type":"string","title":"Description","description":"Optional description for output."},"path":{"type":"string","title":"Path","description":"Path to the output file relative to where the function command is executed."},"required":{"type":"boolean","title":"Required","description":"A boolean to indicate if an artifact output is required. A False value makes the artifact optional.","default":true}},"type":"object","required":["name","path"],"title":"FunctionNumberOutput","description":"Function number output.\n\nThis output loads the content from a file as a floating number."},"FunctionPathInput":{"properties":{"type":{"type":"string","pattern":"^FunctionPathInput$","title":"Type","default":"FunctionPathInput"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Input name."},"description":{"type":"string","title":"Description","description":"Optional description for input."},"default":{"anyOf":[{"$ref":"#/components/schemas/HTTP"},{"$ref":"#/components/schemas/S3"},{"$ref":"#/components/schemas/ProjectFolder"}],"title":"Default","description":"The default source for file if the value is not provided."},"alias":{"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"}]},"type":"array","title":"Alias","description":"A list of aliases for this input in different platforms."},"required":{"type":"boolean","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},"spec":{"type":"object","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."},"path":{"type":"string","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."},"extensions":{"items":{"type":"string"},"type":"array","title":"Extensions","description":"Optional list of extensions for file. The check for extension is case-insensitive."}},"type":"object","required":["name","path"],"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    }"},"FunctionPathOutput":{"properties":{"type":{"type":"string","pattern":"^FunctionPathOutput$","title":"Type","default":"FunctionPathOutput"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Output name."},"description":{"type":"string","title":"Description","description":"Optional description for output."},"path":{"type":"string","title":"Path","description":"Path to the output file or folder relative to where the function command is executed."},"required":{"type":"boolean","title":"Required","description":"A boolean to indicate if an artifact output is required. A False value makes the artifact optional.","default":true}},"type":"object","required":["name","path"],"title":"FunctionPathOutput","description":"Function Path output."},"FunctionStringInput":{"properties":{"type":{"type":"string","pattern":"^FunctionStringInput$","title":"Type","default":"FunctionStringInput"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Input name."},"description":{"type":"string","title":"Description","description":"Optional description for input."},"default":{"type":"string","title":"Default","description":"Default value to use for an input if a value was not supplied."},"alias":{"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"}]},"type":"array","title":"Alias","description":"A list of aliases for this input in different platforms."},"required":{"type":"boolean","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},"spec":{"type":"object","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","required":["name"],"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    }"},"FunctionStringOutput":{"properties":{"type":{"type":"string","pattern":"^FunctionStringOutput$","title":"Type","default":"FunctionStringOutput"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Output name."},"description":{"type":"string","title":"Description","description":"Optional description for output."},"path":{"type":"string","title":"Path","description":"Path to the output file relative to where the function command is executed."},"required":{"type":"boolean","title":"Required","description":"A boolean to indicate if an artifact output is required. A False value makes the artifact optional.","default":true}},"type":"object","required":["name","path"],"title":"FunctionStringOutput","description":"Function string output.\n\nThis output loads the content from a file as a string."},"HTTP":{"properties":{"type":{"type":"string","pattern":"^HTTP$","title":"Type","default":"HTTP"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"url":{"type":"string","title":"Url","description":"For a HTTP endpoint this can be http://climate.onebuilding.org."}},"type":"object","required":["url"],"title":"HTTP","description":"HTTP Source\n\nA web HTTP to an FTP server or an API for example."},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"IOAliasHandler":{"properties":{"type":{"type":"string","pattern":"^IOAliasHandler$","title":"Type","default":"IOAliasHandler"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"language":{"type":"string","title":"Language","description":"Declare the language (e.g. python, csharp, etc.). This option allows the recipe to be flexible on handling different programming languages."},"module":{"type":"string","title":"Module","description":"Target module or namespace to load the alias function.","example":"honeybee_rhino.handlers"},"function":{"type":"string","title":"Function","description":"Name of the function. The input value will be passed to this function as the first argument."},"index":{"type":"integer","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":"object","required":["language","module","function"],"title":"IOAliasHandler","description":"Input and output alias handler object."},"InputFileReference":{"properties":{"type":{"type":"string","pattern":"^InputFileReference$","title":"Type","default":"InputFileReference"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"variable":{"type":"string","title":"Variable","description":"The name of the DAG input variable"}},"type":"object","required":["variable"],"title":"InputFileReference","description":"An input file reference"},"InputFolderReference":{"properties":{"type":{"type":"string","pattern":"^InputFolderReference$","title":"Type","default":"InputFolderReference"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"variable":{"type":"string","title":"Variable","description":"The name of the DAG input variable"}},"type":"object","required":["variable"],"title":"InputFolderReference","description":"An input folder reference"},"InputPathReference":{"properties":{"type":{"type":"string","pattern":"^InputPathReference$","title":"Type","default":"InputPathReference"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"variable":{"type":"string","title":"Variable","description":"The name of the DAG input variable"}},"type":"object","required":["variable"],"title":"InputPathReference","description":"An input file or folder reference"},"InputReference":{"properties":{"type":{"type":"string","pattern":"^InputReference$","title":"Type","default":"InputReference"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"variable":{"type":"string","title":"Variable","description":"The name of the DAG input variable"}},"type":"object","required":["variable"],"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."},"ItemReference":{"properties":{"type":{"type":"string","pattern":"^ItemReference$","title":"Type","default":"ItemReference"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"variable":{"type":"string","title":"Variable","description":"The name of the looped item variable (use dot notation for nested json values)"}},"type":"object","title":"ItemReference","description":"An Item Reference."},"ItemType":{"type":"string","enum":["Generic","String","Integer","Number","Boolean","Array","JSONObject"],"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."},"Job":{"properties":{"type":{"type":"string","pattern":"^Job$","title":"Type","default":"Job"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"api_version":{"type":"string","pattern":"^v1beta1$","title":"Api Version","default":"v1beta1","readOnly":true},"source":{"type":"string","title":"Source","description":"The source url for downloading the recipe."},"arguments":{"items":{"items":{"anyOf":[{"$ref":"#/components/schemas/JobArgument"},{"$ref":"#/components/schemas/JobPathArgument"}]},"type":"array"},"type":"array","title":"Arguments","description":"Input arguments for this job."},"name":{"type":"string","title":"Name","description":"An optional name for this job. This name will be used a the display name for the run."},"description":{"type":"string","title":"Description","description":"Run description."},"labels":{"additionalProperties":{"type":"string"},"type":"object","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","required":["source"],"title":"Job","description":"Queenbee Job.\n\nA Job is an object to submit a list of arguments to execute a Queenbee recipe."},"JobArgument":{"properties":{"type":{"type":"string","pattern":"^JobArgument$","title":"Type","default":"JobArgument"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Argument name. The name must match one of the input names from Job's DAG template."},"value":{"title":"Value","description":"The value of the job argument."}},"type":"object","required":["name","value"],"title":"JobArgument","description":"Job argument is an argument input for arguments which are not files or folders."},"JobComputeUsage":{"properties":{"job_id":{"type":"string","format":"uuid","title":"Job Id"},"cpu_usage_hours":{"type":"number","title":"Cpu Usage Hours"},"started_at":{"type":"string","format":"date-time","title":"Started At"},"finished_at":{"type":"string","format":"date-time","title":"Finished At"},"account_name":{"type":"string","title":"Account Name"},"author_name":{"type":"string","title":"Author Name"},"author_email":{"type":"string","title":"Author Email"},"project_name":{"type":"string","title":"Project Name"},"recipe_name":{"type":"string","title":"Recipe Name"},"runs_succeeded":{"type":"integer","title":"Runs Succeeded","default":0},"runs_failed":{"type":"integer","title":"Runs Failed","default":0},"runs_cancelled":{"type":"integer","title":"Runs Cancelled","default":0}},"type":"object","required":["job_id","cpu_usage_hours","started_at","finished_at","account_name","author_name","author_email","project_name","recipe_name"],"title":"JobComputeUsage","description":"A row in a report on job CPU usage"},"JobPathArgument":{"properties":{"type":{"type":"string","pattern":"^JobPathArgument$","title":"Type","default":"JobPathArgument"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","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."},"source":{"anyOf":[{"$ref":"#/components/schemas/HTTP"},{"$ref":"#/components/schemas/S3"},{"$ref":"#/components/schemas/ProjectFolder"}],"title":"Source","description":"The path to source the file from."}},"type":"object","required":["name","source"],"title":"JobPathArgument","description":"BaseModel with functionality to return the object as a yaml string."},"JobStatus":{"properties":{"type":{"type":"string","pattern":"^JobStatus$","title":"Type","default":"JobStatus"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"api_version":{"type":"string","pattern":"^v1beta1$","title":"Api Version","default":"v1beta1","readOnly":true},"id":{"type":"string","title":"Id","description":"The ID of the individual job."},"status":{"allOf":[{"$ref":"#/components/schemas/JobStatusEnum"}],"description":"The status of this job.","default":"Unknown"},"message":{"type":"string","title":"Message","description":"Any message produced by the job. Usually error/debugging hints."},"started_at":{"type":"string","format":"date-time","title":"Started At","description":"The time at which the job was started"},"finished_at":{"type":"string","format":"date-time","title":"Finished At","description":"The time at which the task was completed"},"source":{"type":"string","title":"Source","description":"Source url for the status object. It can be a recipe or a function."},"runs_pending":{"type":"integer","title":"Runs Pending","description":"The count of runs that are pending","default":0},"runs_running":{"type":"integer","title":"Runs Running","description":"The count of runs that are running","default":0},"runs_completed":{"type":"integer","title":"Runs Completed","description":"The count of runs that have completed","default":0},"runs_failed":{"type":"integer","title":"Runs Failed","description":"The count of runs that have failed","default":0},"runs_cancelled":{"type":"integer","title":"Runs Cancelled","description":"The count of runs that have been cancelled","default":0}},"type":"object","required":["id","started_at"],"title":"JobStatus","description":"Parametric Job Status."},"JobStatusEnum":{"type":"string","enum":["Created","Pre-Processing","Running","Failed","Cancelled","Completed","Unknown"],"title":"JobStatusEnum","description":"Enumaration of allowable status strings"},"KeyRequest":{"properties":{"key":{"type":"string","title":"Key"}},"type":"object","required":["key"],"title":"KeyRequest"},"License":{"properties":{"type":{"type":"string","pattern":"^License$","title":"Type","default":"License"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"The license name used for the package."},"url":{"type":"string","maxLength":65536,"minLength":1,"format":"uri","title":"Url","description":"A URL to the license used for the package."}},"type":"object","required":["name"],"title":"License","description":"License information for the Package"},"LicensePoolAccessPolicy":{"properties":{"subject":{"allOf":[{"$ref":"#/components/schemas/PolicySubject"}],"title":"Subject","description":"The subject of the access policy"},"permission":{"allOf":[{"$ref":"#/components/schemas/Permission"}],"description":"Accessors may only have read access","default":"read"}},"type":"object","required":["subject"],"title":"LicensePoolAccessPolicy"},"LicensePoolAccessPolicyList":{"properties":{"resources":{"items":{"$ref":"#/components/schemas/LicensePoolAccessPolicy"},"type":"array","title":"Resources","description":"The list of policies granting access to the pool","default":[]}},"type":"object","title":"LicensePoolAccessPolicyList"},"LicensePoolList":{"properties":{"resources":{"items":{"$ref":"#/components/schemas/LicensePoolPublic"},"type":"array","title":"Resources"}},"type":"object","required":["resources"],"title":"LicensePoolList"},"LicensePoolPolicySubject":{"properties":{"subject_type":{"$ref":"#/components/schemas/SubjectType"},"name":{"type":"string","title":"Name","description":"The name of the policy subject","example":"ladybugbot"}},"type":"object","required":["subject_type","name"],"title":"LicensePoolPolicySubject"},"LicensePoolPolicySubjectList":{"properties":{"resources":{"items":{"$ref":"#/components/schemas/LicensePoolPolicySubject"},"type":"array","title":"Resources","description":"The list of subjects which currently have access to the pool","default":[]}},"type":"object","title":"LicensePoolPolicySubjectList"},"LicensePoolPublic":{"properties":{"id":{"type":"string","format":"uuid","title":"Id","description":"The ID of the pool"},"license_id":{"type":"string","title":"License Id","description":"The ID of the license to which the pool provides access"},"owner":{"allOf":[{"$ref":"#/components/schemas/AccountPublic"}],"title":"Owner","description":"The account that owns the license"},"accessors":{"items":{"$ref":"#/components/schemas/Accessor"},"type":"array","title":"Accessors","description":"The entities that can access the license though the pool","default":[]},"permissions":{"$ref":"#/components/schemas/UserPermission"},"product":{"type":"string","title":"Product","description":"The pollination product to which this pool provides access"},"description":{"type":"string","title":"Description","description":"The description of the pool"},"total_activations":{"type":"integer","title":"Total Activations","description":"The number of current activations for this license"},"allowed_activations":{"type":"integer","title":"Allowed Activations","description":"The number of allowable activations for this license"}},"type":"object","required":["id","license_id","owner","permissions","product","total_activations","allowed_activations"],"title":"LicensePoolPublic"},"LicensePoolUpdate":{"properties":{"description":{"type":"string","title":"Description","description":"The description of the license pool"}},"type":"object","title":"LicensePoolUpdate"},"LicensePublic":{"properties":{"id":{"type":"string","title":"Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"key":{"type":"string","title":"Key","description":"The key used to activate this license. Treat this like a password."},"revoked":{"type":"boolean","title":"Revoked"},"suspended":{"type":"boolean","title":"Suspended"},"total_activations":{"type":"integer","title":"Total Activations"},"total_deactivations":{"type":"integer","title":"Total Deactivations"},"validity":{"type":"integer","title":"Validity"},"allowed_activations":{"type":"integer","title":"Allowed Activations"},"type":{"$ref":"#/components/schemas/LicenseType"},"server_sync_grace_period":{"type":"integer","title":"Server Sync Grace Period"},"server_sync_interval":{"type":"integer","title":"Server Sync Interval"},"lease_duration":{"type":"integer","title":"Lease Duration"},"product_id":{"type":"string","title":"Product Id"},"notes":{"type":"string","title":"Notes"},"metadata":{"items":{"$ref":"#/components/schemas/Metadata"},"type":"array","title":"Metadata"}},"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"],"title":"LicensePublic"},"LicenseType":{"type":"string","enum":["node-locked","hosted-floating","on-premise-floating"],"title":"LicenseType","description":"An enumeration."},"LocalConfig":{"properties":{"type":{"type":"string","pattern":"^LocalConfig","title":"Type","default":"LocalConfig"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."}},"type":"object","title":"LocalConfig","description":"Plugin Configuration to run on a desktop."},"Location":{"properties":{"ip_address":{"type":"string","title":"Ip Address"},"country_code":{"type":"string","title":"Country Code"},"country_name":{"type":"string","title":"Country Name"},"city":{"type":"string","title":"City"},"latitude":{"type":"number","title":"Latitude"},"longitude":{"type":"number","title":"Longitude"}},"type":"object","title":"Location"},"Maintainer":{"properties":{"type":{"type":"string","pattern":"^Maintainer$","title":"Type","default":"Maintainer"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"The name of the author/maintainer person or organization."},"email":{"type":"string","title":"Email","description":"The email address of the author/maintainer person or organization."}},"type":"object","required":["name"],"title":"Maintainer","description":"Maintainer information"},"MetaData":{"properties":{"type":{"type":"string","pattern":"^MetaData$","title":"Type","default":"MetaData"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Package name. Make it descriptive and helpful ;)"},"tag":{"type":"string","title":"Tag","description":"The tag of the package"},"app_version":{"type":"string","title":"App Version","description":"The version of the application code underlying the manifest"},"keywords":{"items":{"type":"string"},"type":"array","title":"Keywords","description":"A list of keywords to search the package by"},"maintainers":{"items":{"$ref":"#/components/schemas/Maintainer"},"type":"array","title":"Maintainers","description":"A list of maintainers for the package"},"home":{"type":"string","title":"Home","description":"The URL of this package's home page"},"sources":{"items":{"type":"string"},"type":"array","title":"Sources","description":"A list of URLs to source code for this project"},"icon":{"type":"string","title":"Icon","description":"A URL to an SVG or PNG image to be used as an icon"},"deprecated":{"type":"boolean","title":"Deprecated","description":"Whether this package is deprecated"},"description":{"type":"string","title":"Description","description":"A description of what this package does"},"license":{"allOf":[{"$ref":"#/components/schemas/License"}],"title":"License","description":"The license information."}},"type":"object","required":["name","tag"],"title":"MetaData","description":"Package metadata information."},"Metadata":{"properties":{"id":{"type":"string","title":"Id"},"key":{"type":"string","title":"Key"},"value":{"type":"string","title":"Value"},"visible":{"type":"boolean","title":"Visible","default":false}},"type":"object","required":["key","value"],"title":"Metadata"},"MoneyAmount":{"properties":{"amount":{"type":"string","title":"Amount"},"currency_code":{"type":"string","title":"Currency Code"}},"type":"object","required":["amount","currency_code"],"title":"MoneyAmount"},"NewApplicationVersion":{"properties":{"tag":{"type":"string","title":"Tag","description":"The tag for this new version of the application"},"release_notes":{"type":"string","title":"Release Notes","description":"Some useful release notes so users know what has changed in this version","default":""}},"type":"object","required":["tag"],"title":"NewApplicationVersion"},"NewPluginPackage":{"properties":{"manifest":{"allOf":[{"$ref":"#/components/schemas/Plugin"}],"title":"Manifest","description":"The Plugin manifest to be created"},"readme":{"type":"string","title":"Readme","description":"The README file to attach to this package","default":""}},"type":"object","required":["manifest"],"title":"NewPluginPackage"},"NewRecipePackage":{"properties":{"manifest":{"allOf":[{"$ref":"#/components/schemas/Recipe"}],"title":"Manifest","description":"The Recipe manifest to be created"},"readme":{"type":"string","title":"Readme","description":"The README file to attach to this package","default":""}},"type":"object","required":["manifest"],"title":"NewRecipePackage"},"Organization":{"properties":{"account_name":{"type":"string","title":"Account Name","description":"The unique name of the org in small case without spaces","example":"ladybug-tools"},"name":{"type":"string","title":"Name","description":"The display name for this org","example":"Ladybug Tools"},"picture_url":{"type":"string","title":"Picture Url","description":"URL to the picture associated with this org","example":"https://avatars1.githubusercontent.com/u/38131342"},"contact_email":{"type":"string","title":"Contact Email","description":"The contact email for the Organization","example":"info@ladybug.tools"},"description":{"type":"string","title":"Description","description":"A description of the org","example":"Making environmental design knowledge and tools freely accessible to every person, project and design process"},"id":{"type":"string","title":"Id","description":"The org ID","example":"1eb8e60d-771d-4a30-8078-fe553eb2f0bc"},"owner":{"allOf":[{"$ref":"#/components/schemas/AccountPublic"}],"title":"Owner","description":"The account the organization represents","example":{"id":"e4d0d922-2031-4b39-94d2-aa6d584d6bb2","type":"org","name":"ladybug-tools"}},"role":{"allOf":[{"$ref":"#/components/schemas/OrganizationRoleEnum"}],"description":"The role the user has within the organization","example":"member"},"member_count":{"type":"integer","title":"Member Count","description":"The number of members that are part of this org","default":0,"example":10},"team_count":{"type":"integer","title":"Team Count","description":"The number of teams that are part of this org","default":0,"example":3}},"type":"object","required":["id","owner"],"title":"Organization"},"OrganizationCreate":{"properties":{"account_name":{"type":"string","title":"Account Name","description":"The unique name of the org in small case without spaces","example":"ladybug-tools"},"name":{"type":"string","title":"Name","description":"The display name for this org","example":"Ladybug Tools"},"picture_url":{"type":"string","title":"Picture Url","description":"URL to the picture associated with this org","example":"https://avatars1.githubusercontent.com/u/38131342"},"contact_email":{"type":"string","title":"Contact Email","description":"The contact email for the Organization","example":"info@ladybug.tools"},"description":{"type":"string","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":"object","title":"OrganizationCreate"},"OrganizationList":{"properties":{"page":{"type":"integer","title":"Page","description":"The current page the pagination request is on"},"per_page":{"type":"integer","title":"Per Page","description":"The number of pages per pagination request"},"next_page":{"type":"integer","title":"Next Page","description":"The next page, if this on is not the last"},"page_count":{"type":"integer","title":"Page Count","description":"The total number of pages"},"total_count":{"type":"integer","title":"Total Count","description":"The total number of resources matching the list request"},"resources":{"items":{"$ref":"#/components/schemas/Organization"},"type":"array","title":"Resources"}},"type":"object","required":["page","per_page","page_count","total_count","resources"],"title":"OrganizationList","description":"A list response from a pagination request"},"OrganizationMember":{"properties":{"user":{"allOf":[{"$ref":"#/components/schemas/UserPublic"}],"title":"User","description":"The organization member"},"role":{"allOf":[{"$ref":"#/components/schemas/OrganizationRoleEnum"}],"description":"The role the user has within the organization","example":"member"}},"type":"object","required":["user","role"],"title":"OrganizationMember"},"OrganizationMemberList":{"properties":{"page":{"type":"integer","title":"Page","description":"The current page the pagination request is on"},"per_page":{"type":"integer","title":"Per Page","description":"The number of pages per pagination request"},"next_page":{"type":"integer","title":"Next Page","description":"The next page, if this on is not the last"},"page_count":{"type":"integer","title":"Page Count","description":"The total number of pages"},"total_count":{"type":"integer","title":"Total Count","description":"The total number of resources matching the list request"},"resources":{"items":{"$ref":"#/components/schemas/OrganizationMember"},"type":"array","title":"Resources"}},"type":"object","required":["page","per_page","page_count","total_count","resources"],"title":"OrganizationMemberList","description":"A list response from a pagination request"},"OrganizationMemberUsage":{"properties":{"user_id":{"type":"string","title":"User Id"},"username":{"type":"string","title":"Username"},"display_name":{"type":"string","title":"Display Name"},"email":{"type":"string","title":"Email"},"permission":{"type":"string","title":"Permission"},"deleted":{"type":"boolean","title":"Deleted"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"deleted_at":{"type":"string","format":"date-time","title":"Deleted At"}},"type":"object","required":["user_id","username","display_name","email","permission","deleted","created_at","updated_at"],"title":"OrganizationMemberUsage","description":"A row in a report on compute usage by organisation members"},"OrganizationRole":{"properties":{"owner":{"allOf":[{"$ref":"#/components/schemas/AccountPublic"}],"title":"Owner","description":"The account that owns the role"},"name":{"type":"string","title":"Name","description":"The name of the role that is being bound to the user","example":"owner"},"display_name":{"type":"string","title":"Display Name","description":"The display name for this role","example":"Owner"},"description":{"type":"string","title":"Description","description":"A description of the role","example":"This role can manage all resources in the organization"},"resources":{"additionalProperties":{"$ref":"#/components/schemas/Permission"},"type":"object","description":"The resources that the role can access","default":{},"example":{"subscriptions":"write","quotas":"read"}}},"type":"object","required":["owner","name","display_name","description"],"title":"OrganizationRole"},"OrganizationRoleBinding":{"properties":{"user":{"allOf":[{"$ref":"#/components/schemas/UserPublic"}],"title":"User","description":"The user that is being bound to the organization role"},"role":{"allOf":[{"$ref":"#/components/schemas/OrganizationRole"}],"title":"Role","description":"The role that is being bound to the user"}},"type":"object","required":["user","role"],"title":"OrganizationRoleBinding"},"OrganizationRoleEnum":{"type":"string","enum":["owner","member"],"title":"OrganizationRoleEnum","description":"An enumeration."},"OrganizationUpdate":{"properties":{"account_name":{"type":"string","title":"Account Name","description":"The unique name of the org in small case without spaces","example":"ladybug-tools"},"name":{"type":"string","title":"Name","description":"The display name for this org","example":"Ladybug Tools"},"picture_url":{"type":"string","title":"Picture Url","description":"URL to the picture associated with this org","example":"https://avatars1.githubusercontent.com/u/38131342"},"contact_email":{"type":"string","title":"Contact Email","description":"The contact email for the Organization","example":"info@ladybug.tools"},"description":{"type":"string","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":"object","title":"OrganizationUpdate"},"PackageSortKey":{"type":"string","enum":["created_at","updated_at","tag"],"title":"PackageSortKey","description":"An enumeration."},"PackageVersion":{"properties":{"type":{"type":"string","pattern":"^PackageVersion$","title":"Type","default":"PackageVersion"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Package name. Make it descriptive and helpful ;)"},"tag":{"type":"string","title":"Tag","description":"The tag of the package"},"app_version":{"type":"string","title":"App Version","description":"The version of the application code underlying the manifest"},"keywords":{"items":{"type":"string"},"type":"array","title":"Keywords","description":"A list of keywords to search the package by"},"maintainers":{"items":{"$ref":"#/components/schemas/Maintainer"},"type":"array","title":"Maintainers","description":"A list of maintainers for the package"},"home":{"type":"string","title":"Home","description":"The URL of this package's home page"},"sources":{"items":{"type":"string"},"type":"array","title":"Sources","description":"A list of URLs to source code for this project"},"icon":{"type":"string","title":"Icon","description":"A URL to an SVG or PNG image to be used as an icon"},"deprecated":{"type":"boolean","title":"Deprecated","description":"Whether this package is deprecated"},"description":{"type":"string","title":"Description","description":"A description of what this package does"},"license":{"allOf":[{"$ref":"#/components/schemas/License"}],"title":"License","description":"The license information."},"url":{"type":"string","title":"Url"},"created":{"type":"string","format":"date-time","title":"Created"},"digest":{"type":"string","title":"Digest"},"slug":{"type":"string","title":"Slug","description":"A slug of the repository name and the package name."},"kind":{"type":"string","title":"Kind","description":"The type of Queenbee package (ie: recipe or plugin)","default":""},"readme":{"type":"string","title":"Readme","description":"The README file string for this package"},"manifest":{"anyOf":[{"$ref":"#/components/schemas/Recipe"},{"$ref":"#/components/schemas/Plugin"}],"title":"Manifest","description":"The package Recipe or Plugin manifest"}},"type":"object","required":["name","tag","url","created","digest"],"title":"PackageVersion","description":"Package Version\n\nA MetaData object to distinguish a specific package version within a repository\nindex."},"PaddleBillingCheckout":{"properties":{"url":{"type":"string","title":"Url"}},"type":"object","title":"PaddleBillingCheckout"},"PaddleBillingPaymentMethodCard":{"properties":{"type":{"type":"string","title":"Type"},"last4":{"type":"string","title":"Last4"},"expiry_month":{"type":"integer","title":"Expiry Month"},"expiry_year":{"type":"integer","title":"Expiry Year"}},"type":"object","required":["type","last4","expiry_month","expiry_year"],"title":"PaddleBillingPaymentMethodCard"},"PaddleBillingPaymentMethodPaypal":{"properties":{"email":{"type":"string","title":"Email"},"reference":{"type":"string","title":"Reference"}},"type":"object","required":["email","reference"],"title":"PaddleBillingPaymentMethodPaypal"},"PaddleBillingPaymentMethodType":{"type":"string","enum":["card","paypal"],"title":"PaddleBillingPaymentMethodType","description":"An enumeration."},"PaddleBillingPrice":{"properties":{"id":{"type":"string","title":"Id"},"product_id":{"type":"string","title":"Product Id"},"name":{"type":"string","title":"Name","default":"No Name"},"description":{"type":"string","title":"Description"},"type":{"type":"string","title":"Type"},"billing_cycle":{"$ref":"#/components/schemas/Duration"},"trial_period":{"$ref":"#/components/schemas/Duration"},"tax_mode":{"type":"string","title":"Tax Mode"},"unit_price":{"$ref":"#/components/schemas/MoneyAmount"},"unit_price_overrides":{"items":{"type":"object"},"type":"array","title":"Unit Price Overrides"},"quantity":{"$ref":"#/components/schemas/QuantityConstraints"},"status":{"type":"string","title":"Status"},"custom_data":{"type":"object","title":"Custom Data"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"import_meta":{"type":"object","title":"Import Meta"}},"type":"object","required":["id","product_id","unit_price","status"],"title":"PaddleBillingPrice"},"PaddleBillingProduct":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"type":{"type":"string","title":"Type"},"tax_category":{"type":"string","title":"Tax Category"},"description":{"type":"string","title":"Description"},"image_url":{"type":"string","title":"Image Url"},"custom_data":{"type":"object","title":"Custom Data"},"status":{"type":"string","title":"Status"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"import_meta":{"type":"object","title":"Import Meta"}},"type":"object","required":["id","name","status"],"title":"PaddleBillingProduct"},"PaddleBillingSubscriptionItem":{"properties":{"status":{"type":"string","title":"Status"},"quantity":{"type":"integer","title":"Quantity"},"price":{"$ref":"#/components/schemas/PaddleBillingPrice"},"product":{"$ref":"#/components/schemas/PaddleBillingProduct"},"recurring":{"type":"boolean","title":"Recurring","default":true},"trial_dates":{"type":"object","title":"Trial Dates"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"next_billed_at":{"type":"string","format":"date-time","title":"Next Billed At"},"previously_billed_at":{"type":"string","format":"date-time","title":"Previously Billed At"}},"type":"object","required":["status","quantity","price","product"],"title":"PaddleBillingSubscriptionItem"},"PaddleBillingSubscriptionStatus":{"type":"string","enum":["active","canceled","past_due","paused","trialing"],"title":"PaddleBillingSubscriptionStatus","description":"An enumeration."},"PaddleBillingTransactionDetails":{"properties":{"line_items":{"items":{"$ref":"#/components/schemas/PaddleBillingTransactionLineItem"},"type":"array","title":"Line Items"},"totals":{"$ref":"#/components/schemas/TransactionTotals"}},"type":"object","required":["line_items","totals"],"title":"PaddleBillingTransactionDetails"},"PaddleBillingTransactionItem":{"properties":{"price":{"$ref":"#/components/schemas/PaddleBillingPrice"},"quantity":{"type":"integer","title":"Quantity"},"proration":{"$ref":"#/components/schemas/Proration"}},"type":"object","required":["price","quantity"],"title":"PaddleBillingTransactionItem"},"PaddleBillingTransactionLineItem":{"properties":{"price_id":{"type":"string","title":"Price Id"},"product":{"$ref":"#/components/schemas/PaddleBillingTransactionProduct"},"quantity":{"type":"integer","title":"Quantity"},"totals":{"$ref":"#/components/schemas/TransactionItemTotals"},"unit_totals":{"$ref":"#/components/schemas/TransactionItemTotals"},"tax_rate":{"type":"string","title":"Tax Rate"}},"type":"object","required":["price_id","product","quantity","totals","unit_totals"],"title":"PaddleBillingTransactionLineItem"},"PaddleBillingTransactionProduct":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"custom_data":{"type":"object","title":"Custom Data"},"image_url":{"type":"string","title":"Image Url"}},"type":"object","required":["id","name"],"title":"PaddleBillingTransactionProduct"},"PausedReason":{"type":"string","enum":["voluntary","delinquent"],"title":"PausedReason","description":"An enumeration."},"Payment":{"properties":{"id":{"type":"integer","title":"Id"},"subscription_id":{"type":"integer","title":"Subscription Id"},"amount":{"type":"integer","title":"Amount"},"currency":{"type":"string","title":"Currency"},"payout_date":{"type":"string","format":"date","title":"Payout Date"},"is_paid":{"type":"boolean","title":"Is Paid"},"receipt_url":{"type":"string","title":"Receipt Url"},"is_one_off_charge":{"type":"boolean","title":"Is One Off Charge"}},"type":"object","required":["id","subscription_id","amount","currency","payout_date","is_paid","is_one_off_charge"],"title":"Payment"},"PaymentMethod":{"properties":{"payment_method":{"$ref":"#/components/schemas/PaymentMethodEnum"},"card_type":{"$ref":"#/components/schemas/CardType"},"last_four_digits":{"type":"string","title":"Last Four Digits"},"expiry_date":{"type":"string","title":"Expiry Date"}},"type":"object","required":["payment_method"],"title":"PaymentMethod"},"PaymentMethodDetails":{"properties":{"type":{"type":"string","title":"Type"},"card":{"type":"object","title":"Card"}},"type":"object","required":["type"],"title":"PaymentMethodDetails"},"PaymentMethodEnum":{"type":"string","enum":["card","paypal","PayPal"],"title":"PaymentMethodEnum","description":"An enumeration."},"PaymentTerms":{"properties":{"interval":{"type":"string","title":"Interval"},"frequency":{"type":"integer","title":"Frequency"}},"type":"object","required":["interval","frequency"],"title":"PaymentTerms"},"Permission":{"type":"string","enum":["admin","write","read"],"title":"Permission","description":"An enumeration."},"PlanType":{"type":"string","enum":["cloud","rhino-plugin","revit-plugin","bundled-plugin","application","seat","cloud-compute"],"title":"PlanType","description":"An enumeration."},"Plugin":{"properties":{"type":{"type":"string","pattern":"^Plugin","title":"Type","default":"Plugin"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"api_version":{"type":"string","pattern":"^v1beta1$","title":"Api Version","default":"v1beta1","readOnly":true},"metadata":{"allOf":[{"$ref":"#/components/schemas/MetaData"}],"title":"Metadata","description":"The Plugin metadata information"},"config":{"allOf":[{"$ref":"#/components/schemas/PluginConfig"}],"title":"Config","description":"The configuration information to run this plugin"},"functions":{"items":{"$ref":"#/components/schemas/Function"},"type":"array","title":"Functions","description":"List of Plugin functions"}},"type":"object","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."},"PluginConfig":{"properties":{"type":{"type":"string","pattern":"^PluginConfig","title":"Type","default":"PluginConfig"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"docker":{"allOf":[{"$ref":"#/components/schemas/DockerConfig"}],"title":"Docker","description":"The configuration to use this plugin in a docker container"},"local":{"allOf":[{"$ref":"#/components/schemas/LocalConfig"}],"title":"Local","description":"The configuration to use this plugin locally"}},"type":"object","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)."},"PluginPackage":{"properties":{"digest":{"type":"string","title":"Digest","description":"The new package digest"},"tag":{"type":"string","title":"Tag","description":"The new package tag"},"keywords":{"items":{"type":"string"},"type":"array","title":"Keywords","description":"keywords"},"description":{"type":"string","title":"Description","description":"description"},"icon":{"type":"string","title":"Icon","description":"icon"},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Creation Timestamp"},"readme":{"type":"string","title":"Readme","description":"The Repository Readme","example":"# Daylight Factor \n This recipe runs a daylight factor simulation."},"manifest":{"$ref":"#/components/schemas/Plugin"}},"type":"object","required":["digest","tag","manifest"],"title":"PluginPackage"},"PluginPackageList":{"properties":{"page":{"type":"integer","title":"Page","description":"The current page the pagination request is on"},"per_page":{"type":"integer","title":"Per Page","description":"The number of pages per pagination request"},"next_page":{"type":"integer","title":"Next Page","description":"The next page, if this on is not the last"},"page_count":{"type":"integer","title":"Page Count","description":"The total number of pages"},"total_count":{"type":"integer","title":"Total Count","description":"The total number of resources matching the list request"},"resources":{"items":{"$ref":"#/components/schemas/PluginPackage"},"type":"array","title":"Resources"}},"type":"object","required":["page","per_page","page_count","total_count","resources"],"title":"PluginPackageList","description":"A list response from a pagination request"},"PolicySubject":{"properties":{"subject_type":{"$ref":"#/components/schemas/SubjectType"},"name":{"type":"string","title":"Name","description":"The name of the policy subject","example":"ladybugbot"}},"type":"object","required":["subject_type","name"],"title":"PolicySubject"},"Product":{"type":"string","enum":["rhino_plugin","revit_plugin"],"title":"Product","description":"An enumeration."},"Project":{"properties":{"name":{"type":"string","title":"Name","description":"The name of the project. Must be unique to a given owner","example":"Project Falcon"},"description":{"type":"string","title":"Description","description":"A description of the project","default":"","example":"I always wanted to have a project called project Falcon"},"public":{"type":"boolean","title":"Public","description":"Whether or not a project is publicly viewable","default":true},"id":{"type":"string","title":"Id","description":"The project ID","example":"50bb7fe0-8f19-499e-972e-1ebec8af2c71"},"owner":{"allOf":[{"$ref":"#/components/schemas/AccountPublic"}],"title":"Owner","description":"The project owner"},"permissions":{"$ref":"#/components/schemas/UserPermission"},"slug":{"type":"string","title":"Slug","description":"The project name in slug format","example":"project-falcon"},"usage":{"allOf":[{"$ref":"#/components/schemas/Usage"}],"title":"Usage","description":"The resource consumption of this project"}},"type":"object","required":["name","id","owner","permissions","slug"],"title":"Project"},"ProjectAccessPolicy":{"properties":{"subject":{"allOf":[{"$ref":"#/components/schemas/PolicySubject"}],"title":"Subject","description":"The subject of the access policy"},"permission":{"allOf":[{"$ref":"#/components/schemas/Permission"}],"description":"The permission given to the subject of the access policy","example":"write"}},"type":"object","required":["subject","permission"],"title":"ProjectAccessPolicy"},"ProjectAccessPolicyList":{"properties":{"page":{"type":"integer","title":"Page","description":"The current page the pagination request is on"},"per_page":{"type":"integer","title":"Per Page","description":"The number of pages per pagination request"},"next_page":{"type":"integer","title":"Next Page","description":"The next page, if this on is not the last"},"page_count":{"type":"integer","title":"Page Count","description":"The total number of pages"},"total_count":{"type":"integer","title":"Total Count","description":"The total number of resources matching the list request"},"resources":{"items":{"$ref":"#/components/schemas/ProjectAccessPolicy"},"type":"array","title":"Resources"}},"type":"object","required":["page","per_page","page_count","total_count","resources"],"title":"ProjectAccessPolicyList","description":"A list response from a pagination request"},"ProjectCreate":{"properties":{"name":{"type":"string","title":"Name","description":"The name of the project. Must be unique to a given owner","example":"Project Falcon"},"description":{"type":"string","title":"Description","description":"A description of the project","default":"","example":"I always wanted to have a project called project Falcon"},"public":{"type":"boolean","title":"Public","description":"Whether or not a project is publicly viewable","default":true}},"type":"object","required":["name"],"title":"ProjectCreate"},"ProjectFolder":{"properties":{"type":{"type":"string","pattern":"^ProjectFolder$","title":"Type","default":"ProjectFolder"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"path":{"type":"string","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":"object","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."},"ProjectList":{"properties":{"page":{"type":"integer","title":"Page","description":"The current page the pagination request is on"},"per_page":{"type":"integer","title":"Per Page","description":"The number of pages per pagination request"},"next_page":{"type":"integer","title":"Next Page","description":"The next page, if this on is not the last"},"page_count":{"type":"integer","title":"Page Count","description":"The total number of pages"},"total_count":{"type":"integer","title":"Total Count","description":"The total number of resources matching the list request"},"resources":{"items":{"$ref":"#/components/schemas/Project"},"type":"array","title":"Resources"}},"type":"object","required":["page","per_page","page_count","total_count","resources"],"title":"ProjectList","description":"A list response from a pagination request"},"ProjectPolicySubject":{"properties":{"subject_type":{"$ref":"#/components/schemas/SubjectType"},"name":{"type":"string","title":"Name","description":"The name of the policy subject","example":"ladybugbot"}},"type":"object","required":["subject_type","name"],"title":"ProjectPolicySubject"},"ProjectRecipeFilter":{"properties":{"owner":{"type":"string","title":"Owner","description":"The name of the account the recipe belongs to","example":"ladybug-tools"},"name":{"type":"string","title":"Name","description":"The name of the recipe","example":"daylight-factor"},"tag":{"type":"string","title":"Tag","description":"The specific recipe tag","example":"0.2.1"}},"type":"object","required":["owner","name"],"title":"ProjectRecipeFilter"},"ProjectRecipeFilterList":{"properties":{"page":{"type":"integer","title":"Page","description":"The current page the pagination request is on"},"per_page":{"type":"integer","title":"Per Page","description":"The number of pages per pagination request"},"next_page":{"type":"integer","title":"Next Page","description":"The next page, if this on is not the last"},"page_count":{"type":"integer","title":"Page Count","description":"The total number of pages"},"total_count":{"type":"integer","title":"Total Count","description":"The total number of resources matching the list request"},"resources":{"items":{"$ref":"#/components/schemas/ProjectRecipeFilter"},"type":"array","title":"Resources"}},"type":"object","required":["page","per_page","page_count","total_count","resources"],"title":"ProjectRecipeFilterList","description":"A list response from a pagination request"},"ProjectSortKey":{"type":"string","enum":["created_at","updated_at","name"],"title":"ProjectSortKey","description":"An enumeration."},"ProjectUpdate":{"properties":{"name":{"type":"string","title":"Name","description":"The name of the project. Must be unique to a given owner","example":"Project Falcon"},"description":{"type":"string","title":"Description","description":"A description of the project","example":"I always wanted to have a project called project Falcon"},"public":{"type":"boolean","title":"Public","description":"Whether or not a project is publicly viewable"}},"type":"object","title":"ProjectUpdate"},"Proration":{"properties":{"rate":{"type":"string","title":"Rate"},"billing_period":{"$ref":"#/components/schemas/BillingPeriod"}},"type":"object","required":["rate","billing_period"],"title":"Proration"},"PublicAccountList":{"properties":{"page":{"type":"integer","title":"Page","description":"The current page the pagination request is on"},"per_page":{"type":"integer","title":"Per Page","description":"The number of pages per pagination request"},"next_page":{"type":"integer","title":"Next Page","description":"The next page, if this on is not the last"},"page_count":{"type":"integer","title":"Page Count","description":"The total number of pages"},"total_count":{"type":"integer","title":"Total Count","description":"The total number of resources matching the list request"},"resources":{"items":{"$ref":"#/components/schemas/AccountPublic"},"type":"array","title":"Resources"}},"type":"object","required":["page","per_page","page_count","total_count","resources"],"title":"PublicAccountList","description":"A list response from a pagination request"},"QuantityConstraints":{"properties":{"minimum":{"type":"integer","title":"Minimum"},"maximum":{"type":"integer","title":"Maximum"}},"type":"object","required":["minimum","maximum"],"title":"QuantityConstraints"},"Quota":{"properties":{"id":{"type":"string","format":"uuid","title":"Id","description":"The unique ID for this Quota"},"type":{"allOf":[{"$ref":"#/components/schemas/QuotaType"}],"description":"The type of resource"},"period_start":{"type":"string","format":"date-time","title":"Period Start","description":"The start of the quota usage tracking period"},"limit":{"type":"number","title":"Limit","description":"The maximum amount of a resource the account can consume"},"usage":{"type":"number","minimum":0.0,"title":"Usage","description":"The current amount of a resource allocated to the account linked to the subscription"},"resets":{"type":"boolean","title":"Resets","description":"Whether consumption is reset to 0 every billing period","default":false},"enforced":{"type":"boolean","title":"Enforced","description":"Whether the limit triggers a blocking response from the server","default":false},"exceeded":{"type":"boolean","title":"Exceeded","description":"Whether the resource usage is greater than or equal to the limit","default":false},"owner":{"allOf":[{"$ref":"#/components/schemas/AccountPublic"}],"title":"Owner","description":"The quota owner"},"display_name":{"type":"string","title":"Display Name","description":"The human-readable name"},"description":{"type":"string","title":"Description","description":"The description"},"unit":{"type":"string","title":"Unit","description":"The unit in which the usage and limit are measured"}},"type":"object","required":["type","owner"],"title":"Quota"},"QuotaList":{"properties":{"page":{"type":"integer","title":"Page","description":"The current page the pagination request is on"},"per_page":{"type":"integer","title":"Per Page","description":"The number of pages per pagination request"},"next_page":{"type":"integer","title":"Next Page","description":"The next page, if this on is not the last"},"page_count":{"type":"integer","title":"Page Count","description":"The total number of pages"},"total_count":{"type":"integer","title":"Total Count","description":"The total number of resources matching the list request"},"resources":{"items":{"$ref":"#/components/schemas/Quota"},"type":"array","title":"Resources"}},"type":"object","required":["page","per_page","page_count","total_count","resources"],"title":"QuotaList","description":"A list response from a pagination request"},"QuotaPlan":{"properties":{"type":{"allOf":[{"$ref":"#/components/schemas/QuotaType"}],"description":"The name of the quota"},"resets":{"type":"boolean","title":"Resets","description":"Whether consumption is reset to 0 every month","default":false},"limit":{"type":"number","title":"Limit","description":"The maximum amount of a resource that a subscription allows"},"enforced":{"type":"boolean","title":"Enforced","description":"Whether the limit is triggers a blocking response from the server","default":false},"max_limit":{"type":"number","title":"Max Limit","description":"The maximum amount of a resource that a subscription allows"},"display_name":{"type":"string","title":"Display Name","description":"The human-readable name"},"description":{"type":"string","title":"Description","description":"The description"},"unit":{"type":"string","title":"Unit","description":"The unit in which the usage and limit are measured"}},"type":"object","required":["type"],"title":"QuotaPlan"},"QuotaType":{"type":"string","enum":["storage","compute_hours","parallel_workflow_containers","runs_per_study","private_repositories","private_projects","teams","members","cpu_limit","memory_limit","rhino_plugin_license","revit_plugin_license","application_cpu","application_memory"],"title":"QuotaType","description":"The type of comsumption-limited resource to which the quota refers."},"Recipe":{"properties":{"type":{"type":"string","pattern":"^Recipe$","title":"Type","default":"Recipe"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"api_version":{"type":"string","pattern":"^v1beta1$","title":"Api Version","default":"v1beta1","readOnly":true},"metadata":{"allOf":[{"$ref":"#/components/schemas/MetaData"}],"title":"Metadata","description":"Recipe metadata information."},"dependencies":{"items":{"$ref":"#/components/schemas/Dependency"},"type":"array","title":"Dependencies","description":"A list of plugins and other recipes this recipe depends on."},"flow":{"items":{"$ref":"#/components/schemas/DAG"},"type":"array","title":"Flow","description":"A list of tasks to create a DAG recipe."}},"type":"object","required":["flow"],"title":"Recipe","description":"A Queenbee Recipe"},"RecipeInterface":{"properties":{"type":{"type":"string","pattern":"^RecipeInterface$","title":"Type","default":"RecipeInterface"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"api_version":{"type":"string","pattern":"^v1beta1$","title":"Api Version","default":"v1beta1","readOnly":true},"metadata":{"allOf":[{"$ref":"#/components/schemas/MetaData"}],"title":"Metadata","description":"Recipe metadata information."},"source":{"type":"string","title":"Source","description":"A URL to the source this recipe from a registry."},"inputs":{"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"}]},"type":"array","title":"Inputs","description":"A list of recipe inputs."},"outputs":{"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"}]},"type":"array","title":"Outputs","description":"A list of recipe outputs."}},"type":"object","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."},"RecipeInterfaceList":{"properties":{"page":{"type":"integer","title":"Page","description":"The current page the pagination request is on"},"per_page":{"type":"integer","title":"Per Page","description":"The number of pages per pagination request"},"next_page":{"type":"integer","title":"Next Page","description":"The next page, if this on is not the last"},"page_count":{"type":"integer","title":"Page Count","description":"The total number of pages"},"total_count":{"type":"integer","title":"Total Count","description":"The total number of resources matching the list request"},"resources":{"items":{"$ref":"#/components/schemas/RecipeInterface"},"type":"array","title":"Resources"}},"type":"object","required":["page","per_page","page_count","total_count","resources"],"title":"RecipeInterfaceList","description":"A list response from a pagination request"},"RecipePackage":{"properties":{"digest":{"type":"string","title":"Digest","description":"The new package digest"},"tag":{"type":"string","title":"Tag","description":"The new package tag"},"keywords":{"items":{"type":"string"},"type":"array","title":"Keywords","description":"keywords"},"description":{"type":"string","title":"Description","description":"description"},"icon":{"type":"string","title":"Icon","description":"icon"},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Creation Timestamp"},"readme":{"type":"string","title":"Readme","description":"The Repository Readme","example":"# Daylight Factor \n This recipe runs a daylight factor simulation."},"manifest":{"$ref":"#/components/schemas/RecipeInterface"}},"type":"object","required":["digest","tag","manifest"],"title":"RecipePackage"},"RecipePackageList":{"properties":{"page":{"type":"integer","title":"Page","description":"The current page the pagination request is on"},"per_page":{"type":"integer","title":"Per Page","description":"The number of pages per pagination request"},"next_page":{"type":"integer","title":"Next Page","description":"The next page, if this on is not the last"},"page_count":{"type":"integer","title":"Page Count","description":"The total number of pages"},"total_count":{"type":"integer","title":"Total Count","description":"The total number of resources matching the list request"},"resources":{"items":{"$ref":"#/components/schemas/RecipePackage"},"type":"array","title":"Resources"}},"type":"object","required":["page","per_page","page_count","total_count","resources"],"title":"RecipePackageList","description":"A list response from a pagination request"},"ReportCADLicenseUsage":{"properties":{"account_id":{"type":"string","format":"uuid","title":"Account Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"from_date":{"type":"string","format":"date","title":"From Date"},"to_date":{"type":"string","format":"date","title":"To Date"},"data":{"items":{"$ref":"#/components/schemas/CADLicenseUsage"},"type":"array","title":"Data"}},"type":"object","required":["account_id","data"],"title":"ReportCADLicenseUsage","description":"A report on CAD license usage"},"ReportComputeUsage":{"properties":{"account_id":{"type":"string","format":"uuid","title":"Account Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"from_date":{"type":"string","format":"date","title":"From Date"},"to_date":{"type":"string","format":"date","title":"To Date"},"data":{"items":{"$ref":"#/components/schemas/JobComputeUsage"},"type":"array","title":"Data"}},"type":"object","required":["account_id","data"],"title":"ReportComputeUsage","description":"A report on cloud compute usage for an account"},"ReportOrganizationMemberUsage":{"properties":{"account_id":{"type":"string","format":"uuid","title":"Account Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"from_date":{"type":"string","format":"date","title":"From Date"},"to_date":{"type":"string","format":"date","title":"To Date"},"data":{"items":{"$ref":"#/components/schemas/OrganizationMemberUsage"},"type":"array","title":"Data"}},"type":"object","required":["account_id","data"],"title":"ReportOrganizationMemberUsage","description":"A report on compute usage by organisation members"},"Repository":{"properties":{"public":{"type":"boolean","title":"Public","description":"Whether or not a repository is publicly viewable"},"keywords":{"items":{"type":"string"},"type":"array","title":"Keywords","description":"A list of keywords to index the repository by","example":["daylight","radiance"]},"description":{"type":"string","title":"Description","description":"A description of the repository","example":"Run daylight simulations the easy way!"},"icon":{"type":"string","title":"Icon","description":"An icon to represent this repository","example":"https://avatars1.githubusercontent.com/u/38131342"},"name":{"type":"string","title":"Name","description":"The name of the repository","example":"daylight-factor"},"id":{"type":"string","title":"Id","description":"The recipe unique ID","example":"5d5e7103-2c1e-413f-9332-f8ec4a9aace7"},"latest_tag":{"type":"string","title":"Latest Tag","description":"The latest package version to be indexed","example":"0.2.1"},"owner":{"allOf":[{"$ref":"#/components/schemas/AccountPublic"}],"title":"Owner","description":"The owner of the repository"},"permissions":{"allOf":[{"$ref":"#/components/schemas/RepositoryUserPermissions"}],"title":"Permissions","description":"The permissions the user making the API call has on the resource","default":{"admin":false,"write":false,"read":false}},"slug":{"type":"string","title":"Slug","description":"The repository slug","example":"ladybug-tools/daylight-factor"}},"type":"object","required":["name","id","latest_tag","owner"],"title":"Repository"},"RepositoryAccessPolicy":{"properties":{"subject":{"allOf":[{"$ref":"#/components/schemas/PolicySubject"}],"title":"Subject","description":"The subject of the access policy"},"permission":{"allOf":[{"$ref":"#/components/schemas/Permission"}],"description":"The permission given to the subject of the access policy","example":"write"}},"type":"object","required":["subject","permission"],"title":"RepositoryAccessPolicy"},"RepositoryAccessPolicyList":{"properties":{"page":{"type":"integer","title":"Page","description":"The current page the pagination request is on"},"per_page":{"type":"integer","title":"Per Page","description":"The number of pages per pagination request"},"next_page":{"type":"integer","title":"Next Page","description":"The next page, if this on is not the last"},"page_count":{"type":"integer","title":"Page Count","description":"The total number of pages"},"total_count":{"type":"integer","title":"Total Count","description":"The total number of resources matching the list request"},"resources":{"items":{"$ref":"#/components/schemas/RepositoryAccessPolicy"},"type":"array","title":"Resources"}},"type":"object","required":["page","per_page","page_count","total_count","resources"],"title":"RepositoryAccessPolicyList","description":"A list response from a pagination request"},"RepositoryCreate":{"properties":{"public":{"type":"boolean","title":"Public","description":"Whether or not a repository is publicly viewable"},"keywords":{"items":{"type":"string"},"type":"array","title":"Keywords","description":"A list of keywords to index the repository by","example":["daylight","radiance"]},"description":{"type":"string","title":"Description","description":"A description of the repository","example":"Run daylight simulations the easy way!"},"icon":{"type":"string","title":"Icon","description":"An icon to represent this repository","example":"https://avatars1.githubusercontent.com/u/38131342"},"name":{"type":"string","title":"Name","description":"The name of the repository","example":"daylight-factor"}},"type":"object","required":["name"],"title":"RepositoryCreate"},"RepositoryIndex":{"properties":{"type":{"type":"string","pattern":"^RepositoryIndex$","title":"Type","default":"RepositoryIndex"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"api_version":{"type":"string","pattern":"^v1beta1$","title":"Api Version","default":"v1beta1","readOnly":true},"generated":{"type":"string","format":"date-time","title":"Generated","description":"The timestamp at which the index was generated"},"metadata":{"allOf":[{"$ref":"#/components/schemas/RepositoryMetadata"}],"title":"Metadata","description":"Extra information about the repository","default":{"type":"RepositoryMetadata","annotations":{},"description":"A Queenbee package repository","plugin_count":0,"recipe_count":0}},"plugin":{"additionalProperties":{"items":{"$ref":"#/components/schemas/PackageVersion"},"type":"array"},"type":"object","title":"Plugin","description":"A dict of plugins accessible by name. Each name key points to a list of plugin versions","default":{}},"recipe":{"additionalProperties":{"items":{"$ref":"#/components/schemas/PackageVersion"},"type":"array"},"type":"object","title":"Recipe","description":"A dict of recipes accessible by name. Each name key points to a list of recipesversions","default":{}}},"type":"object","title":"RepositoryIndex","description":"A searchable index for a Queenbee Plugin and Recipe repository"},"RepositoryList":{"properties":{"page":{"type":"integer","title":"Page","description":"The current page the pagination request is on"},"per_page":{"type":"integer","title":"Per Page","description":"The number of pages per pagination request"},"next_page":{"type":"integer","title":"Next Page","description":"The next page, if this on is not the last"},"page_count":{"type":"integer","title":"Page Count","description":"The total number of pages"},"total_count":{"type":"integer","title":"Total Count","description":"The total number of resources matching the list request"},"resources":{"items":{"$ref":"#/components/schemas/Repository"},"type":"array","title":"Resources"}},"type":"object","required":["page","per_page","page_count","total_count","resources"],"title":"RepositoryList","description":"A list response from a pagination request"},"RepositoryMetadata":{"properties":{"type":{"type":"string","pattern":"^RepositoryMetadata$","title":"Type","default":"RepositoryMetadata"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"The name of the repository"},"description":{"type":"string","title":"Description","description":"A short description of the repository","default":"A Queenbee package repository"},"source":{"type":"string","title":"Source","description":"The source path (url or local) to the repository"},"plugin_count":{"type":"integer","title":"Plugin Count","description":"The number of plugins hosted by the repository","default":0},"recipe_count":{"type":"integer","title":"Recipe Count","description":"The number of recipes hosted by the repository","default":0}},"type":"object","title":"RepositoryMetadata","description":"BaseModel with functionality to return the object as a yaml string."},"RepositoryPolicySubject":{"properties":{"subject_type":{"$ref":"#/components/schemas/SubjectType"},"name":{"type":"string","title":"Name","description":"The name of the policy subject","example":"ladybugbot"}},"type":"object","required":["subject_type","name"],"title":"RepositoryPolicySubject"},"RepositorySortKey":{"type":"string","enum":["created_at","updated_at","name","latest_tag"],"title":"RepositorySortKey","description":"An enumeration."},"RepositoryUpdate":{"properties":{"public":{"type":"boolean","title":"Public","description":"Whether or not a repository is publicly viewable"},"keywords":{"items":{"type":"string"},"type":"array","title":"Keywords","description":"A list of keywords to index the repository by","example":["daylight","radiance"]},"description":{"type":"string","title":"Description","description":"A description of the repository","example":"Run daylight simulations the easy way!"},"icon":{"type":"string","title":"Icon","description":"An icon to represent this repository","example":"https://avatars1.githubusercontent.com/u/38131342"}},"type":"object","title":"RepositoryUpdate"},"RepositoryUserPermissions":{"properties":{"admin":{"type":"boolean","title":"Admin","description":"The user has admin permission to this resource","default":false,"example":false},"write":{"type":"boolean","title":"Write","description":"The user has write permission on this resource","default":false,"example":false},"read":{"type":"boolean","title":"Read","description":"The user has read permission on this resource","default":false,"example":true}},"type":"object","title":"RepositoryUserPermissions"},"ResourcesDuration":{"properties":{"cpu":{"type":"integer","title":"Cpu","default":0},"memory":{"type":"integer","title":"Memory","default":0}},"type":"object","title":"ResourcesDuration"},"RetryConfig":{"properties":{"hard":{"type":"boolean","title":"Hard","description":"Hard retry, will delete run data and restart from scratch","default":false}},"type":"object","title":"RetryConfig"},"RoleEnum":{"type":"string","enum":["owner","member"],"title":"RoleEnum","description":"An enumeration."},"Run":{"properties":{"id":{"type":"string","title":"Id","description":"The unique ID for this run"},"author":{"allOf":[{"$ref":"#/components/schemas/AccountPublic"}],"title":"Author","description":"author"},"owner":{"allOf":[{"$ref":"#/components/schemas/AccountPublic"}],"title":"Owner","description":"owner"},"recipe":{"allOf":[{"$ref":"#/components/schemas/RecipeInterface"}],"title":"Recipe","description":"The recipe used to generate this "},"generation":{"type":"number","title":"Generation","description":"The generation of this run"},"status":{"allOf":[{"$ref":"#/components/schemas/RunStatus"}],"title":"Status","description":"The status of the run"},"meta":{"allOf":[{"$ref":"#/components/schemas/RunMeta"}],"title":"Meta","description":"Extra metadata about the run","default":{"resources_duration":{"cpu":0,"memory":0},"progress":{"completed":0,"running":0,"total":0}}}},"type":"object","required":["id"],"title":"Run"},"RunList":{"properties":{"page":{"type":"integer","title":"Page","description":"The current page the pagination request is on"},"per_page":{"type":"integer","title":"Per Page","description":"The number of pages per pagination request"},"next_page":{"type":"integer","title":"Next Page","description":"The next page, if this on is not the last"},"page_count":{"type":"integer","title":"Page Count","description":"The total number of pages"},"total_count":{"type":"integer","title":"Total Count","description":"The total number of resources matching the list request"},"resources":{"items":{"$ref":"#/components/schemas/Run"},"type":"array","title":"Resources"}},"type":"object","required":["page","per_page","page_count","total_count","resources"],"title":"RunList","description":"A list response from a pagination request"},"RunMeta":{"properties":{"resources_duration":{"allOf":[{"$ref":"#/components/schemas/ResourcesDuration"}],"title":"Resources Duration","description":"resource usage","default":{"cpu":0,"memory":0}},"progress":{"allOf":[{"$ref":"#/components/schemas/RunProgress"}],"title":"Progress","description":"progress of the run","default":{"completed":0,"running":0,"total":0}}},"type":"object","title":"RunMeta"},"RunProgress":{"properties":{"completed":{"type":"integer","title":"Completed","default":0},"running":{"type":"integer","title":"Running","default":0},"total":{"type":"integer","title":"Total","default":0}},"type":"object","title":"RunProgress"},"RunResultList":{"properties":{"page":{"type":"integer","title":"Page","description":"The current page the pagination request is on"},"per_page":{"type":"integer","title":"Per Page","description":"The number of pages per pagination request"},"next_page":{"type":"integer","title":"Next Page","description":"The next page, if this on is not the last"},"page_count":{"type":"integer","title":"Page Count","description":"The total number of pages"},"total_count":{"type":"integer","title":"Total Count","description":"The total number of resources matching the list request"},"resources":{"items":{"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"}]},"type":"array"},"type":"array","title":"Resources"}},"type":"object","required":["page","per_page","page_count","total_count","resources"],"title":"RunResultList","description":"A list response from a pagination request"},"RunStatus":{"properties":{"type":{"type":"string","pattern":"^RunStatus$","title":"Type","default":"RunStatus"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"inputs":{"items":{"anyOf":[{"$ref":"#/components/schemas/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"}]},"type":"array","title":"Inputs","description":"The inputs used for this run."},"outputs":{"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"}]},"type":"array","title":"Outputs","description":"The outputs produced by this run."},"message":{"type":"string","title":"Message","description":"Any message produced by the task. Usually error/debugging hints."},"started_at":{"type":"string","format":"date-time","title":"Started At","description":"The time at which the task was started"},"finished_at":{"type":"string","format":"date-time","title":"Finished At","description":"The time at which the task was completed"},"source":{"type":"string","title":"Source","description":"Source url for the status object. It can be a recipe or a function."},"api_version":{"type":"string","pattern":"^v1beta1$","title":"Api Version","default":"v1beta1","readOnly":true},"id":{"type":"string","title":"Id","description":"The ID of the individual run."},"job_id":{"type":"string","title":"Job Id","description":"The ID of the job that generated this run."},"entrypoint":{"type":"string","title":"Entrypoint","description":"The ID of the first step in the run."},"status":{"allOf":[{"$ref":"#/components/schemas/RunStatusEnum"}],"description":"The status of this run.","default":"Unknown"},"steps":{"additionalProperties":{"$ref":"#/components/schemas/StepStatus"},"type":"object","title":"Steps","default":{}}},"type":"object","required":["inputs","outputs","started_at","id","job_id"],"title":"RunStatus","description":"Job Status."},"RunStatusEnum":{"type":"string","enum":["Created","Scheduled","Running","Post-Processing","Failed","Cancelled","Succeeded","Unknown"],"title":"RunStatusEnum","description":"Enumaration of allowable status strings"},"S3":{"properties":{"type":{"type":"string","pattern":"^S3$","title":"Type","default":"S3"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"key":{"type":"string","title":"Key","description":"The path inside the bucket to source artifacts from."},"endpoint":{"type":"string","title":"Endpoint","description":"The HTTP endpoint to reach the S3 bucket."},"bucket":{"type":"string","title":"Bucket","description":"The name of the S3 bucket on the host server."},"credentials_path":{"type":"string","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":"object","required":["key","endpoint","bucket"],"title":"S3","description":"S3 Source\n\nAn S3 bucket artifact Source."},"S3UploadRequest":{"properties":{"url":{"type":"string","title":"Url"},"fields":{"additionalProperties":{"type":"string"},"type":"object","title":"Fields"}},"type":"object","required":["url","fields"],"title":"S3UploadRequest"},"SDKEnum":{"type":"string","enum":["streamlit","dash","react"],"title":"SDKEnum","description":"An enumeration."},"ScriptingLanguages":{"type":"string","enum":["python"],"title":"ScriptingLanguages","description":"Supported Scripting Languages"},"SortEnum":{"type":"string","enum":["ascending","descending"],"title":"SortEnum","description":"An enumeration."},"StatusType":{"type":"string","enum":["Function","DAG","Loop","Container","Unknown"],"title":"StatusType","description":"Type enum for status type."},"StepArrayInput":{"properties":{"type":{"type":"string","pattern":"^StepArrayInput$","title":"Type","default":"StepArrayInput"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Input name."},"description":{"type":"string","title":"Description","description":"Optional description for input."},"default":{"items":{},"type":"array","title":"Default","description":"Default value to use for an input if a value was not supplied."},"alias":{"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"}]},"type":"array","title":"Alias","description":"A list of aliases for this input in different platforms."},"required":{"type":"boolean","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},"spec":{"type":"object","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."},"items_type":{"allOf":[{"$ref":"#/components/schemas/ItemType"}],"description":"Type of items in an array. All the items in an array must be from the same type.","default":"String"},"value":{"items":{},"type":"array","title":"Value"}},"type":"object","required":["name","value"],"title":"StepArrayInput","description":"A JSON array input."},"StepArrayOutput":{"properties":{"type":{"type":"string","pattern":"^StepArrayOutput$","title":"Type","default":"StepArrayOutput"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Output name."},"description":{"type":"string","title":"Description","description":"Optional description for output."},"path":{"type":"string","title":"Path","description":"Path to the output file relative to where the function command is executed."},"required":{"type":"boolean","title":"Required","description":"A boolean to indicate if an artifact output is required. A False value makes the artifact optional.","default":true},"items_type":{"allOf":[{"$ref":"#/components/schemas/ItemType"}],"description":"Type of items in this array. All the items in an array must be from the same type.","default":"String"},"value":{"items":{},"type":"array","title":"Value"}},"type":"object","required":["name","path","value"],"title":"StepArrayOutput","description":"A JSON array output."},"StepBooleanInput":{"properties":{"type":{"type":"string","pattern":"^StepBooleanInput$","title":"Type","default":"StepBooleanInput"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Input name."},"description":{"type":"string","title":"Description","description":"Optional description for input."},"default":{"type":"boolean","title":"Default","description":"Default value to use for an input if a value was not supplied."},"alias":{"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"}]},"type":"array","title":"Alias","description":"A list of aliases for this input in different platforms."},"required":{"type":"boolean","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},"spec":{"type":"object","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."},"value":{"type":"boolean","title":"Value"}},"type":"object","required":["name","value"],"title":"StepBooleanInput","description":"The boolean type matches only two special values: True and False."},"StepBooleanOutput":{"properties":{"type":{"type":"string","pattern":"^StepBooleanOutput$","title":"Type","default":"StepBooleanOutput"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Output name."},"description":{"type":"string","title":"Description","description":"Optional description for output."},"path":{"type":"string","title":"Path","description":"Path to the output file relative to where the function command is executed."},"required":{"type":"boolean","title":"Required","description":"A boolean to indicate if an artifact output is required. A False value makes the artifact optional.","default":true},"value":{"type":"boolean","title":"Value"}},"type":"object","required":["name","path","value"],"title":"StepBooleanOutput","description":"The boolean type matches only two special values: True and False."},"StepFileInput":{"properties":{"type":{"type":"string","pattern":"^StepFileInput$","title":"Type","default":"StepFileInput"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Input name."},"description":{"type":"string","title":"Description","description":"Optional description for input."},"default":{"anyOf":[{"$ref":"#/components/schemas/HTTP"},{"$ref":"#/components/schemas/S3"},{"$ref":"#/components/schemas/ProjectFolder"}],"title":"Default","description":"The default source for file if the value is not provided."},"alias":{"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"}]},"type":"array","title":"Alias","description":"A list of aliases for this input in different platforms."},"required":{"type":"boolean","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},"spec":{"type":"object","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."},"path":{"type":"string","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."},"extensions":{"items":{"type":"string"},"type":"array","title":"Extensions","description":"Optional list of extensions for file. The check for extension is case-insensitive."},"source":{"anyOf":[{"$ref":"#/components/schemas/HTTP"},{"$ref":"#/components/schemas/S3"},{"$ref":"#/components/schemas/ProjectFolder"}],"title":"Source","description":"The path to source the file from."}},"type":"object","required":["name","source"],"title":"StepFileInput","description":"A file input."},"StepFileOutput":{"properties":{"type":{"type":"string","pattern":"^StepFileOutput$","title":"Type","default":"StepFileOutput"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Output name."},"description":{"type":"string","title":"Description","description":"Optional description for output."},"path":{"type":"string","title":"Path","description":"Path to the output file relative to where the function command is executed."},"required":{"type":"boolean","title":"Required","description":"A boolean to indicate if an artifact output is required. A False value makes the artifact optional.","default":true},"source":{"anyOf":[{"$ref":"#/components/schemas/HTTP"},{"$ref":"#/components/schemas/S3"},{"$ref":"#/components/schemas/ProjectFolder"}],"title":"Source","description":"The path to source the file from."}},"type":"object","required":["name","path","source"],"title":"StepFileOutput","description":"A file output."},"StepFolderInput":{"properties":{"type":{"type":"string","pattern":"^StepFolderInput$","title":"Type","default":"StepFolderInput"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Input name."},"description":{"type":"string","title":"Description","description":"Optional description for input."},"default":{"anyOf":[{"$ref":"#/components/schemas/HTTP"},{"$ref":"#/components/schemas/S3"},{"$ref":"#/components/schemas/ProjectFolder"}],"title":"Default","description":"The default source for file if the value is not provided."},"alias":{"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"}]},"type":"array","title":"Alias","description":"A list of aliases for this input in different platforms."},"required":{"type":"boolean","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},"spec":{"type":"object","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."},"path":{"type":"string","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."},"source":{"anyOf":[{"$ref":"#/components/schemas/HTTP"},{"$ref":"#/components/schemas/S3"},{"$ref":"#/components/schemas/ProjectFolder"}],"title":"Source","description":"The path to source the file from."}},"type":"object","required":["name","source"],"title":"StepFolderInput","description":"A folder input."},"StepFolderOutput":{"properties":{"type":{"type":"string","pattern":"^StepFolderOutput$","title":"Type","default":"StepFolderOutput"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Output name."},"description":{"type":"string","title":"Description","description":"Optional description for output."},"path":{"type":"string","title":"Path","description":"Path to the output folder relative to where the function command is executed."},"required":{"type":"boolean","title":"Required","description":"A boolean to indicate if an artifact output is required. A False value makes the artifact optional.","default":true},"source":{"anyOf":[{"$ref":"#/components/schemas/HTTP"},{"$ref":"#/components/schemas/S3"},{"$ref":"#/components/schemas/ProjectFolder"}],"title":"Source","description":"The path to source the file from."}},"type":"object","required":["name","path","source"],"title":"StepFolderOutput","description":"A folder output."},"StepIntegerInput":{"properties":{"type":{"type":"string","pattern":"^StepIntegerInput$","title":"Type","default":"StepIntegerInput"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Input name."},"description":{"type":"string","title":"Description","description":"Optional description for input."},"default":{"type":"integer","title":"Default","description":"Default value to use for an input if a value was not supplied."},"alias":{"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"}]},"type":"array","title":"Alias","description":"A list of aliases for this input in different platforms."},"required":{"type":"boolean","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},"spec":{"type":"object","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."},"value":{"type":"integer","title":"Value"}},"type":"object","required":["name","value"],"title":"StepIntegerInput","description":"An integer input."},"StepIntegerOutput":{"properties":{"type":{"type":"string","pattern":"^StepIntegerOutput$","title":"Type","default":"StepIntegerOutput"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Output name."},"description":{"type":"string","title":"Description","description":"Optional description for output."},"path":{"type":"string","title":"Path","description":"Path to the output file relative to where the function command is executed."},"required":{"type":"boolean","title":"Required","description":"A boolean to indicate if an artifact output is required. A False value makes the artifact optional.","default":true},"value":{"type":"integer","title":"Value"}},"type":"object","required":["name","path","value"],"title":"StepIntegerOutput","description":"An integer output."},"StepJSONObjectInput":{"properties":{"type":{"type":"string","pattern":"^StepJSONObjectInput$","title":"Type","default":"StepJSONObjectInput"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Input name."},"description":{"type":"string","title":"Description","description":"Optional description for input."},"default":{"type":"object","title":"Default","description":"Default value to use for an input if a value was not supplied."},"alias":{"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"}]},"type":"array","title":"Alias","description":"A list of aliases for this input in different platforms."},"required":{"type":"boolean","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},"spec":{"type":"object","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."},"value":{"type":"object","title":"Value"}},"type":"object","required":["name","value"],"title":"StepJSONObjectInput","description":"A JSON object input."},"StepJSONObjectOutput":{"properties":{"type":{"type":"string","pattern":"^StepJSONObjectOutput$","title":"Type","default":"StepJSONObjectOutput"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Output name."},"description":{"type":"string","title":"Description","description":"Optional description for output."},"path":{"type":"string","title":"Path","description":"Path to the output file relative to where the function command is executed."},"required":{"type":"boolean","title":"Required","description":"A boolean to indicate if an artifact output is required. A False value makes the artifact optional.","default":true},"value":{"type":"object","title":"Value"}},"type":"object","required":["name","path","value"],"title":"StepJSONObjectOutput","description":"A JSON object output."},"StepList":{"properties":{"page":{"type":"integer","title":"Page","description":"The current page the pagination request is on"},"per_page":{"type":"integer","title":"Per Page","description":"The number of pages per pagination request"},"next_page":{"type":"integer","title":"Next Page","description":"The next page, if this on is not the last"},"page_count":{"type":"integer","title":"Page Count","description":"The total number of pages"},"total_count":{"type":"integer","title":"Total Count","description":"The total number of resources matching the list request"},"resources":{"items":{"$ref":"#/components/schemas/StepStatus"},"type":"array","title":"Resources"}},"type":"object","required":["page","per_page","page_count","total_count","resources"],"title":"StepList","description":"A list response from a pagination request"},"StepNumberInput":{"properties":{"type":{"type":"string","pattern":"^StepNumberInput$","title":"Type","default":"StepNumberInput"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Input name."},"description":{"type":"string","title":"Description","description":"Optional description for input."},"default":{"type":"number","title":"Default","description":"Default value to use for an input if a value was not supplied."},"alias":{"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"}]},"type":"array","title":"Alias","description":"A list of aliases for this input in different platforms."},"required":{"type":"boolean","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},"spec":{"type":"object","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."},"value":{"type":"number","title":"Value"}},"type":"object","required":["name","value"],"title":"StepNumberInput","description":"A number input."},"StepNumberOutput":{"properties":{"type":{"type":"string","pattern":"^StepNumberOutput$","title":"Type","default":"StepNumberOutput"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Output name."},"description":{"type":"string","title":"Description","description":"Optional description for output."},"path":{"type":"string","title":"Path","description":"Path to the output file relative to where the function command is executed."},"required":{"type":"boolean","title":"Required","description":"A boolean to indicate if an artifact output is required. A False value makes the artifact optional.","default":true},"value":{"type":"number","title":"Value"}},"type":"object","required":["name","path","value"],"title":"StepNumberOutput","description":"A number output."},"StepPathInput":{"properties":{"type":{"type":"string","pattern":"^StepPathInput$","title":"Type","default":"StepPathInput"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Input name."},"description":{"type":"string","title":"Description","description":"Optional description for input."},"default":{"anyOf":[{"$ref":"#/components/schemas/HTTP"},{"$ref":"#/components/schemas/S3"},{"$ref":"#/components/schemas/ProjectFolder"}],"title":"Default","description":"The default source for file if the value is not provided."},"alias":{"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"}]},"type":"array","title":"Alias","description":"A list of aliases for this input in different platforms."},"required":{"type":"boolean","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},"spec":{"type":"object","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."},"path":{"type":"string","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."},"extensions":{"items":{"type":"string"},"type":"array","title":"Extensions","description":"Optional list of extensions for file. The check for extension is case-insensitive."},"source":{"anyOf":[{"$ref":"#/components/schemas/HTTP"},{"$ref":"#/components/schemas/S3"},{"$ref":"#/components/schemas/ProjectFolder"}],"title":"Source","description":"The path to source the file from."}},"type":"object","required":["name","source"],"title":"StepPathInput","description":"A file or a folder input."},"StepPathOutput":{"properties":{"type":{"type":"string","pattern":"^StepPathOutput$","title":"Type","default":"StepPathOutput"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Output name."},"description":{"type":"string","title":"Description","description":"Optional description for output."},"path":{"type":"string","title":"Path","description":"Path to the output file or folder relative to where the function command is executed."},"required":{"type":"boolean","title":"Required","description":"A boolean to indicate if an artifact output is required. A False value makes the artifact optional.","default":true},"source":{"anyOf":[{"$ref":"#/components/schemas/HTTP"},{"$ref":"#/components/schemas/S3"},{"$ref":"#/components/schemas/ProjectFolder"}],"title":"Source","description":"The path to source the file from."}},"type":"object","required":["name","path","source"],"title":"StepPathOutput","description":"A file or a folder output."},"StepStatus":{"properties":{"type":{"type":"string","pattern":"^StepStatus$","title":"Type","default":"StepStatus"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"inputs":{"items":{"anyOf":[{"$ref":"#/components/schemas/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"}]},"type":"array","title":"Inputs","description":"The inputs used by this step."},"outputs":{"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"}]},"type":"array","title":"Outputs","description":"The outputs produced by this step."},"message":{"type":"string","title":"Message","description":"Any message produced by the task. Usually error/debugging hints."},"started_at":{"type":"string","format":"date-time","title":"Started At","description":"The time at which the task was started"},"finished_at":{"type":"string","format":"date-time","title":"Finished At","description":"The time at which the task was completed"},"source":{"type":"string","title":"Source","description":"Source url for the status object. It can be a recipe or a function."},"id":{"type":"string","title":"Id","description":"The step unique ID"},"name":{"type":"string","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."},"status":{"allOf":[{"$ref":"#/components/schemas/StepStatusEnum"}],"description":"The status of this step.","default":"Unknown"},"status_type":{"allOf":[{"$ref":"#/components/schemas/StatusType"}],"description":"The type of step this status is for. Can be \"Function\", \"DAG\" or \"Loop\""},"template_ref":{"type":"string","title":"Template Ref","description":"The name of the template that spawned this step"},"command":{"type":"string","title":"Command","description":"The command used to run this step. Only applies to Function steps."},"boundary_id":{"type":"string","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."},"children_ids":{"items":{"type":"string"},"type":"array","title":"Children Ids","description":"A list of child step IDs"},"outbound_steps":{"items":{"type":"string"},"type":"array","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":"object","required":["inputs","outputs","started_at","id","name","status_type","template_ref","children_ids","outbound_steps"],"title":"StepStatus","description":"The Status of a Job Step"},"StepStatusEnum":{"type":"string","enum":["Scheduled","Running","Failed","Succeeded","Skipped","Unknown"],"title":"StepStatusEnum","description":"Enumaration of allowable status strings"},"StepStringInput":{"properties":{"type":{"type":"string","pattern":"^StepStringInput$","title":"Type","default":"StepStringInput"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Input name."},"description":{"type":"string","title":"Description","description":"Optional description for input."},"default":{"type":"string","title":"Default","description":"Default value to use for an input if a value was not supplied."},"alias":{"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"}]},"type":"array","title":"Alias","description":"A list of aliases for this input in different platforms."},"required":{"type":"boolean","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},"spec":{"type":"object","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."},"value":{"type":"string","title":"Value"}},"type":"object","required":["name","value"],"title":"StepStringInput","description":"A String input."},"StepStringOutput":{"properties":{"type":{"type":"string","pattern":"^StepStringOutput$","title":"Type","default":"StepStringOutput"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Output name."},"description":{"type":"string","title":"Description","description":"Optional description for output."},"path":{"type":"string","title":"Path","description":"Path to the output file relative to where the function command is executed."},"required":{"type":"boolean","title":"Required","description":"A boolean to indicate if an artifact output is required. A False value makes the artifact optional.","default":true},"value":{"type":"string","title":"Value"}},"type":"object","required":["name","path","value"],"title":"StepStringOutput","description":"A String output."},"SubjectType":{"type":"string","enum":["user","team"],"title":"SubjectType","description":"An enumeration."},"Subscription":{"properties":{"id":{"type":"string","format":"uuid","title":"Id","description":"The unique ID of this subscription"},"owner":{"allOf":[{"$ref":"#/components/schemas/AccountPublic"}],"title":"Owner","description":"The owner of the repository"},"external_id":{"type":"string","title":"External Id","description":"The ID of this subscription"},"type":{"allOf":[{"$ref":"#/components/schemas/PlanType"}],"description":"The type of subscription"},"period_start":{"type":"string","format":"date-time","title":"Period Start","description":"The start of the current subscription period"},"period_end":{"type":"string","format":"date-time","title":"Period End","description":"The end of the current subscription period"},"plan_slug":{"type":"string","title":"Plan Slug","description":"The slug of the plan used to create this subscription"},"plan_multiplier":{"type":"integer","title":"Plan Multiplier","description":"The number of times to multiply the plan limit by","default":1},"billing_info":{"allOf":[{"$ref":"#/components/schemas/BillingInfo"}],"title":"Billing Info","description":"The billing info for the subscription"}},"type":"object","required":["id","owner","type","period_start","period_end","plan_slug"],"title":"Subscription"},"SubscriptionCreate":{"properties":{"account":{"type":"string","title":"Account","description":"The name of the account to create subscription for"},"plan_id":{"type":"integer","title":"Plan Id","description":"The ID of the plan to subscribe to"},"quantity":{"type":"integer","title":"Quantity","description":"The number of subscriptions to create","default":1}},"type":"object","required":["account","plan_id"],"title":"SubscriptionCreate"},"SubscriptionPayment":{"properties":{"date":{"type":"string","format":"date","title":"Date"},"currency":{"type":"string","title":"Currency"},"amount":{"type":"number","title":"Amount"}},"type":"object","required":["date","currency","amount"],"title":"SubscriptionPayment"},"SubscriptionPlan":{"properties":{"type":{"allOf":[{"$ref":"#/components/schemas/PlanType"}],"description":"The type of plan"},"slug":{"type":"string","title":"Slug","description":"A slug of the config plan used to create this subscription"},"name":{"type":"string","title":"Name","description":"A name of the config plan used to create this subscription"},"quotas":{"items":{"$ref":"#/components/schemas/QuotaPlan"},"type":"array","title":"Quotas","description":"A list of quota plans for a given subscription","default":[]},"account_types":{"items":{"$ref":"#/components/schemas/AccountType"},"type":"array","uniqueItems":true,"description":"The types of account to which the plan can be applied"},"billing_options":{"items":{"$ref":"#/components/schemas/BillingOption"},"type":"array","title":"Billing Options","description":"The billing options for this plan","default":[]}},"type":"object","required":["type","slug","name","account_types"],"title":"SubscriptionPlan"},"SubscriptionUpdate":{"properties":{"plan_id":{"type":"integer","title":"Plan Id","description":"The Paddle Plan ID to change the subscription to."},"quantity":{"type":"integer","minimum":1.0,"title":"Quantity","description":"The number of times this subscription is purchased","default":1}},"type":"object","title":"SubscriptionUpdate"},"SubscriptionUpdateDryRun":{"properties":{"exceeded_quotas":{"items":{"$ref":"#/components/schemas/Quota"},"type":"array","title":"Exceeded Quotas","description":"A list of quotas exceeded by a proposed subscription update","default":[]}},"type":"object","title":"SubscriptionUpdateDryRun"},"SubscriptionUpdateTransaction":{"properties":{"billing_period":{"$ref":"#/components/schemas/BillingPeriod"},"details":{"$ref":"#/components/schemas/PaddleBillingTransactionDetails"}},"type":"object","required":["billing_period","details"],"title":"SubscriptionUpdateTransaction"},"TaskArgument":{"properties":{"type":{"type":"string","pattern":"^TaskArgument$","title":"Type","default":"TaskArgument"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","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."},"from":{"anyOf":[{"$ref":"#/components/schemas/InputReference"},{"$ref":"#/components/schemas/TaskReference"},{"$ref":"#/components/schemas/ItemReference"},{"$ref":"#/components/schemas/ValueReference"}],"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."}},"type":"object","required":["name","from"],"title":"TaskArgument","description":"Task argument for receiving inputs that are not files or folders."},"TaskFileReference":{"properties":{"type":{"type":"string","pattern":"^TaskFileReference$","title":"Type","default":"TaskFileReference"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"The name of the task to pull output data from."},"variable":{"type":"string","title":"Variable","description":"The name of the variable."}},"type":"object","required":["name","variable"],"title":"TaskFileReference","description":"A reference to a file that is generated in a task."},"TaskFolderReference":{"properties":{"type":{"type":"string","pattern":"^TaskFolderReference$","title":"Type","default":"TaskFolderReference"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"The name of the task to pull output data from."},"variable":{"type":"string","title":"Variable","description":"The name of the variable."}},"type":"object","required":["name","variable"],"title":"TaskFolderReference","description":"A reference to a folder that is generated in a task."},"TaskPathArgument":{"properties":{"type":{"type":"string","pattern":"^TaskPathArgument$","title":"Type","default":"TaskPathArgument"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","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."},"from":{"anyOf":[{"$ref":"#/components/schemas/InputFileReference"},{"$ref":"#/components/schemas/InputFolderReference"},{"$ref":"#/components/schemas/InputPathReference"},{"$ref":"#/components/schemas/TaskFileReference"},{"$ref":"#/components/schemas/TaskFolderReference"},{"$ref":"#/components/schemas/TaskPathReference"},{"$ref":"#/components/schemas/ValueFileReference"},{"$ref":"#/components/schemas/ValueFolderReference"}],"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."},"sub_path":{"type":"string","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":"object","required":["name","from"],"title":"TaskPathArgument","description":"BaseModel with functionality to return the object as a yaml string."},"TaskPathReference":{"properties":{"type":{"type":"string","pattern":"^TaskPathReference$","title":"Type","default":"TaskPathReference"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"The name of the task to pull output data from."},"variable":{"type":"string","title":"Variable","description":"The name of the variable."}},"type":"object","required":["name","variable"],"title":"TaskPathReference","description":"A reference to a file or folder that is generated in a task."},"TaskPathReturn":{"properties":{"type":{"type":"string","pattern":"^TaskPathReturn$","title":"Type","default":"TaskPathReturn"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Output name."},"description":{"type":"string","title":"Description","description":"Optional description for output."},"path":{"type":"string","title":"Path","description":"Path to the output artifact relative to where the function command is executed."},"required":{"type":"boolean","title":"Required","description":"A boolean to indicate if an artifact output is required. A False value makes the artifact optional.","default":true}},"type":"object","required":["name","path"],"title":"TaskPathReturn","description":"A Task output that returns a file or a folder output from a function or a DAG."},"TaskReference":{"properties":{"type":{"type":"string","pattern":"^TaskReference$","title":"Type","default":"TaskReference"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"The name of the task to pull output data from."},"variable":{"type":"string","title":"Variable","description":"The name of the variable."}},"type":"object","required":["name","variable"],"title":"TaskReference","description":"A Task reference for parameters other than files or folders."},"TaskReturn":{"properties":{"type":{"type":"string","pattern":"^TaskReturn$","title":"Type","default":"TaskReturn"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"name":{"type":"string","title":"Name","description":"Output name."},"description":{"type":"string","title":"Description","description":"Optional description for output."}},"type":"object","required":["name"],"title":"TaskReturn","description":"A Task return output that exposes the values from a function or a DAG."},"Team":{"properties":{"name":{"type":"string","title":"Name","example":"Honeybee Contributors"},"description":{"type":"string","title":"Description","example":"The Honeybee team works on all things energy modelling"},"id":{"type":"string","title":"Id","description":"The team ID","example":"142ee933-6110-4186-92ab-92df359aa108"},"slug":{"type":"string","title":"Slug","description":"The public slug of the team","example":"ladybug-tools/honeybee-contributors"},"member_count":{"type":"integer","title":"Member Count","description":"The number of members that are part of this team","default":0,"example":5}},"type":"object","required":["name","id","slug"],"title":"Team"},"TeamCreate":{"properties":{"name":{"type":"string","title":"Name","example":"Honeybee Contributors"},"description":{"type":"string","title":"Description","example":"The Honeybee team works on all things energy modelling"}},"type":"object","required":["name"],"title":"TeamCreate"},"TeamList":{"properties":{"page":{"type":"integer","title":"Page","description":"The current page the pagination request is on"},"per_page":{"type":"integer","title":"Per Page","description":"The number of pages per pagination request"},"next_page":{"type":"integer","title":"Next Page","description":"The next page, if this on is not the last"},"page_count":{"type":"integer","title":"Page Count","description":"The total number of pages"},"total_count":{"type":"integer","title":"Total Count","description":"The total number of resources matching the list request"},"resources":{"items":{"$ref":"#/components/schemas/Team"},"type":"array","title":"Resources"}},"type":"object","required":["page","per_page","page_count","total_count","resources"],"title":"TeamList","description":"A list response from a pagination request"},"TeamMember":{"properties":{"user":{"allOf":[{"$ref":"#/components/schemas/UserPublic"}],"title":"User","description":"The team member"},"role":{"allOf":[{"$ref":"#/components/schemas/TeamRoleEnum"}],"description":"The role the user has within the team","example":"member"}},"type":"object","required":["user","role"],"title":"TeamMember"},"TeamMemberList":{"properties":{"page":{"type":"integer","title":"Page","description":"The current page the pagination request is on"},"per_page":{"type":"integer","title":"Per Page","description":"The number of pages per pagination request"},"next_page":{"type":"integer","title":"Next Page","description":"The next page, if this on is not the last"},"page_count":{"type":"integer","title":"Page Count","description":"The total number of pages"},"total_count":{"type":"integer","title":"Total Count","description":"The total number of resources matching the list request"},"resources":{"items":{"$ref":"#/components/schemas/TeamMember"},"type":"array","title":"Resources"}},"type":"object","required":["page","per_page","page_count","total_count","resources"],"title":"TeamMemberList","description":"A list response from a pagination request"},"TeamRoleEnum":{"type":"string","enum":["owner","member"],"title":"TeamRoleEnum","description":"An enumeration."},"TeamUpdate":{"properties":{"name":{"type":"string","title":"Name","example":"Honeybee Contributors"},"description":{"type":"string","title":"Description","example":"The Honeybee team works on all things energy modelling"}},"type":"object","required":["name"],"title":"TeamUpdate"},"TemplateFunction":{"properties":{"type":{"type":"string","pattern":"^TemplateFunction$","title":"Type","default":"TemplateFunction"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"inputs":{"items":{"anyOf":[{"$ref":"#/components/schemas/FunctionStringInput"},{"$ref":"#/components/schemas/FunctionIntegerInput"},{"$ref":"#/components/schemas/FunctionNumberInput"},{"$ref":"#/components/schemas/FunctionBooleanInput"},{"$ref":"#/components/schemas/FunctionFolderInput"},{"$ref":"#/components/schemas/FunctionFileInput"},{"$ref":"#/components/schemas/FunctionPathInput"},{"$ref":"#/components/schemas/FunctionArrayInput"},{"$ref":"#/components/schemas/FunctionJSONObjectInput"}]},"type":"array","title":"Inputs","description":"Input arguments for this function."},"outputs":{"items":{"anyOf":[{"$ref":"#/components/schemas/FunctionStringOutput"},{"$ref":"#/components/schemas/FunctionIntegerOutput"},{"$ref":"#/components/schemas/FunctionNumberOutput"},{"$ref":"#/components/schemas/FunctionBooleanOutput"},{"$ref":"#/components/schemas/FunctionFolderOutput"},{"$ref":"#/components/schemas/FunctionFileOutput"},{"$ref":"#/components/schemas/FunctionPathOutput"},{"$ref":"#/components/schemas/FunctionArrayOutput"},{"$ref":"#/components/schemas/FunctionJSONObjectOutput"}]},"type":"array","title":"Outputs","description":"List of output arguments."},"name":{"type":"string","title":"Name","description":"Function name. Must be unique within a plugin."},"description":{"type":"string","title":"Description","description":"Function description. A short human readable description for this function."},"command":{"type":"string","title":"Command","description":"Full shell command for this function. Each function accepts only one command. The command will be executed as a shell command in plugin. For running several commands after each other use && between the commands or pipe data from one to another using |"},"language":{"allOf":[{"$ref":"#/components/schemas/ScriptingLanguages"}],"description":"Programming language of the script. Currently only Python is supported.","default":"python"},"source":{"type":"string","title":"Source","description":"Source contains the source code of the script to execute."},"config":{"allOf":[{"$ref":"#/components/schemas/PluginConfig"}],"title":"Config","description":"The plugin config to use for this function"}},"type":"object","required":["name","config"],"title":"TemplateFunction","description":"Function template."},"TransactionItemTotals":{"properties":{"discount":{"type":"integer","title":"Discount"},"subtotal":{"type":"integer","title":"Subtotal"},"tax":{"type":"integer","title":"Tax"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["discount","subtotal","tax","total"],"title":"TransactionItemTotals"},"TransactionPayment":{"properties":{"payment_attempt_id":{"type":"string","title":"Payment Attempt Id"},"stored_payment_method_id":{"type":"string","title":"Stored Payment Method Id"},"payment_method_id":{"type":"string","title":"Payment Method Id"},"amount":{"type":"string","title":"Amount"},"status":{"type":"string","title":"Status"},"error_code":{"title":"Error Code"},"method_details":{"$ref":"#/components/schemas/PaymentMethodDetails"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"captured_at":{"type":"string","format":"date-time","title":"Captured At"}},"type":"object","required":["payment_attempt_id","payment_method_id","amount","status","method_details","created_at"],"title":"TransactionPayment"},"TransactionTotals":{"properties":{"subtotal":{"type":"string","title":"Subtotal"},"tax":{"type":"string","title":"Tax"},"discount":{"type":"string","title":"Discount"},"total":{"type":"string","title":"Total"},"grand_total":{"type":"string","title":"Grand Total"},"fee":{"type":"string","title":"Fee"},"credit":{"type":"string","title":"Credit"},"credit_to_balance":{"type":"string","title":"Credit To Balance"},"balance":{"type":"string","title":"Balance"},"earnings":{"type":"string","title":"Earnings"},"currency_code":{"type":"string","title":"Currency Code"}},"type":"object","required":["subtotal","tax","discount","total","grand_total","credit","credit_to_balance","balance","currency_code"],"title":"TransactionTotals"},"TrialStatusResponse":{"properties":{"did_trial":{"type":"boolean","title":"Did Trial","description":"Whether the account has previously activated a trial"},"account_id":{"type":"string","format":"uuid","title":"Account Id","description":"The ID of the account"},"product":{"type":"string","title":"Product","description":"The product for which trial status is being checked"},"trial_activated_at":{"type":"string","title":"Trial Activated At","description":"The timestamp when the trial was first activated (if did_trial is true)"}},"type":"object","required":["did_trial","account_id","product"],"title":"TrialStatusResponse","description":"Response showing whether an account has activated a trial for a specific product"},"UpdateAccepted":{"properties":{"status":{"type":"string","title":"Status","default":"accepted"}},"type":"object","title":"UpdateAccepted","description":"Accepted request response for existing resource"},"Usage":{"properties":{"start":{"type":"string","format":"date-time","title":"Start","description":"The start date for this usage aggregation"},"end":{"type":"string","format":"date-time","title":"End","description":"The end date for this usage aggregation"},"cpu":{"type":"number","title":"Cpu","description":"cpu usage","default":0},"memory":{"type":"number","title":"Memory","description":"memory usage","default":0},"succeeded":{"type":"integer","title":"Succeeded","description":"succeeded usage","default":0},"failed":{"type":"integer","title":"Failed","description":"failed usage","default":0},"daily_usage":{"items":{"$ref":"#/components/schemas/DailyUsage"},"type":"array","title":"Daily Usage","description":"daily breakdown of usage","default":[]}},"type":"object","required":["start","end"],"title":"Usage"},"UserCreate":{"properties":{"name":{"type":"string","title":"Name","description":"The display name for this user","example":"Ladybug Tools"},"picture_url":{"type":"string","maxLength":65536,"minLength":1,"format":"uri","title":"Picture Url","description":"URL to the picture associated with this user","example":"https://avatars1.githubusercontent.com/u/38131342"},"description":{"type":"string","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"},"username":{"type":"string","maxLength":30,"minLength":3,"title":"Username","description":"The unique name of the user in small case without spaces","example":"ladybugbot"}},"type":"object","required":["name","picture_url","username"],"title":"UserCreate"},"UserPermission":{"properties":{"admin":{"type":"boolean","title":"Admin","description":"The user has admin permission to this resource","default":false,"example":false},"write":{"type":"boolean","title":"Write","description":"The user has write permission on this resource","default":false,"example":false},"read":{"type":"boolean","title":"Read","description":"The user has read permission on this resource","default":false,"example":true}},"type":"object","title":"UserPermission"},"UserPrivate":{"properties":{"id":{"type":"string","title":"Id","description":"The unique ID for that user","example":"96c12d05-f1a2-4491-b0cc-c2ed473301b5"},"email":{"type":"string","title":"Email","description":"The email associated with that user","example":"ladybugbot@ladybug.tools"},"name":{"type":"string","title":"Name","description":"The display name for this user","example":"Ladybug Bot"},"username":{"type":"string","title":"Username","description":"The lowercase account name for this user","example":"ladybugbot"},"description":{"type":"string","title":"Description","description":"A short description of the user","example":"Beep Boop!"},"picture":{"type":"string","title":"Picture","description":"URL to the picture associated with this user","example":"https://avatars1.githubusercontent.com/u/38131342"}},"type":"object","required":["id","email","username"],"title":"UserPrivate"},"UserPublic":{"properties":{"name":{"type":"string","title":"Name","description":"The display name for this user","example":"Ladybug Bot"},"username":{"type":"string","title":"Username","description":"The lowercase account name for this user","example":"ladybugbot"},"description":{"type":"string","title":"Description","description":"A short description of the user","example":"Beep Boop!"},"picture":{"type":"string","title":"Picture","description":"URL to the picture associated with this user","example":"https://avatars1.githubusercontent.com/u/38131342"}},"type":"object","required":["username"],"title":"UserPublic"},"UserPublicList":{"properties":{"page":{"type":"integer","title":"Page","description":"The current page the pagination request is on"},"per_page":{"type":"integer","title":"Per Page","description":"The number of pages per pagination request"},"next_page":{"type":"integer","title":"Next Page","description":"The next page, if this on is not the last"},"page_count":{"type":"integer","title":"Page Count","description":"The total number of pages"},"total_count":{"type":"integer","title":"Total Count","description":"The total number of resources matching the list request"},"resources":{"items":{"$ref":"#/components/schemas/UserPublic"},"type":"array","title":"Resources"}},"type":"object","required":["page","per_page","page_count","total_count","resources"],"title":"UserPublicList","description":"A list response from a pagination request"},"UserUpdate":{"properties":{"name":{"type":"string","title":"Name","description":"The display name for this user","example":"Ladybug Tools"},"picture_url":{"type":"string","maxLength":65536,"minLength":1,"format":"uri","title":"Picture Url","description":"URL to the picture associated with this user","example":"https://avatars1.githubusercontent.com/u/38131342"},"description":{"type":"string","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":"object","required":["name","picture_url"],"title":"UserUpdate"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"ValueFileReference":{"properties":{"type":{"type":"string","pattern":"^ValueFileReference$","title":"Type","default":"ValueFileReference"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"path":{"type":"string","title":"Path","description":"A fixed value for this reference."}},"type":"object","required":["path"],"title":"ValueFileReference","description":"A reference to a fixed file."},"ValueFolderReference":{"properties":{"type":{"type":"string","pattern":"^ValueFolderReference$","title":"Type","default":"ValueFolderReference"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"path":{"type":"string","title":"Path","description":"A fixed value for this reference."}},"type":"object","required":["path"],"title":"ValueFolderReference","description":"A reference to a fixed folder."},"ValueListReference":{"properties":{"type":{"type":"string","pattern":"^ValueListReference$","title":"Type","default":"ValueListReference"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"value":{"items":{},"type":"array","title":"Value","description":"A fixed value for this reference."}},"type":"object","required":["value"],"title":"ValueListReference","description":"A reference to a fixed value."},"ValueReference":{"properties":{"type":{"type":"string","pattern":"^ValueReference$","title":"Type","default":"ValueReference"},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries."},"value":{"title":"Value","description":"A fixed value for this reference."}},"type":"object","required":["value"],"title":"ValueReference","description":"A reference to a fixed value."},"app__server__rest__billing__dto__PayLink":{"properties":{"url":{"type":"string","title":"Url"}},"type":"object","required":["url"],"title":"PayLink"},"app__server__rest__subscriptions__dto__PayLink":{"properties":{"url":{"type":"string","title":"Url"}},"type":"object","required":["url"],"title":"PayLink"}},"securitySchemes":{"JWTAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"},"APIKeyAuth":{"type":"apiKey","in":"header","name":"x-pollination-token"}}}}