{"openapi":"3.1.0","info":{"title":"Permit.io API","description":"\nAuthorization as a service\n","version":"2.0.0"},"paths":{"/v2/members/me":{"get":{"tags":["Members"],"summary":"Get the authenticated account member","description":"Gets the authenticated account member's details.","operationId":"get_authenticated_member","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgMemberReadWithGrants"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/members":{"get":{"tags":["Members"],"summary":"List Organization Members","description":"Lists all the account members that current active account has access to, optionally filtering by project or environment.\nThe active account/organization is determined by the API Key used or by the authenticated session id.","operationId":"list_organization_members","parameters":[{"required":false,"schema":{"type":"string","format":"uuid","title":"Project Id"},"name":"project_id","in":"query"},{"required":false,"schema":{"type":"string","format":"uuid","title":"Env Id"},"name":"env_id","in":"query"},{"description":"Page number of the results to fetch, starting at 1.","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page","description":"Page number of the results to fetch, starting at 1.","default":1},"name":"page","in":"query"},{"description":"The number of results per page (max 100).","required":false,"schema":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Per Page","description":"The number of results per page (max 100).","default":30},"name":"per_page","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/OrgMemberReadWithGrants"},"type":"array","title":"Response List Organization Members V2 Members Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Members"],"summary":"Invite new members","description":"Create an organization member if needed, and grant it permissions.\n\nThe member can be specified either by ID (for an existing member), or by email (for either an existing member or a new one).\n\nFor a new member, an invite will be sent.","operationId":"create_organization_members","parameters":[{"required":false,"schema":{"type":"string","title":"Inviter Name"},"name":"inviter_name","in":"query"},{"required":false,"schema":{"type":"string","title":"Inviter Email"},"name":"inviter_email","in":"query"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgMemberCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgMemberReadWithGrants"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["Members"],"summary":"Remove permission","description":"Remove permissions from a member. If the last permissions a member has are removed, the member is also deleted.","operationId":"delete_organization_permissions","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgMemberRemovePermissions"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/members/{member_id}":{"get":{"tags":["Members"],"summary":"Get Organization Member","description":"Gets a single account member by its id or email address. matching the given member,\nif no such member exists under the current active account (organization), returns 404.","operationId":"get_organization_member","parameters":[{"description":"Either the unique id (UUID) of the account member, or the email address of the account member.","required":true,"schema":{"type":"string","title":"Member Id","description":"Either the unique id (UUID) of the account member, or the email address of the account member."},"example":"42f0e113-219b-4bb9-ba90-e2c904761be2","name":"member_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgMemberReadWithGrants"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["Members"],"summary":"Remove member","description":"Deletes an account member matching the given id or email address.\nThe member will be removed from the active account in permit.io.\n\nIf the member is the only member in its account (organization), returns 400 (bad request),\ndue to nobody remains with access to the account, meaning deletion of the entire account (org).\nTo completely remove an account, call DELETE `/orgs/{org}`.","operationId":"delete_organization_member","parameters":[{"description":"Either the unique id (UUID) of the account member, or the email address of the account member.","required":true,"schema":{"type":"string","title":"Member Id","description":"Either the unique id (UUID) of the account member, or the email address of the account member."},"example":"42f0e113-219b-4bb9-ba90-e2c904761be2","name":"member_id","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"patch":{"tags":["Members"],"summary":"Edit members","description":"Updates an account member's settings.","operationId":"update_organization_member","parameters":[{"description":"Either the unique id (UUID) of the account member, or the email address of the account member.","required":true,"schema":{"type":"string","title":"Member Id","description":"Either the unique id (UUID) of the account member, or the email address of the account member."},"example":"42f0e113-219b-4bb9-ba90-e2c904761be2","name":"member_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgMemberUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgMemberReadWithGrants"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/api-key/{proj_id}/{env_id}":{"get":{"tags":["API Keys"],"summary":"Get Environment Api Key","operationId":"get_environment_api_key","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIKeyRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/api-key/scope":{"get":{"tags":["API Keys"],"summary":"Get Api Key Scope","operationId":"get_api_key_scope","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIKeyScopeRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/api-key":{"get":{"tags":["API Keys"],"summary":"List Api Keys","description":"Lists all the api_keys under the active organization.","operationId":"list_api_keys","parameters":[{"required":false,"schema":{"$ref":"#/components/schemas/MemberAccessObj"},"name":"object_type","in":"query"},{"description":"Optional project filter by project id or key","required":false,"schema":{"type":"string","title":"Proj Id","description":"Optional project filter by project id or key"},"name":"proj_id","in":"query"},{"description":"Page number of the results to fetch, starting at 1.","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page","description":"Page number of the results to fetch, starting at 1.","default":1},"name":"page","in":"query"},{"description":"The number of results per page (max 100).","required":false,"schema":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Per Page","description":"The number of results per page (max 100).","default":30},"name":"per_page","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResult_APIKeyRead_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["API Keys"],"summary":"Create Api Key","description":"Creates a new api_key under the active organization.","operationId":"create_api_key","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIKeyCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIKeyRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/api-key/{api_key_id}":{"get":{"tags":["API Keys"],"summary":"Get Api Key","description":"Gets a single api_key matching the given api_key_id, if such api_key exists.","operationId":"get_api_key","parameters":[{"description":"The unique id of the API key","required":true,"schema":{"type":"string","title":"Api Key Id","description":"The unique id of the API key"},"example":"42f0e113-219b-4bb9-ba90-e2c904761ce1","name":"api_key_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIKeyRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["API Keys"],"summary":"Delete Api Key","description":"Deletes the api_key and all its related data.","operationId":"delete_api_key","parameters":[{"description":"The unique id of the API key","required":true,"schema":{"type":"string","title":"Api Key Id","description":"The unique id of the API key"},"example":"42f0e113-219b-4bb9-ba90-e2c904761ce1","name":"api_key_id","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/api-key/{api_key_id}/rotate-secret":{"post":{"tags":["API Keys"],"summary":"Rotate API Key","description":"Rotates the API key of the PDP container with id `pdp_id`.\n\nThe rotation of the API key revokes the old API key and issues a new API key to the PDP.","operationId":"rotate_api_key","parameters":[{"description":"The unique id of the API key","required":true,"schema":{"type":"string","format":"uuid","title":"Api Key Id","description":"The unique id of the API key"},"example":"42f0e113-219b-4bb9-ba90-e2c904761ce1","name":"api_key_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIKeyRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/orgs":{"get":{"tags":["Organizations"],"summary":"List Organizations","description":"Lists all the organizations that can be accessed by the\nauthenticated actor (i.e: human team member or api key).","operationId":"list_organizations","parameters":[{"description":"Text search for the org name or key or id","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"string"}],"title":"Search","description":"Text search for the org name or key or id"},"name":"search","in":"query"},{"description":"Page number of the results to fetch, starting at 1.","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page","description":"Page number of the results to fetch, starting at 1.","default":1},"name":"page","in":"query"},{"description":"The number of results per page (max 100).","required":false,"schema":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Per Page","description":"The number of results per page (max 100).","default":30},"name":"per_page","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/OrganizationRead"},"type":"array","title":"Response List Organizations V2 Orgs Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Organizations"],"summary":"Create Organization","description":"If you want to create org via API, reach out to us and we will add the permission to your API token","operationId":"create_organization","parameters":[{"required":false,"schema":{"type":"string","title":"Page Full Url","default":"page_full_url"},"name":"page_full_url","in":"cookie"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationReadWithAPIKey"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/orgs/{org_id}":{"get":{"tags":["Organizations"],"summary":"Get Organization","description":"Gets a single organization (Permit.io account) matching the given org_id,\nif such org exists and can be accessed by the authenticated actor.","operationId":"get_organization","parameters":[{"description":"Either the unique id of the organization, or the URL-friendly key of the organization (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Org Id","description":"Either the unique id of the organization, or the URL-friendly key of the organization (i.e: the \"slug\")."},"example":"my_organization","name":"org_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["Organizations"],"summary":"Delete Organization","description":"Deletes an organization (Permit.io account) and all its related data.","operationId":"delete_organization","parameters":[{"description":"Either the unique id of the organization, or the URL-friendly key of the organization (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Org Id","description":"Either the unique id of the organization, or the URL-friendly key of the organization (i.e: the \"slug\")."},"example":"my_organization","name":"org_id","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"patch":{"tags":["Organizations"],"summary":"Update Organization","description":"Updates the organization's profile.","operationId":"update_organization","parameters":[{"description":"Either the unique id of the organization, or the URL-friendly key of the organization (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Org Id","description":"Either the unique id of the organization, or the URL-friendly key of the organization (i.e: the \"slug\")."},"example":"my_organization","name":"org_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/orgs/active/org":{"get":{"tags":["Organizations"],"summary":"Get Active Organization","description":"Gets a single organization (Permit.io account) matching the given org_id,\nif such org exists and can be accessed by the authenticated actor.","operationId":"get_active_organization","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/orgs/{org_id}/stats":{"get":{"tags":["Organizations"],"summary":"Stats Organization","operationId":"stats_organization","parameters":[{"description":"Either the unique id of the organization, or the URL-friendly key of the organization (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Org Id","description":"Either the unique id of the organization, or the URL-friendly key of the organization (i.e: the \"slug\")."},"example":"my_organization","name":"org_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationStats"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/orgs/{org_id}/invites":{"get":{"tags":["Invites"],"summary":"List Organization Invites","description":"Lists pending organization invites","operationId":"list_organization_invites","parameters":[{"description":"Either the unique id of the organization, or the URL-friendly key of the organization (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Org Id","description":"Either the unique id of the organization, or the URL-friendly key of the organization (i.e: the \"slug\")."},"example":"my_organization","name":"org_id","in":"path"},{"description":"Page number of the results to fetch, starting at 1.","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page","description":"Page number of the results to fetch, starting at 1.","default":1},"name":"page","in":"query"},{"description":"The number of results per page (max 100).","required":false,"schema":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Per Page","description":"The number of results per page (max 100).","default":30},"name":"per_page","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/InviteRead"},"type":"array","title":"Response List Organization Invites V2 Orgs Org Id Invites Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Invites"],"summary":"Invite Members To Organization","description":"Invite new members into the organization.","operationId":"invite_members_to_organization","parameters":[{"description":"Either the unique id of the organization, or the URL-friendly key of the organization (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Org Id","description":"Either the unique id of the organization, or the URL-friendly key of the organization (i.e: the \"slug\")."},"example":"my_organization","name":"org_id","in":"path"},{"required":false,"schema":{"type":"string","title":"Inviter Name"},"name":"inviter_name","in":"query"},{"required":false,"schema":{"type":"string","title":"Inviter Email"},"name":"inviter_email","in":"query"}],"requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/InviteCreate"},"type":"array","title":"Invites"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MultiInviteResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/orgs/{org_id}/invites/{invite_id}":{"delete":{"tags":["Invites"],"summary":"Cancel Invite","description":"Cancels an invite that was sent to a new member.","operationId":"cancel_invite","parameters":[{"description":"Either the unique id of the organization, or the URL-friendly key of the organization (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Org Id","description":"Either the unique id of the organization, or the URL-friendly key of the organization (i.e: the \"slug\")."},"example":"my_organization","name":"org_id","in":"path"},{"description":"Id of the invite to cancel","required":true,"schema":{"type":"string","format":"uuid","title":"Invite Id","description":"Id of the invite to cancel"},"name":"invite_id","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/projects":{"get":{"tags":["Projects"],"summary":"List Projects","description":"Lists all the projects under the active organization.","operationId":"list_projects","parameters":[{"description":"Page number of the results to fetch, starting at 1.","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page","description":"Page number of the results to fetch, starting at 1.","default":1},"name":"page","in":"query"},{"description":"The number of results per page (max 100).","required":false,"schema":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Per Page","description":"The number of results per page (max 100).","default":30},"name":"per_page","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ProjectRead"},"type":"array","title":"Response List Projects V2 Projects Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Projects"],"summary":"Create Project","description":"Creates a new project under the active organization.","operationId":"create_project","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/projects/{proj_id}":{"get":{"tags":["Projects"],"summary":"Get Project","description":"Gets a single project matching the given proj_id, if such project exists.","operationId":"get_project","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["Projects"],"summary":"Delete Project","description":"Deletes the project and all its related data.","operationId":"delete_project","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"patch":{"tags":["Projects"],"summary":"Update Project","description":"Updates the project.","operationId":"update_project","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/projects/{proj_id}/envs/{env_id}/stats":{"get":{"tags":["Environments"],"summary":"Stats Environments","operationId":"stats_environments","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnvironmentStats"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/projects/{proj_id}/envs":{"get":{"tags":["Environments"],"summary":"List Environments","description":"Lists all the environments under a given project.","operationId":"list_environments","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Page number of the results to fetch, starting at 1.","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page","description":"Page number of the results to fetch, starting at 1.","default":1},"name":"page","in":"query"},{"description":"The number of results per page (max 100).","required":false,"schema":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Per Page","description":"The number of results per page (max 100).","default":30},"name":"per_page","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/EnvironmentReadWithEmailConfig"},"type":"array","title":"Response List Environments V2 Projects Proj Id Envs Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Environments"],"summary":"Create Environment","description":"Creates a new environment under a given project.","operationId":"create_environment","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnvironmentCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnvironmentRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/projects/{proj_id}/envs/{env_id}":{"get":{"tags":["Environments"],"summary":"Get Environment","description":"Gets a single environment matching the given env_id, if such environment exists.","operationId":"get_environment","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnvironmentReadWithEmailConfig"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["Environments"],"summary":"Delete Environment","description":"Deletes an environment and all its related data.","operationId":"delete_environment","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"patch":{"tags":["Environments"],"summary":"Update Environment","description":"Updates the environment.","operationId":"update_environment","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnvironmentUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnvironmentRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/projects/{proj_id}/envs/{env_id}/copy":{"post":{"tags":["Environments"],"summary":"Copy Environment","description":"Copy environment\n\nThis endpoint either duplicates an existing environment to a new environment\nin the same project, or copies from an existing environment to another\nexisting environment.\n\nThe `scope` object controls which objects will be copied to the target\nenvironment.\n\nTo clone to a new environment, the user must have write permissions\nto the containing project. To clone into an existing environment,\nthe user must have write permissions to the target environment.\n\nCopying environments across projects or organizations is not\nallowed.","operationId":"copy_environment","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnvironmentCopy"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnvironmentRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/projects/{proj_id}/envs/{env_id}/copy/async":{"post":{"tags":["Environments"],"summary":"Copy Environment Async","description":"Copy environment\n\nThis endpoint either duplicates an existing environment to a new environment\nin the same project, or copies from an existing environment to another\nexisting environment.\n\nThe `scope` object controls which objects will be copied to the target\nenvironment.\n\nTo clone to a new environment, the user must have write permissions\nto the containing project. To clone into an existing environment,\nthe user must have write permissions to the target environment.\n\nCopying environments across projects or organizations is not\nallowed.","operationId":"copy_environment_async","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Time in seconds to wait for the task to complete. Default is 0, means no wait.","required":false,"schema":{"type":"number","title":"Wait","description":"Time in seconds to wait for the task to complete. Default is 0, means no wait.","default":0,"lte":60},"name":"wait","in":"query"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnvironmentCopy"}}},"required":true},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskResult_EnvironmentRead_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/projects/{proj_id}/envs/{env_id}/copy/async/{task_id}/result":{"get":{"tags":["Environments"],"summary":"Get Copy Environment Task Result","description":"Get the result of a copy environment task.","operationId":"get_copy_environment_async_result","parameters":[{"description":"The unique id of the task.","required":true,"schema":{"type":"string","title":"Task Id","description":"The unique id of the task."},"name":"task_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Time in seconds to wait for the task to complete. Default is 0, means no wait.","required":false,"schema":{"type":"number","title":"Wait","description":"Time in seconds to wait for the task to complete. Default is 0, means no wait.","default":0,"lte":60},"name":"wait","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskResult_EnvironmentRead_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/projects/{proj_id}/envs/{env_id}/test_jwks":{"post":{"tags":["Environments"],"summary":"Test Jwks By Url","description":"Test Jwks Url.","operationId":"test_jwks_by_url","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"URL of JWKs to test","required":false,"schema":{"type":"string","title":"Url","description":"URL of JWKs to test"},"name":"url","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Test Jwks By Url V2 Projects Proj Id Envs Env Id Test Jwks Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/schema/{proj_id}/{env_id}/bulk/roles":{"put":{"tags":["Bulk Operations"],"summary":"Bulk Create Or Replace Roles","description":"Create or replace roles in bulk.","operationId":"bulk_create_or_replace_roles","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleCreateBulkOperation"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleCreateBulkOperationResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/schema/{proj_id}/{env_id}/condition_sets":{"get":{"tags":["Condition Sets"],"summary":"List Condition Sets","description":"Lists all condition sets matching a filter.","operationId":"list_condition_sets","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Text search for the condition sets name or key","required":false,"schema":{"type":"string","title":"Search","description":"Text search for the condition sets name or key"},"name":"search","in":"query"},{"description":"if provided, will return only the condition sets of the specified type. e.g: only user sets.","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/ConditionSetType"}],"description":"if provided, will return only the condition sets of the specified type. e.g: only user sets."},"name":"type","in":"query"},{"description":"Include total count in response","required":false,"deprecated":true,"schema":{"type":"boolean","title":"Include Total Count","description":"Include total count in response","default":false},"name":"include_total_count","in":"query"},{"description":"Page number of the results to fetch, starting at 1.","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page","description":"Page number of the results to fetch, starting at 1.","default":1},"name":"page","in":"query"},{"description":"The number of results per page (max 100).","required":false,"schema":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Per Page","description":"The number of results per page (max 100).","default":30},"name":"per_page","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/PaginatedResult_ConditionSetRead_"},{"items":{"$ref":"#/components/schemas/ConditionSetRead"},"type":"array"}],"title":"Response List Condition Sets V2 Schema Proj Id Env Id Condition Sets Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Condition Sets"],"summary":"Create Condition Set","description":"Creates a new condition set (can be either a user set or a resource set).","operationId":"create_condition_set","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConditionSetCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConditionSetRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/schema/{proj_id}/{env_id}/condition_sets/{condition_set_id}":{"get":{"tags":["Condition Sets"],"summary":"Get Condition Set","description":"Gets a single condition set, if such condition set exists.","operationId":"get_condition_set","parameters":[{"description":"Either the unique id of the condition set, or the URL-friendly key of the condition set (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Condition Set Id","description":"Either the unique id of the condition set, or the URL-friendly key of the condition set (i.e: the \"slug\")."},"name":"condition_set_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConditionSetRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["Condition Sets"],"summary":"Delete Condition Set","description":"Deletes a condition set and all its related data.\nThis includes any permissions granted to said condition set (i.e: any matching condition set users_with_role).","operationId":"delete_condition_set","parameters":[{"description":"Either the unique id of the condition set, or the URL-friendly key of the condition set (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Condition Set Id","description":"Either the unique id of the condition set, or the URL-friendly key of the condition set (i.e: the \"slug\")."},"name":"condition_set_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"patch":{"tags":["Condition Sets"],"summary":"Update Condition Set","description":"Partially updates a condition set.\nFields that will be provided will be completely overwritten.","operationId":"update_condition_set","parameters":[{"description":"Either the unique id of the condition set, or the URL-friendly key of the condition set (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Condition Set Id","description":"Either the unique id of the condition set, or the URL-friendly key of the condition set (i.e: the \"slug\")."},"name":"condition_set_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConditionSetUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConditionSetRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/schema/{proj_id}/{env_id}/condition_sets/{condition_set_id}/ancestors":{"get":{"tags":["Condition Sets"],"summary":"Get Condition Set Ancestors","description":"Gets all ancestors (parent, parent of parent, and so on)","operationId":"get_condition_set_ancestors","parameters":[{"description":"Either the unique id of the condition set, or the URL-friendly key of the condition set (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Condition Set Id","description":"Either the unique id of the condition set, or the URL-friendly key of the condition set (i.e: the \"slug\")."},"name":"condition_set_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Page number of the results to fetch, starting at 1.","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page","description":"Page number of the results to fetch, starting at 1.","default":1},"name":"page","in":"query"},{"description":"The number of results per page (max 100).","required":false,"schema":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Per Page","description":"The number of results per page (max 100).","default":30},"name":"per_page","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ConditionSetRead"},"type":"array","title":"Response Get Condition Set Ancestors V2 Schema Proj Id Env Id Condition Sets Condition Set Id Ancestors Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/schema/{proj_id}/{env_id}/condition_sets/{condition_set_id}/descendants":{"get":{"tags":["Condition Sets"],"summary":"Get Condition Set Descendants","description":"Gets all descendants (children, children of children, and so on)","operationId":"get_condition_set_descendants","parameters":[{"description":"Either the unique id of the condition set, or the URL-friendly key of the condition set (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Condition Set Id","description":"Either the unique id of the condition set, or the URL-friendly key of the condition set (i.e: the \"slug\")."},"name":"condition_set_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Page number of the results to fetch, starting at 1.","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page","description":"Page number of the results to fetch, starting at 1.","default":1},"name":"page","in":"query"},{"description":"The number of results per page (max 100).","required":false,"schema":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Per Page","description":"The number of results per page (max 100).","default":30},"name":"per_page","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ConditionSetRead"},"type":"array","title":"Response Get Condition Set Descendants V2 Schema Proj Id Env Id Condition Sets Condition Set Id Descendants Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/schema/{proj_id}/{env_id}/resources/{resource_id}/roles/{role_id}/implicit_grants":{"post":{"tags":["Implicit Grants"],"summary":"Create Implicit Grant","description":"Creates an implicit grant on a given role","operationId":"create_implicit_grant","parameters":[{"description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Resource Id","description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\")."},"example":"my_resource","name":"resource_id","in":"path"},{"description":"Either the unique id of the role, or the URL-friendly key of the role (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Role Id","description":"Either the unique id of the role, or the URL-friendly key of the role (i.e: the \"slug\")."},"name":"role_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DerivedRoleRuleCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DerivedRoleRuleRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["Implicit Grants"],"summary":"Delete Implicit Grant","description":"Deletes an implicit grant on a given role","operationId":"delete_implicit_grant","parameters":[{"description":"Either the unique id of the role, or the URL-friendly key of the role (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Role Id","description":"Either the unique id of the role, or the URL-friendly key of the role (i.e: the \"slug\")."},"name":"role_id","in":"path"},{"description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Resource Id","description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\")."},"example":"my_resource","name":"resource_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DerivedRoleRuleDelete"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/schema/{proj_id}/{env_id}/resources/{resource_id}/roles/{role_id}/implicit_grants/conditions":{"put":{"tags":["Implicit Grants"],"summary":"Update Implicit Grants Conditions","description":"Update the `when` for implicit grants on a given role","operationId":"update_implicit_grants_conditions","parameters":[{"description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Resource Id","description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\")."},"example":"my_resource","name":"resource_id","in":"path"},{"description":"Either the unique id of the role, or the URL-friendly key of the role (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Role Id","description":"Either the unique id of the role, or the URL-friendly key of the role (i.e: the \"slug\")."},"name":"role_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/permit_backend__schemas__schema_derived_role_rule__DerivationSettings"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/permit_backend__schemas__schema_derived_role_rule__DerivationSettings"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/schema/{proj_id}/{env_id}/resources/{resource_id}/action_groups":{"get":{"tags":["Resource Action Groups"],"summary":"List Resource Action Groups","description":"Lists all the action groups defined on the resource.","operationId":"list_resource_action_groups","parameters":[{"description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Resource Id","description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\")."},"example":"my_resource","name":"resource_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Page number of the results to fetch, starting at 1.","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page","description":"Page number of the results to fetch, starting at 1.","default":1},"name":"page","in":"query"},{"description":"The number of results per page (max 100).","required":false,"schema":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Per Page","description":"The number of results per page (max 100).","default":30},"name":"per_page","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ResourceActionGroupRead"},"type":"array","title":"Response List Resource Action Groups V2 Schema Proj Id Env Id Resources Resource Id Action Groups Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Resource Action Groups"],"summary":"Create Resource Action Group","description":"Creates a new action group that can affect the resource.","operationId":"create_resource_action_group","parameters":[{"description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Resource Id","description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\")."},"example":"my_resource","name":"resource_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceActionGroupCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceActionGroupRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/schema/{proj_id}/{env_id}/resources/{resource_id}/action_groups/{action_group_id}":{"get":{"tags":["Resource Action Groups"],"summary":"Get Resource Action Group","description":"Gets a single action group defined on the resource, if such action exists.","operationId":"get_resource_action_group","parameters":[{"description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Resource Id","description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\")."},"example":"my_resource","name":"resource_id","in":"path"},{"description":"Either the unique id of the action group, or the URL-friendly key of the action group (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Action Group Id","description":"Either the unique id of the action group, or the URL-friendly key of the action group (i.e: the \"slug\")."},"example":"my_action_group","name":"action_group_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceActionGroupRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["Resource Action Groups"],"summary":"Delete Resource Action Group","description":"Deletes the action and all its related data.\nThis includes any permissions granted to perform the action.","operationId":"delete_resource_action_group","parameters":[{"description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Resource Id","description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\")."},"example":"my_resource","name":"resource_id","in":"path"},{"description":"Either the unique id of the action group, or the URL-friendly key of the action group (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Action Group Id","description":"Either the unique id of the action group, or the URL-friendly key of the action group (i.e: the \"slug\")."},"example":"my_action_group","name":"action_group_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"patch":{"tags":["Resource Action Groups"],"summary":"Update Resource Action Group","description":"Partially updates the action defined on a resource.\nFields that will be provided will be completely overwritten.","operationId":"update_resource_action_group","parameters":[{"description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Resource Id","description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\")."},"example":"my_resource","name":"resource_id","in":"path"},{"description":"Either the unique id of the action group, or the URL-friendly key of the action group (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Action Group Id","description":"Either the unique id of the action group, or the URL-friendly key of the action group (i.e: the \"slug\")."},"example":"my_action_group","name":"action_group_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceActionGroupUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceActionGroupRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/schema/{proj_id}/{env_id}/resources/{resource_id}/actions":{"get":{"tags":["Resource Actions"],"summary":"List Resource Actions","description":"Lists all the actions defined on the resource.","operationId":"list_resource_actions","parameters":[{"description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Resource Id","description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\")."},"example":"my_resource","name":"resource_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Page number of the results to fetch, starting at 1.","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page","description":"Page number of the results to fetch, starting at 1.","default":1},"name":"page","in":"query"},{"description":"The number of results per page (max 100).","required":false,"schema":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Per Page","description":"The number of results per page (max 100).","default":30},"name":"per_page","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ResourceActionRead"},"type":"array","title":"Response List Resource Actions V2 Schema Proj Id Env Id Resources Resource Id Actions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Resource Actions"],"summary":"Create Resource Action","description":"Creates a new action that can affect the resource.","operationId":"create_resource_action","parameters":[{"description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Resource Id","description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\")."},"example":"my_resource","name":"resource_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceActionCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceActionRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/schema/{proj_id}/{env_id}/resources/{resource_id}/actions/{action_id}":{"get":{"tags":["Resource Actions"],"summary":"Get Resource Action","description":"Gets a single action defined on the resource, if such action exists.","operationId":"get_resource_action","parameters":[{"description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Resource Id","description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\")."},"example":"my_resource","name":"resource_id","in":"path"},{"description":"Either the unique id of the action, or the URL-friendly key of the action (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Action Id","description":"Either the unique id of the action, or the URL-friendly key of the action (i.e: the \"slug\")."},"name":"action_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceActionRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["Resource Actions"],"summary":"Delete Resource Action","description":"Deletes the action and all its related data.\nThis includes any permissions granted to perform the action.","operationId":"delete_resource_action","parameters":[{"description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Resource Id","description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\")."},"example":"my_resource","name":"resource_id","in":"path"},{"description":"Either the unique id of the action, or the URL-friendly key of the action (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Action Id","description":"Either the unique id of the action, or the URL-friendly key of the action (i.e: the \"slug\")."},"name":"action_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"patch":{"tags":["Resource Actions"],"summary":"Update Resource Action","description":"Partially updates the action defined on a resource.\nFields that will be provided will be completely overwritten.","operationId":"update_resource_action","parameters":[{"description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Resource Id","description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\")."},"example":"my_resource","name":"resource_id","in":"path"},{"description":"Either the unique id of the action, or the URL-friendly key of the action (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Action Id","description":"Either the unique id of the action, or the URL-friendly key of the action (i.e: the \"slug\")."},"name":"action_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceActionUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceActionRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/schema/{proj_id}/{env_id}/resources/{resource_id}/attributes":{"get":{"tags":["Resource Attributes"],"summary":"List Resource Attributes","description":"Lists all the attributes defined on the resource.","operationId":"list_resource_attributes","parameters":[{"description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Resource Id","description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\")."},"example":"my_resource","name":"resource_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Page number of the results to fetch, starting at 1.","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page","description":"Page number of the results to fetch, starting at 1.","default":1},"name":"page","in":"query"},{"description":"The number of results per page (max 100).","required":false,"schema":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Per Page","description":"The number of results per page (max 100).","default":30},"name":"per_page","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ResourceAttributeRead"},"type":"array","title":"Response List Resource Attributes V2 Schema Proj Id Env Id Resources Resource Id Attributes Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Resource Attributes"],"summary":"Create Resource Attribute","description":"Creates a new attribute as part of the resource definition.","operationId":"create_resource_attribute","parameters":[{"description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Resource Id","description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\")."},"example":"my_resource","name":"resource_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceAttributeCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceAttributeRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/schema/{proj_id}/{env_id}/resources/{resource_id}/attributes/{attribute_id}":{"get":{"tags":["Resource Attributes"],"summary":"Get Resource Attribute","description":"Gets a single attribute defined on the resource, if such attribute exists.","operationId":"get_resource_attribute","parameters":[{"description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Resource Id","description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\")."},"example":"my_resource","name":"resource_id","in":"path"},{"description":"Either the unique id of the attribute, or the URL-friendly key of the attribute (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Attribute Id","description":"Either the unique id of the attribute, or the URL-friendly key of the attribute (i.e: the \"slug\")."},"name":"attribute_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceAttributeRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["Resource Attributes"],"summary":"Delete Resource Attribute","description":"Deletes the attribute and all its related data.\n\nNote: If the attribute is used by policies, removing it will cause the\nattribute to evaluate as `undefined`.","operationId":"delete_resource_attribute","parameters":[{"description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Resource Id","description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\")."},"example":"my_resource","name":"resource_id","in":"path"},{"description":"Either the unique id of the attribute, or the URL-friendly key of the attribute (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Attribute Id","description":"Either the unique id of the attribute, or the URL-friendly key of the attribute (i.e: the \"slug\")."},"name":"attribute_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Page number of the results to fetch, starting at 1.","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page","description":"Page number of the results to fetch, starting at 1.","default":1},"name":"page","in":"query"},{"description":"The number of results per page (max 100).","required":false,"schema":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Per Page","description":"The number of results per page (max 100).","default":30},"name":"per_page","in":"query"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"patch":{"tags":["Resource Attributes"],"summary":"Update Resource Attribute","description":"Partially updates the attribute defined on a resource.\nFields that will be provided will be completely overwritten.","operationId":"update_resource_attribute","parameters":[{"description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Resource Id","description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\")."},"example":"my_resource","name":"resource_id","in":"path"},{"description":"Either the unique id of the attribute, or the URL-friendly key of the attribute (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Attribute Id","description":"Either the unique id of the attribute, or the URL-friendly key of the attribute (i.e: the \"slug\")."},"name":"attribute_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceAttributeUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceAttributeRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/schema/{proj_id}/{env_id}/resources/{resource_id}/relations":{"get":{"tags":["Resource Relations"],"summary":"List Resource Relations","description":"List relations on a given resource","operationId":"list_resource_relations","parameters":[{"description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Resource Id","description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\")."},"example":"my_resource","name":"resource_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Page number of the results to fetch, starting at 1.","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page","description":"Page number of the results to fetch, starting at 1.","default":1},"name":"page","in":"query"},{"description":"The number of results per page (max 100).","required":false,"schema":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Per Page","description":"The number of results per page (max 100).","default":30},"name":"per_page","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResult_RelationRead_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Resource Relations"],"summary":"Create Resource Relation","description":"Creates a resource relation to another resource","operationId":"create_resource_relation","parameters":[{"description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Resource Id","description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\")."},"example":"my_resource","name":"resource_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RelationCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RelationRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/schema/{proj_id}/{env_id}/resources/{resource_id}/relations/{relation_id}":{"get":{"tags":["Resource Relations"],"summary":"Get Resource Relation","description":"Get a resource relation","operationId":"get_resource_relation","parameters":[{"description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Resource Id","description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\")."},"example":"my_resource","name":"resource_id","in":"path"},{"description":"Either the unique id of the relation, or the URL-friendly key of the relation (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Relation Id","description":"Either the unique id of the relation, or the URL-friendly key of the relation (i.e: the \"slug\")."},"name":"relation_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RelationRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["Resource Relations"],"summary":"Delete Resource Relation","description":"Deletes a resource relation","operationId":"delete_resource_relation","parameters":[{"description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Resource Id","description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\")."},"example":"my_resource","name":"resource_id","in":"path"},{"description":"Either the unique id of the relation, or the URL-friendly key of the relation (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Relation Id","description":"Either the unique id of the relation, or the URL-friendly key of the relation (i.e: the \"slug\")."},"name":"relation_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/schema/{proj_id}/{env_id}/resources/{resource_id}/roles":{"get":{"tags":["Resource Roles"],"summary":"List Resource Roles","description":"Lists all the roles defined on the resource.","operationId":"list_resource_roles","parameters":[{"description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Resource Id","description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\")."},"example":"my_resource","name":"resource_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Page number of the results to fetch, starting at 1.","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page","description":"Page number of the results to fetch, starting at 1.","default":1},"name":"page","in":"query"},{"description":"The number of results per page (max 100).","required":false,"schema":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Per Page","description":"The number of results per page (max 100).","default":30},"name":"per_page","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ResourceRoleRead"},"type":"array","title":"Response List Resource Roles V2 Schema Proj Id Env Id Resources Resource Id Roles Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Resource Roles"],"summary":"Create Resource Role","description":"Creates a new role associated with the resource.","operationId":"create_resource_role","parameters":[{"description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Resource Id","description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\")."},"example":"my_resource","name":"resource_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceRoleCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceRoleRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/schema/{proj_id}/{env_id}/resources/{resource_id}/roles/{role_id}":{"get":{"tags":["Resource Roles"],"summary":"Get Resource Role","description":"Gets a single role defined on the resource, if such role exists.","operationId":"get_resource_role","parameters":[{"description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Resource Id","description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\")."},"example":"my_resource","name":"resource_id","in":"path"},{"description":"Either the unique id of the role, or the URL-friendly key of the role (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Role Id","description":"Either the unique id of the role, or the URL-friendly key of the role (i.e: the \"slug\")."},"name":"role_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceRoleRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["Resource Roles"],"summary":"Delete Resource Role","description":"Deletes the role and all its related data.\nThis includes any permissions granted to said role.","operationId":"delete_resource_role","parameters":[{"description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Resource Id","description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\")."},"example":"my_resource","name":"resource_id","in":"path"},{"description":"Either the unique id of the role, or the URL-friendly key of the role (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Role Id","description":"Either the unique id of the role, or the URL-friendly key of the role (i.e: the \"slug\")."},"name":"role_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"patch":{"tags":["Resource Roles"],"summary":"Update Resource Role","description":"Partially updates the role defined on a resource.\nFields that will be provided will be completely overwritten.","operationId":"update_resource_role","parameters":[{"description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Resource Id","description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\")."},"example":"my_resource","name":"resource_id","in":"path"},{"description":"Either the unique id of the role, or the URL-friendly key of the role (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Role Id","description":"Either the unique id of the role, or the URL-friendly key of the role (i.e: the \"slug\")."},"name":"role_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceRoleUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceRoleRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/schema/{proj_id}/{env_id}/resources/{resource_id}/roles/{role_id}/permissions":{"post":{"tags":["Resource Roles"],"summary":"Assign Permissions to Role","description":"Assign permissions to role.\n\nIf some of the permissions specified are already assigned, will skip them.","operationId":"assign_permissions_to_resource_role","parameters":[{"description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Resource Id","description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\")."},"example":"my_resource","name":"resource_id","in":"path"},{"description":"Either the unique id of the role, or the URL-friendly key of the role (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Role Id","description":"Either the unique id of the role, or the URL-friendly key of the role (i.e: the \"slug\")."},"name":"role_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddRolePermissions"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceRoleRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["Resource Roles"],"summary":"Remove Permissions from Role","description":"Remove permissions from role.\n\nIf some of the permissions specified are already unassigned, will skip them.","operationId":"remove_permissions_from_resource_role","parameters":[{"description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Resource Id","description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\")."},"example":"my_resource","name":"resource_id","in":"path"},{"description":"Either the unique id of the role, or the URL-friendly key of the role (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Role Id","description":"Either the unique id of the role, or the URL-friendly key of the role (i.e: the \"slug\")."},"name":"role_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoveRolePermissions"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceRoleRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/schema/{proj_id}/{env_id}/resources/{resource_id}/roles/{role_id}/ancestors":{"get":{"tags":["Resource Roles"],"summary":"Get Resource Role Ancestors","operationId":"get_resource_role_ancestors","parameters":[{"description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Resource Id","description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\")."},"example":"my_resource","name":"resource_id","in":"path"},{"description":"Either the unique id of the role, or the URL-friendly key of the role (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Role Id","description":"Either the unique id of the role, or the URL-friendly key of the role (i.e: the \"slug\")."},"name":"role_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceRoleList"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/schema/{proj_id}/{env_id}/resources/{resource_id}/roles/{role_id}/descendants":{"get":{"tags":["Resource Roles"],"summary":"Get Resource Role Descendants","operationId":"get_resource_role_descendants","parameters":[{"description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Resource Id","description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\")."},"example":"my_resource","name":"resource_id","in":"path"},{"description":"Either the unique id of the role, or the URL-friendly key of the role (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Role Id","description":"Either the unique id of the role, or the URL-friendly key of the role (i.e: the \"slug\")."},"name":"role_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceRoleList"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/schema/{proj_id}/{env_id}/resources":{"get":{"tags":["Resources"],"summary":"List Resources","description":"Lists all the resources defined in your schema.","operationId":"list_resources","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Whether to include or exclude built-in resources, default is False","required":false,"schema":{"type":"boolean","title":"Include Built In","description":"Whether to include or exclude built-in resources, default is False","default":false},"name":"include_built_in","in":"query"},{"description":"Include total count in response","required":false,"deprecated":true,"schema":{"type":"boolean","title":"Include Total Count","description":"Include total count in response","default":false},"name":"include_total_count","in":"query"},{"description":"Page number of the results to fetch, starting at 1.","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page","description":"Page number of the results to fetch, starting at 1.","default":1},"name":"page","in":"query"},{"description":"The number of results per page (max 100).","required":false,"schema":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Per Page","description":"The number of results per page (max 100).","default":30},"name":"per_page","in":"query"},{"description":"Text search for the object name or key","required":false,"schema":{"type":"string","title":"Search","description":"Text search for the object name or key"},"name":"search","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/PaginatedResult_ResourceRead_"},{"items":{"$ref":"#/components/schemas/ResourceRead"},"type":"array"}],"title":"Response List Resources V2 Schema Proj Id Env Id Resources Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Resources"],"summary":"Create Resource","description":"Creates a new resource (a type of object you may protect with permissions).","operationId":"create_resource","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/schema/{proj_id}/{env_id}/resources/{resource_id}":{"get":{"tags":["Resources"],"summary":"Get Resource","description":"Gets a single resource, if such resource exists.","operationId":"get_resource","parameters":[{"description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Resource Id","description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\")."},"example":"my_resource","name":"resource_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"put":{"tags":["Resources"],"summary":"Replace Resource","description":"Replaces the resource definition, or creates it if it doesn't exist.\n\n- If some actions are removed or renamed from the resource definition,\nrole and permissions assignments for these actions will be revoked.","operationId":"replace_resource","parameters":[{"description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Resource Id","description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\")."},"example":"my_resource","name":"resource_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceReplace"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["Resources"],"summary":"Delete Resource","description":"Deletes the resource and all its related data.","operationId":"delete_resource","parameters":[{"description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Resource Id","description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\")."},"example":"my_resource","name":"resource_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"patch":{"tags":["Resources"],"summary":"Update Resource","description":"Partially updates the resource definition.\nFields that will be provided will be completely overwritten.","operationId":"update_resource","parameters":[{"description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Resource Id","description":"Either the unique id of the resource, or the URL-friendly key of the resource (i.e: the \"slug\")."},"example":"my_resource","name":"resource_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/schema/{proj_id}/{env_id}/roles":{"get":{"tags":["Roles"],"summary":"List Roles","description":"Lists all tenant roles.","operationId":"list_roles","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Include total count in response","required":false,"deprecated":true,"schema":{"type":"boolean","title":"Include Total Count","description":"Include total count in response","default":false},"name":"include_total_count","in":"query"},{"description":"Page number of the results to fetch, starting at 1.","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page","description":"Page number of the results to fetch, starting at 1.","default":1},"name":"page","in":"query"},{"description":"The number of results per page (max 100).","required":false,"schema":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Per Page","description":"The number of results per page (max 100).","default":30},"name":"per_page","in":"query"},{"description":"Text search for the object name or key","required":false,"schema":{"type":"string","title":"Search","description":"Text search for the object name or key"},"name":"search","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/PaginatedResult_RoleRead_"},{"items":{"$ref":"#/components/schemas/RoleRead"},"type":"array"}],"title":"Response List Roles V2 Schema Proj Id Env Id Roles Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Roles"],"summary":"Create Role","description":"Creates a new tenant role.","operationId":"create_role","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/schema/{proj_id}/{env_id}/roles/{role_id}":{"get":{"tags":["Roles"],"summary":"Get Role","description":"Gets a single tenant role, if such role exists.","operationId":"get_role","parameters":[{"description":"Either the unique id of the role, or the URL-friendly key of the role (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Role Id","description":"Either the unique id of the role, or the URL-friendly key of the role (i.e: the \"slug\")."},"name":"role_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["Roles"],"summary":"Delete Role","description":"Deletes a tenant role and all its related data.\nThis includes any permissions granted to said role.","operationId":"delete_role","parameters":[{"description":"Either the unique id of the role, or the URL-friendly key of the role (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Role Id","description":"Either the unique id of the role, or the URL-friendly key of the role (i.e: the \"slug\")."},"name":"role_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"patch":{"tags":["Roles"],"summary":"Update Role","description":"Partially updates a tenant role.\nFields that will be provided will be completely overwritten.","operationId":"update_role","parameters":[{"description":"Either the unique id of the role, or the URL-friendly key of the role (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Role Id","description":"Either the unique id of the role, or the URL-friendly key of the role (i.e: the \"slug\")."},"name":"role_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/schema/{proj_id}/{env_id}/roles/{role_id}/permissions":{"post":{"tags":["Roles"],"summary":"Assign Permissions To Role","description":"Assign permissions to role.\n\nIf some of the permissions specified are already assigned, will skip them.","operationId":"assign_permissions_to_role","parameters":[{"description":"Either the unique id of the role, or the URL-friendly key of the role (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Role Id","description":"Either the unique id of the role, or the URL-friendly key of the role (i.e: the \"slug\")."},"name":"role_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddRolePermissions"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["Roles"],"summary":"Remove Permissions From Role","description":"Remove permissions from role.\n\nIf some of the permissions specified are already unassigned, will skip them.","operationId":"remove_permissions_from_role","parameters":[{"description":"Either the unique id of the role, or the URL-friendly key of the role (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Role Id","description":"Either the unique id of the role, or the URL-friendly key of the role (i.e: the \"slug\")."},"name":"role_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoveRolePermissions"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/schema/{proj_id}/{env_id}/roles/{role_id}/ancestors":{"get":{"tags":["Roles"],"summary":"Get Role Ancestors","operationId":"get_role_ancestors","parameters":[{"description":"Either the unique id of the role, or the URL-friendly key of the role (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Role Id","description":"Either the unique id of the role, or the URL-friendly key of the role (i.e: the \"slug\")."},"name":"role_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleList"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/schema/{proj_id}/{env_id}/roles/{role_id}/descendants":{"get":{"tags":["Roles"],"summary":"Get Role Descendants","operationId":"get_role_descendants","parameters":[{"description":"Either the unique id of the role, or the URL-friendly key of the role (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Role Id","description":"Either the unique id of the role, or the URL-friendly key of the role (i.e: the \"slug\")."},"name":"role_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleList"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/schema/{proj_id}/{env_id}/users/attributes":{"get":{"tags":["User Attributes"],"summary":"List User Attributes","description":"Lists all the attributes defined on the User resource.","operationId":"list_user_attributes","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"required":false,"schema":{"type":"string","title":"Resource Id","default":"__user"},"name":"resource_id","in":"query"},{"description":"Page number of the results to fetch, starting at 1.","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page","description":"Page number of the results to fetch, starting at 1.","default":1},"name":"page","in":"query"},{"description":"The number of results per page (max 100).","required":false,"schema":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Per Page","description":"The number of results per page (max 100).","default":30},"name":"per_page","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ResourceAttributeRead"},"type":"array","title":"Response List User Attributes V2 Schema Proj Id Env Id Users Attributes Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["User Attributes"],"summary":"Create User Attribute","description":"Creates a new attribute for the User resource.","operationId":"create_user_attribute","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"required":false,"schema":{"type":"string","title":"Resource Id","default":"__user"},"name":"resource_id","in":"query"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceAttributeCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceAttributeRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/schema/{proj_id}/{env_id}/users/attributes/{attribute_id}":{"get":{"tags":["User Attributes"],"summary":"Get User Attribute","description":"Gets a single attribute defined on the User resource, if such attribute exists.","operationId":"get_user_attribute","parameters":[{"description":"Either the unique id of the attribute, or the URL-friendly key of the attribute (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Attribute Id","description":"Either the unique id of the attribute, or the URL-friendly key of the attribute (i.e: the \"slug\")."},"name":"attribute_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"required":false,"schema":{"type":"string","title":"Resource Id","default":"__user"},"name":"resource_id","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceAttributeRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["User Attributes"],"summary":"Delete User Attribute","description":"Deletes the attribute and all its related data.\n\nNote: If the attribute is used by policies, removing it will cause the\nattribute to evaluate as `undefined`.","operationId":"delete_user_attribute","parameters":[{"description":"Either the unique id of the attribute, or the URL-friendly key of the attribute (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Attribute Id","description":"Either the unique id of the attribute, or the URL-friendly key of the attribute (i.e: the \"slug\")."},"name":"attribute_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"required":false,"schema":{"type":"string","title":"Resource Id","default":"__user"},"name":"resource_id","in":"query"},{"description":"Page number of the results to fetch, starting at 1.","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page","description":"Page number of the results to fetch, starting at 1.","default":1},"name":"page","in":"query"},{"description":"The number of results per page (max 100).","required":false,"schema":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Per Page","description":"The number of results per page (max 100).","default":30},"name":"per_page","in":"query"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"patch":{"tags":["User Attributes"],"summary":"Update User Attribute","description":"Partially updates the attribute defined on the User resource.\nFields that will be provided will be completely overwritten.","operationId":"update_user_attribute","parameters":[{"description":"Either the unique id of the attribute, or the URL-friendly key of the attribute (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Attribute Id","description":"Either the unique id of the attribute, or the URL-friendly key of the attribute (i.e: the \"slug\")."},"name":"attribute_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"required":false,"schema":{"type":"string","title":"Resource Id","default":"__user"},"name":"resource_id","in":"query"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceAttributeUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceAttributeRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/schema/{proj_id}/{env_id}/groups/direct":{"get":{"tags":["Groups"],"summary":"List Direct Group","description":"Paginated list of groups with various filters.","operationId":"list_direct_group","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"The tenant key or id to filter by","required":false,"schema":{"type":"string","title":"Tenant","description":"The tenant key or id to filter by"},"name":"tenant","in":"query"},{"description":"The resource key or id to filter by","required":false,"schema":{"type":"string","title":"Resource","description":"The resource key or id to filter by"},"name":"resource","in":"query"},{"description":"Page number of the results to fetch, starting at 1.","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page","description":"Page number of the results to fetch, starting at 1.","default":1},"name":"page","in":"query"},{"description":"The number of results per page (max 100).","required":false,"schema":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Per Page","description":"The number of results per page (max 100).","default":30},"name":"per_page","in":"query"},{"description":"Text search for the object name or key","required":false,"schema":{"type":"string","title":"Search","description":"Text search for the object name or key"},"name":"search","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResult_GroupReadSchema_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/schema/{proj_id}/{env_id}/groups/direct/{group_instance_key}":{"get":{"tags":["Groups"],"summary":"Get Direct Group","description":"Retrieve a specific group by its instance key.","operationId":"get_direct_group","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Either the unique id of the resource instance, or the URL-friendly key of the resource instance (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Group Instance Key","description":"Either the unique id of the resource instance, or the URL-friendly key of the resource instance (i.e: the \"slug\")."},"example":"my_instance_group","name":"group_instance_key","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupReadSchema"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/schema/{proj_id}/{env_id}/groups/{group_instance_key}/children":{"get":{"tags":["Groups"],"summary":"List group children (EAP)","description":"List group children of a specific group.","operationId":"list_group_children","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Either the unique id of the resource instance, or the URL-friendly key of the resource instance (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Group Instance Key","description":"Either the unique id of the resource instance, or the URL-friendly key of the resource instance (i.e: the \"slug\")."},"example":"my_instance_group","name":"group_instance_key","in":"path"},{"description":"Page number of the results to fetch, starting at 1.","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page","description":"Page number of the results to fetch, starting at 1.","default":1},"name":"page","in":"query"},{"description":"The number of results per page (max 100).","required":false,"schema":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Per Page","description":"The number of results per page (max 100).","default":30},"name":"per_page","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResult_GroupReadSchema_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/schema/{proj_id}/{env_id}/groups/{group_instance_key}/parents":{"get":{"tags":["Groups"],"summary":"List group parents (EAP)","description":"List group parents of a specific group.","operationId":"list_group_parents","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Either the unique id of the resource instance, or the URL-friendly key of the resource instance (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Group Instance Key","description":"Either the unique id of the resource instance, or the URL-friendly key of the resource instance (i.e: the \"slug\")."},"example":"my_instance_group","name":"group_instance_key","in":"path"},{"description":"Page number of the results to fetch, starting at 1.","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page","description":"Page number of the results to fetch, starting at 1.","default":1},"name":"page","in":"query"},{"description":"The number of results per page (max 100).","required":false,"schema":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Per Page","description":"The number of results per page (max 100).","default":30},"name":"per_page","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResult_GroupReadSchema_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/schema/{proj_id}/{env_id}/groups/{group_instance_key}/users":{"get":{"tags":["Groups"],"summary":"List group users (EAP)","description":"Paginated list of all users in a group.","operationId":"list_group_users","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Either the unique id of the resource instance, or the URL-friendly key of the resource instance (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Group Instance Key","description":"Either the unique id of the resource instance, or the URL-friendly key of the resource instance (i.e: the \"slug\")."},"example":"my_instance_group","name":"group_instance_key","in":"path"},{"description":"Page number of the results to fetch, starting at 1.","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page","description":"Page number of the results to fetch, starting at 1.","default":1},"name":"page","in":"query"},{"description":"The number of results per page (max 100).","required":false,"schema":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Per Page","description":"The number of results per page (max 100).","default":30},"name":"per_page","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResult_GroupUserReadSchema_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/schema/{proj_id}/{env_id}/groups/{group_instance_key}/roles":{"get":{"tags":["Groups"],"summary":"List group roles (EAP)","description":"Paginated list of all roles assigned to a group.","operationId":"list_group_roles","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Either the unique id of the resource instance, or the URL-friendly key of the resource instance (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Group Instance Key","description":"Either the unique id of the resource instance, or the URL-friendly key of the resource instance (i.e: the \"slug\")."},"example":"my_instance_group","name":"group_instance_key","in":"path"},{"description":"Page number of the results to fetch, starting at 1.","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page","description":"Page number of the results to fetch, starting at 1.","default":1},"name":"page","in":"query"},{"description":"The number of results per page (max 100).","required":false,"schema":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Per Page","description":"The number of results per page (max 100).","default":30},"name":"per_page","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResult_GroupRoleReadSchema_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Groups"],"summary":"Assign Role To Group","description":"Assign a role to a group -\nIt will create relation between the group and the resource, relationship between the resource instances and derivation from the member role to this role.","operationId":"assign_role_to_group","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Either the unique id of the resource instance, or the URL-friendly key of the resource instance (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Group Instance Key","description":"Either the unique id of the resource instance, or the URL-friendly key of the resource instance (i.e: the \"slug\")."},"example":"my_instance_group","name":"group_instance_key","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupAddRole"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["Groups"],"summary":"Remove Role From Group","description":"Remove a role from a group-\nIt will remove the derivation from the member role to this role.","operationId":"remove_role_from_group","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Either the unique id of the resource instance, or the URL-friendly key of the resource instance (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Group Instance Key","description":"Either the unique id of the resource instance, or the URL-friendly key of the resource instance (i.e: the \"slug\")."},"example":"my_instance_group","name":"group_instance_key","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupAddRole"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/schema/{proj_id}/{env_id}/groups/{group_instance_key}":{"get":{"tags":["Groups"],"summary":"Get Group","description":"Retrieve a specific group by its instance key.","operationId":"get_group","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Either the unique id of the resource instance, or the URL-friendly key of the resource instance (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Group Instance Key","description":"Either the unique id of the resource instance, or the URL-friendly key of the resource instance (i.e: the \"slug\")."},"example":"my_instance_group","name":"group_instance_key","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"deprecated":true,"security":[{"HTTPBearer":[]}]},"delete":{"tags":["Groups"],"summary":"Delete Group","description":"Delete a group by its instance key.","operationId":"delete_group","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Either the unique id of the resource instance, or the URL-friendly key of the resource instance (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Group Instance Key","description":"Either the unique id of the resource instance, or the URL-friendly key of the resource instance (i.e: the \"slug\")."},"example":"my_instance_group","name":"group_instance_key","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/schema/{proj_id}/{env_id}/groups":{"get":{"tags":["Groups"],"summary":"List Group","description":"List all groups.","operationId":"list_group","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"The tenant key or id to filter by","required":false,"schema":{"type":"string","title":"Tenant","description":"The tenant key or id to filter by"},"name":"tenant","in":"query"},{"description":"The resource key or id to filter by","required":false,"schema":{"type":"string","title":"Resource","description":"The resource key or id to filter by"},"name":"resource","in":"query"},{"description":"Include total count in response(will make the request slower)","required":false,"deprecated":true,"schema":{"type":"boolean","title":"Include Total Count","description":"Include total count in response(will make the request slower)","default":false},"name":"include_total_count","in":"query"},{"description":"Page number of the results to fetch, starting at 1.","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page","description":"Page number of the results to fetch, starting at 1.","default":1},"name":"page","in":"query"},{"description":"The number of results per page (max 100).","required":false,"schema":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Per Page","description":"The number of results per page (max 100).","default":30},"name":"per_page","in":"query"},{"description":"Text search for the object name or key","required":false,"schema":{"type":"string","title":"Search","description":"Text search for the object name or key"},"name":"search","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/GroupRead"},"type":"array","title":"Response List Group V2 Schema Proj Id Env Id Groups Get","description":"List of Groups"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"deprecated":true,"security":[{"HTTPBearer":[]}]},"post":{"tags":["Groups"],"summary":"Create Group","description":"Create a new group.","operationId":"create_group","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/schema/{proj_id}/{env_id}/groups/{group_instance_key}/users/{user_id}":{"put":{"tags":["Groups"],"summary":"Assign User To Group","description":"Assign a user to a group -\nThis user will inherit the group's roles.","operationId":"assign_user_to_group","parameters":[{"description":"Either the unique id of the user, or the URL-friendly key of the user (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"User Id","description":"Either the unique id of the user, or the URL-friendly key of the user (i.e: the \"slug\")."},"example":"my_user","name":"user_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Either the unique id of the resource instance, or the URL-friendly key of the resource instance (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Group Instance Key","description":"Either the unique id of the resource instance, or the URL-friendly key of the resource instance (i.e: the \"slug\")."},"example":"my_instance_group","name":"group_instance_key","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupAssignUser"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["Groups"],"summary":"Remove User From Group","description":"Remove a user from a group-\nThis user will be removed from the member role of the group, and will no longer inherit the group's roles.","operationId":"remove_user_from_group","parameters":[{"description":"Either the unique id of the user, or the URL-friendly key of the user (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"User Id","description":"Either the unique id of the user, or the URL-friendly key of the user (i.e: the \"slug\")."},"example":"my_user","name":"user_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Either the unique id of the resource instance, or the URL-friendly key of the resource instance (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Group Instance Key","description":"Either the unique id of the resource instance, or the URL-friendly key of the resource instance (i.e: the \"slug\")."},"example":"my_instance_group","name":"group_instance_key","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupAssignUser"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/schema/{proj_id}/{env_id}/groups/{group_instance_key}/assign_group":{"put":{"tags":["Groups"],"summary":"Assign Group To Group","description":"Assign a group to a group -\nThis group will inherit the group's roles.","operationId":"assign_group_to_group","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Either the unique id of the resource instance, or the URL-friendly key of the resource instance (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Group Instance Key","description":"Either the unique id of the resource instance, or the URL-friendly key of the resource instance (i.e: the \"slug\")."},"example":"my_instance_group","name":"group_instance_key","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupAssignment"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["Groups"],"summary":"Remove Group From Group","description":"Remove a group from a group-\nThis group will be removed from the member role of the group, and will no longer inherit the group's roles.","operationId":"remove_group_from_group","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Either the unique id of the resource instance, or the URL-friendly key of the resource instance (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Group Instance Key","description":"Either the unique id of the resource instance, or the URL-friendly key of the resource instance (i.e: the \"slug\")."},"example":"my_instance_group","name":"group_instance_key","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupAssignment"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/facts/{proj_id}/{env_id}/users":{"get":{"tags":["Users"],"summary":"List Users","description":"Lists all the users defined within an environment.","operationId":"list_users","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Text search for the user","required":false,"schema":{"type":"string","title":"Search","description":"Text search for the user"},"name":"search","in":"query"},{"description":"The search operator to use. `contains` performs a substring match on email, key, first_name, and last_name. `startswith` performs a prefix match on email, key, first_name, and last_name.","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/SearchOperator"}],"description":"The search operator to use. `contains` performs a substring match on email, key, first_name, and last_name. `startswith` performs a prefix match on email, key, first_name, and last_name.","default":"contains"},"name":"search_operator","in":"query"},{"description":"Match users with a specific role. To filter users without any roles, send an empty string.","required":false,"schema":{"type":"string","title":"Role","description":"Match users with a specific role. To filter users without any roles, send an empty string."},"name":"role","in":"query"},{"description":"Should add resource instance roles","required":false,"schema":{"type":"boolean","title":"Include Resource Instance Roles","description":"Should add resource instance roles","default":false},"name":"include_resource_instance_roles","in":"query"},{"description":"Page number of the results to fetch, starting at 1.","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page","description":"Page number of the results to fetch, starting at 1.","default":1},"name":"page","in":"query"},{"description":"The number of results per page (max 100).","required":false,"schema":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Per Page","description":"The number of results per page (max 100).","default":30},"name":"per_page","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResult_UserRead_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Users"],"summary":"Create User","description":"Creates a new user inside the Permit.io system, from that point forward\nyou may run permission checks on that user.\n\nReturns 201 if the user is created, 409 if the user already exists.\nUser is identified by its key, and you can only create one user with the same key inside a Permit environment.","operationId":"create_user","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/facts/{proj_id}/{env_id}/users/{user_id}":{"get":{"tags":["Users"],"summary":"Get User","description":"Gets a user, if such user exists. Otherwise returns 404.","operationId":"get_user","parameters":[{"description":"Either the unique id of the user, or the URL-friendly key of the user (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"User Id","description":"Either the unique id of the user, or the URL-friendly key of the user (i.e: the \"slug\")."},"name":"user_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"put":{"tags":["Users"],"summary":"Replace User","description":"Replace User / Sync User upsert a user in the system.\nIf the user already exists, it will update the user with the new data.\nIf the user does not exist, it will create a new user with the provided data.\n\nThe user is identified by its key, and you can only create one user with the same key inside a Permit environment.\nA 200 status code will be returned if the user already exists, and a 201 status code will be returned if the user is created.","operationId":"replace_user","parameters":[{"description":"Either the unique id of the user, or the URL-friendly key of the user (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"User Id","description":"Either the unique id of the user, or the URL-friendly key of the user (i.e: the \"slug\")."},"name":"user_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCreate"}}},"required":true},"responses":{"200":{"description":"An existing user was replaced","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRead"}}}},"201":{"description":"An new user was created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["Users"],"summary":"Delete User","description":"Deletes the user and all its related data.","operationId":"delete_user","parameters":[{"description":"Either the unique id of the user, or the URL-friendly key of the user (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"User Id","description":"Either the unique id of the user, or the URL-friendly key of the user (i.e: the \"slug\")."},"name":"user_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"patch":{"tags":["Users"],"summary":"Update User","description":"Partially updates the user definition.\nFields that will be provided will be completely overwritten.","operationId":"update_user","parameters":[{"description":"Either the unique id of the user, or the URL-friendly key of the user (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"User Id","description":"Either the unique id of the user, or the URL-friendly key of the user (i.e: the \"slug\")."},"name":"user_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/facts/{proj_id}/{env_id}/users/{user_id}/roles":{"post":{"tags":["Users"],"summary":"Assign Role To User","description":"Assigns a role to the user within the tenant.\n\nThe tenant defines the scope of the assignment. In other words, the role is effective only within the tenant.","operationId":"assign_role_to_user","parameters":[{"description":"Either the unique id of the user, or the URL-friendly key of the user (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"User Id","description":"Either the unique id of the user, or the URL-friendly key of the user (i.e: the \"slug\")."},"name":"user_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRoleCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleAssignmentRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["Users"],"summary":"Unassign Role From User","description":"Unassigns the role from the user within the tenant.\n\nThe tenant defines the scope of the assignment. In other words, the role is effective only within the tenant.\n\nIf the role is not actually assigned, will return 404.","operationId":"unassign_role_from_user","parameters":[{"description":"Either the unique id of the user, or the URL-friendly key of the user (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"User Id","description":"Either the unique id of the user, or the URL-friendly key of the user (i.e: the \"slug\")."},"name":"user_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Whether to return the deleted role assignment, status code will be 200 instead of the default 204 if true","required":false,"deprecated":true,"schema":{"type":"boolean","title":"Return Deleted","description":"Whether to return the deleted role assignment, status code will be 200 instead of the default 204 if true","default":false},"name":"return_deleted","in":"query"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRoleRemove"}}},"required":true},"responses":{"200":{"description":"Role assignment removed successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleAssignmentRead"}}}},"204":{"description":"Role assignment removed successfully"},"404":{"description":"Role assignment not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/facts/{proj_id}/{env_id}/tenants/{tenant_id}/users":{"get":{"tags":["Tenants"],"summary":"List Tenant Users","operationId":"list_tenant_users","parameters":[{"description":"Either the unique id of the tenant, or the URL-friendly key of the tenant (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Tenant Id","description":"Either the unique id of the tenant, or the URL-friendly key of the tenant (i.e: the \"slug\")."},"example":"my_tenant","name":"tenant_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Text search for the email field","required":false,"schema":{"type":"string","title":"Search","description":"Text search for the email field"},"name":"search","in":"query"},{"description":"Match users with a specific role","required":false,"schema":{"type":"string","title":"Role","description":"Match users with a specific role"},"name":"role","in":"query"},{"description":"Should add resource instance roles","required":false,"schema":{"type":"boolean","title":"Include Resource Instance Roles","description":"Should add resource instance roles","default":false},"name":"include_resource_instance_roles","in":"query"},{"description":"Page number of the results to fetch, starting at 1.","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page","description":"Page number of the results to fetch, starting at 1.","default":1},"name":"page","in":"query"},{"description":"The number of results per page (max 100).","required":false,"schema":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Per Page","description":"The number of results per page (max 100).","default":30},"name":"per_page","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResult_UserRead_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Tenants"],"summary":"Add User To Tenant","description":"Create and add user to a tenant.","operationId":"add_user_to_tenant","parameters":[{"description":"Either the unique id of the tenant, or the URL-friendly key of the tenant (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Tenant Id","description":"Either the unique id of the tenant, or the URL-friendly key of the tenant (i.e: the \"slug\")."},"example":"my_tenant","name":"tenant_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/facts/{proj_id}/{env_id}/tenants":{"get":{"tags":["Tenants"],"summary":"List Tenants","description":"Lists all the tenants defined within an env.","operationId":"list_tenants","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Text search for the tenant name or key","required":false,"schema":{"type":"string","title":"Search","description":"Text search for the tenant name or key"},"name":"search","in":"query"},{"description":"Include total count in response","required":false,"deprecated":true,"schema":{"type":"boolean","title":"Include Total Count","description":"Include total count in response","default":false},"name":"include_total_count","in":"query"},{"description":"Page number of the results to fetch, starting at 1.","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page","description":"Page number of the results to fetch, starting at 1.","default":1},"name":"page","in":"query"},{"description":"The number of results per page (max 100).","required":false,"schema":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Per Page","description":"The number of results per page (max 100).","default":30},"name":"per_page","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/PaginatedResult_TenantRead_"},{"items":{"$ref":"#/components/schemas/TenantRead"},"type":"array"}],"title":"Response List Tenants V2 Facts Proj Id Env Id Tenants Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Tenants"],"summary":"Create Tenant","description":"Creates a new tenant inside the Permit.io system.\n\nIf the tenant is already created: will return 200 instead of 201,\nand will return the existing tenant object in the response body.","operationId":"create_tenant","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TenantCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TenantRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/facts/{proj_id}/{env_id}/tenants/{tenant_id}":{"get":{"tags":["Tenants"],"summary":"Get Tenant","description":"Gets a tenant, if such tenant exists. Otherwise returns 404.","operationId":"get_tenant","parameters":[{"description":"Either the unique id of the tenant, or the URL-friendly key of the tenant (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Tenant Id","description":"Either the unique id of the tenant, or the URL-friendly key of the tenant (i.e: the \"slug\")."},"example":"my_tenant","name":"tenant_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TenantRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["Tenants"],"summary":"Delete Tenant","description":"Deletes the tenant and all its related data.","operationId":"delete_tenant","parameters":[{"description":"Either the unique id of the tenant, or the URL-friendly key of the tenant (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Tenant Id","description":"Either the unique id of the tenant, or the URL-friendly key of the tenant (i.e: the \"slug\")."},"example":"my_tenant","name":"tenant_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"patch":{"tags":["Tenants"],"summary":"Update Tenant","description":"Partially updates the tenant definition.\nFields that will be provided will be completely overwritten.","operationId":"update_tenant","parameters":[{"description":"Either the unique id of the tenant, or the URL-friendly key of the tenant (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Tenant Id","description":"Either the unique id of the tenant, or the URL-friendly key of the tenant (i.e: the \"slug\")."},"example":"my_tenant","name":"tenant_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TenantUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TenantRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/facts/{proj_id}/{env_id}/tenants/{tenant_id}/users/{user_id}":{"delete":{"tags":["Tenants"],"summary":"Delete Tenant User","description":"Deletes a user under a tenant.","operationId":"delete_tenant_user","parameters":[{"description":"Either the unique id of the tenant, or the URL-friendly key of the tenant (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Tenant Id","description":"Either the unique id of the tenant, or the URL-friendly key of the tenant (i.e: the \"slug\")."},"example":"my_tenant","name":"tenant_id","in":"path"},{"description":"Either the unique id of the user, or the URL-friendly key of the user (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"User Id","description":"Either the unique id of the user, or the URL-friendly key of the user (i.e: the \"slug\")."},"example":"my_user","name":"user_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/facts/{proj_id}/{env_id}/role_assignments/detailed":{"get":{"tags":["Role Assignments"],"summary":"List Role Assignments Detailed","description":"Lists the role assignments defined within an environment.\n\n- If the `user` filter is present, will only return the role assignments of that user (supports multiple).\n- If the `tenant` filter is present, will only return the role assignments in that tenant (supports multiple).\n- If the `role` filter is present, will only return role assignments that are granting that role (supports multiple).\n- If the `resource` filter is present, will only return role assignments for resource instances of that resource type.\n- If the `resource_instance` filter is present, will only return role assignments for that resource instance.\n\nProviding both `tenant` and `resource_instance` filters will only return role assignments if the resource instance is in that tenant.\nIf multiple tenants are received, the last tenant will be compared with the resource instance.","operationId":"list_role_assignments_detailed","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"optional user(s) filter, will only return role assignments granted to this user(s).","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"User","description":"optional user(s) filter, will only return role assignments granted to this user(s)."},"name":"user","in":"query"},{"description":"optional role(s) filter, will only return role assignments granting this role(s).","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Role","description":"optional role(s) filter, will only return role assignments granting this role(s)."},"name":"role","in":"query"},{"description":"optional tenant(s) filter, will only return role assignments granted in that tenant(s).","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Tenant","description":"optional tenant(s) filter, will only return role assignments granted in that tenant(s)."},"name":"tenant","in":"query"},{"description":"optional resource **type** filter, will only return role assignments granted on that resource type.","required":false,"schema":{"type":"string","title":"Resource","description":"optional resource **type** filter, will only return role assignments granted on that resource type."},"name":"resource","in":"query"},{"description":"optional resource instance filter, will only return role assignments granted on that resource instance.","required":false,"schema":{"type":"string","title":"Resource Instance","description":"optional resource instance filter, will only return role assignments granted on that resource instance."},"name":"resource_instance","in":"query"},{"description":"Page number of the results to fetch, starting at 1.","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page","description":"Page number of the results to fetch, starting at 1.","default":1},"name":"page","in":"query"},{"description":"The number of results per page (max 1000).","required":false,"schema":{"type":"integer","maximum":1000.0,"minimum":1.0,"title":"Per Page","description":"The number of results per page (max 1000).","default":30},"name":"per_page","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResult_RoleAssignmentDetailedRead_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/facts/{proj_id}/{env_id}/role_assignments":{"get":{"tags":["Role Assignments"],"summary":"List Role Assignments","description":"Lists the role assignments defined within an environment.\n\n- If the `user` filter is present, will only return the role assignments of that user (supports multiple).\n- If the `tenant` filter is present, will only return the role assignments in that tenant (supports multiple).\n- If the `role` filter is present, will only return role assignments that are granting that role (supports multiple).\n- If the `resource` filter is present, will only return role assignments for resource instances of that resource type.\n- If the `resource_instance` filter is present, will only return role assignments for that resource instance.\n\nProviding both `tenant` and `resource_instance` filters will only return role assignments if the resource instance is in that tenant.\nIf multiple tenants are received, the last tenant will be compared with the resource instance.","operationId":"list_role_assignments","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"optional user(s) filter, will only return role assignments granted to this user(s).","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"User","description":"optional user(s) filter, will only return role assignments granted to this user(s)."},"name":"user","in":"query"},{"description":"optional role(s) filter, will only return role assignments granting this role(s).","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Role","description":"optional role(s) filter, will only return role assignments granting this role(s)."},"name":"role","in":"query"},{"description":"optional tenant(s) filter, will only return role assignments granted in that tenant(s).","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Tenant","description":"optional tenant(s) filter, will only return role assignments granted in that tenant(s)."},"name":"tenant","in":"query"},{"description":"optional resource **type** filter, will only return role assignments granted on that resource type.","required":false,"schema":{"type":"string","title":"Resource","description":"optional resource **type** filter, will only return role assignments granted on that resource type."},"name":"resource","in":"query"},{"description":"optional resource instance filter, will only return role assignments granted on that resource instance.","required":false,"schema":{"type":"string","title":"Resource Instance","description":"optional resource instance filter, will only return role assignments granted on that resource instance."},"name":"resource_instance","in":"query"},{"description":"Whether to return full details about the user, tenant and role","required":false,"deprecated":true,"schema":{"type":"boolean","title":"Detailed","description":"Whether to return full details about the user, tenant and role","default":false},"name":"detailed","in":"query"},{"description":"If true, returns the list of role assignments and the total count.","required":false,"deprecated":true,"schema":{"type":"boolean","title":"Include Total Count","description":"If true, returns the list of role assignments and the total count.","default":false},"name":"include_total_count","in":"query"},{"description":"Page number of the results to fetch, starting at 1.","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page","description":"Page number of the results to fetch, starting at 1.","default":1},"name":"page","in":"query"},{"description":"The number of results per page (max 1000).","required":false,"schema":{"type":"integer","maximum":1000.0,"minimum":1.0,"title":"Per Page","description":"The number of results per page (max 1000).","default":30},"name":"per_page","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"items":{"$ref":"#/components/schemas/RoleAssignmentRead"},"type":"array"},{"$ref":"#/components/schemas/PaginatedResult_RoleAssignmentRead_"},{"items":{"$ref":"#/components/schemas/RoleAssignmentDetailedRead"},"type":"array"},{"$ref":"#/components/schemas/PaginatedResult_RoleAssignmentDetailedRead_"}],"title":"Response List Role Assignments V2 Facts Proj Id Env Id Role Assignments Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Role Assignments"],"summary":"Assign Role","description":"Assigns a role to a user within a tenant.\n\nThe tenant defines the scope of the assignment. In other words, the role is effective only within the tenant.","operationId":"assign_role","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleAssignmentCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleAssignmentRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["Role Assignments"],"summary":"Unassign Role","description":"Unassigns a user role within a tenant.\n\nThe tenant defines the scope of the assignment. In other words, the role is effective only within the tenant.\n\nIf the role is not actually assigned, will return 404.","operationId":"unassign_role","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Whether to return the deleted role assignment, status code will be 200 instead of the default 204 if true","required":false,"deprecated":true,"schema":{"type":"boolean","title":"Return Deleted","description":"Whether to return the deleted role assignment, status code will be 200 instead of the default 204 if true","default":false},"name":"return_deleted","in":"query"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleAssignmentRemove"}}},"required":true},"responses":{"200":{"description":"Role assignment removed successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleAssignmentRead"}}}},"204":{"description":"Role assignment removed successfully"},"404":{"description":"Role assignment not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/facts/{proj_id}/{env_id}/role_assignments/bulk":{"post":{"tags":["Role Assignments","Bulk Operations"],"summary":"Bulk create role assignments","operationId":"bulk_assign_role","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Policy for missing users - 'fail': Fail the entire operation if a user is missing; 'ignore': Skip assignments for missing users; 'create': Create missing users and continue with the operation","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/MissingUserPolicy"}],"description":"Policy for missing users - 'fail': Fail the entire operation if a user is missing; 'ignore': Skip assignments for missing users; 'create': Create missing users and continue with the operation","default":"fail"},"name":"missing_user_policy","in":"query"}],"requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/RoleAssignmentCreate"},"type":"array","title":"Role Assignments In"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkRoleAssignmentReport"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["Role Assignments","Bulk Operations"],"summary":"Bulk Unassign Role","operationId":"bulk_unassign_role","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/RoleAssignmentRemove"},"type":"array","title":"Role Assignment In"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkRoleUnAssignmentReport"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/facts/{proj_id}/{env_id}/set_rules":{"get":{"tags":["Condition Set Rules"],"summary":"List Set Permissions","description":"Lists the condition set rules matching the filter.\n- If the `user_set` filter is present, will only return the permissions set of that user set.\n- If the `permission` filter is present, will only return the permissions sets that equals to the queried permission.\n- If the `resource_set` filter is present, will only return the permissions set of that resource set.","operationId":"list_set_permissions","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"optional user set filter, will only return rules where the permission is granted to this user set","required":false,"schema":{"type":"string","title":"User Set","description":"optional user set filter, will only return rules where the permission is granted to this user set"},"name":"user_set","in":"query"},{"description":"optional permission filter, will only return condition set rules granting this permission","required":false,"schema":{"type":"string","title":"Permission","description":"optional permission filter, will only return condition set rules granting this permission"},"name":"permission","in":"query"},{"description":"optional resource set filter, will only return rules where the permission is granted on this resource set","required":false,"schema":{"type":"string","title":"Resource Set","description":"optional resource set filter, will only return rules where the permission is granted on this resource set"},"name":"resource_set","in":"query"},{"description":"Page number of the results to fetch, starting at 1.","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page","description":"Page number of the results to fetch, starting at 1.","default":1},"name":"page","in":"query"},{"description":"The number of results per page (max 100).","required":false,"schema":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Per Page","description":"The number of results per page (max 100).","default":30},"name":"per_page","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ConditionSetRuleRead"},"type":"array","title":"Response List Set Permissions V2 Facts Proj Id Env Id Set Rules Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Condition Set Rules"],"summary":"Assign Set Permissions","description":"Grant permissions to a user set *on* a resource set.\n\nIf the permission is already granted, it is skipped.","operationId":"assign_set_permissions","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConditionSetRuleCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ConditionSetRuleRead"},"type":"array","title":"Response Assign Set Permissions V2 Facts Proj Id Env Id Set Rules Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["Condition Set Rules"],"summary":"Unassign Set Permissions","description":"Revokes permissions to a user set *on* a resource set.\n\nIf the permission is not granted, it is skipped.","operationId":"unassign_set_permissions","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConditionSetRuleRemove"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/facts/{proj_id}/{env_id}/resource_instances/detailed":{"get":{"tags":["Resource Instances"],"summary":"List Resource Instances Detailed","description":"Lists all the resource instances defined within an environment.","operationId":"list_resource_instances_detailed","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"The tenant key or id to filter by","required":false,"schema":{"type":"string","title":"Tenant","description":"The tenant key or id to filter by"},"name":"tenant","in":"query"},{"description":"The resource key or id to filter by","required":false,"schema":{"type":"string","title":"Resource","description":"The resource key or id to filter by"},"name":"resource","in":"query"},{"description":"The resource instance key or id to filter by (supports multi-value like this url?search=key-1&search=key-2)","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Search","description":"The resource instance key or id to filter by (supports multi-value like this url?search=key-1&search=key-2)"},"name":"search","in":"query"},{"description":"Page number of the results to fetch, starting at 1.","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page","description":"Page number of the results to fetch, starting at 1.","default":1},"name":"page","in":"query"},{"description":"The number of results per page (max 100).","required":false,"schema":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Per Page","description":"The number of results per page (max 100).","default":30},"name":"per_page","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResult_ResourceInstanceDetailedRead_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/facts/{proj_id}/{env_id}/resource_instances":{"get":{"tags":["Resource Instances"],"summary":"List Resource Instances","description":"Lists all the resource instances defined within an environment.","operationId":"list_resource_instances","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"The tenant key or id to filter by","required":false,"schema":{"type":"string","title":"Tenant","description":"The tenant key or id to filter by"},"name":"tenant","in":"query"},{"description":"The resource key or id to filter by","required":false,"schema":{"type":"string","title":"Resource","description":"The resource key or id to filter by"},"name":"resource","in":"query"},{"description":"The resource instance key or id to filter by (supports multi-value like this url?search=key-1&search=key-2)","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Search","description":"The resource instance key or id to filter by (supports multi-value like this url?search=key-1&search=key-2)"},"name":"search","in":"query"},{"description":"If true, will return the relationships of the resource instance.","required":false,"deprecated":true,"schema":{"type":"boolean","title":"Detailed","description":"If true, will return the relationships of the resource instance.","default":false},"name":"detailed","in":"query"},{"description":"Include total count in response(will make the request slower)","required":false,"deprecated":true,"schema":{"type":"boolean","title":"Include Total Count","description":"Include total count in response(will make the request slower)","default":false},"name":"include_total_count","in":"query"},{"description":"Page number of the results to fetch, starting at 1.","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page","description":"Page number of the results to fetch, starting at 1.","default":1},"name":"page","in":"query"},{"description":"The number of results per page (max 100).","required":false,"schema":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Per Page","description":"The number of results per page (max 100).","default":30},"name":"per_page","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"items":{"$ref":"#/components/schemas/ResourceInstanceRead"},"type":"array"},{"$ref":"#/components/schemas/PaginatedResult_ResourceInstanceRead_"}],"title":"Response List Resource Instances V2 Facts Proj Id Env Id Resource Instances Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Resource Instances"],"summary":"Create Resource Instance","description":"Creates a new instance inside the Permit.io system.\n\nIf the instance is already created: will return 200 instead of 201,\nand will return the existing instance object in the response body.","operationId":"create_resource_instance","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceInstanceCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceInstanceRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/facts/{proj_id}/{env_id}/resource_instances/{instance_id}":{"get":{"tags":["Resource Instances"],"summary":"Get Resource Instance","description":"Gets a instance, if such instance exists. Otherwise returns 404.","operationId":"get_resource_instance","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"f'Either the unique id of the resource instance, or the URL-friendly key of the (i.e: file:my_file.txt).'","required":true,"schema":{"type":"string","title":"Instance Id","description":"f'Either the unique id of the resource instance, or the URL-friendly key of the (i.e: file:my_file.txt).'"},"name":"instance_id","in":"path"},{"description":"If true, will return the relationships of the resource instance.","required":false,"deprecated":true,"schema":{"type":"boolean","title":"Detailed","description":"If true, will return the relationships of the resource instance.","default":false},"name":"detailed","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceInstanceRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["Resource Instances"],"summary":"Delete Resource Instance","description":"Deletes the instance and all its related data.","operationId":"delete_resource_instance","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"f'Either the unique id of the resource instance, or the URL-friendly key of the (i.e: file:my_file.txt).'","required":true,"schema":{"type":"string","title":"Instance Id","description":"f'Either the unique id of the resource instance, or the URL-friendly key of the (i.e: file:my_file.txt).'"},"name":"instance_id","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"patch":{"tags":["Resource Instances"],"summary":"Update Resource Instance","description":"Partially updates the instance definition.\nFields that will be provided will be completely overwritten.","operationId":"update_resource_instance","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"f'Either the unique id of the resource instance, or the URL-friendly key of the (i.e: file:my_file.txt).'","required":true,"schema":{"type":"string","title":"Instance Id","description":"f'Either the unique id of the resource instance, or the URL-friendly key of the (i.e: file:my_file.txt).'"},"name":"instance_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceInstanceUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceInstanceRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/facts/{proj_id}/{env_id}/proxy_configs":{"get":{"tags":["Proxy Config"],"summary":"List Proxy Configs","description":"Lists all the proxy configs defined within an environment.","operationId":"list_proxy_configs","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Page number of the results to fetch, starting at 1.","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page","description":"Page number of the results to fetch, starting at 1.","default":1},"name":"page","in":"query"},{"description":"The number of results per page (max 100).","required":false,"schema":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Per Page","description":"The number of results per page (max 100).","default":30},"name":"per_page","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ProxyConfigRead"},"type":"array","title":"Response List Proxy Configs V2 Facts Proj Id Env Id Proxy Configs Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Proxy Config"],"summary":"Create Proxy Config","description":"Creates a new proxy config inside the Permit.io system.\n\nIf the proxy config is already created: will return 200 instead of 201,\nand will return the existing proxy config object in the response body.","operationId":"create_proxy_config","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProxyConfigCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProxyConfigRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/facts/{proj_id}/{env_id}/proxy_configs/{proxy_config_id}":{"get":{"tags":["Proxy Config"],"summary":"Get Proxy Config","description":"Gets a proxy config, if such proxy config exists. Otherwise returns 404.","operationId":"get_proxy_config","parameters":[{"description":"Either the unique id of the proxy config, or the URL-friendly key of the proxy config (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proxy Config Id","description":"Either the unique id of the proxy config, or the URL-friendly key of the proxy config (i.e: the \"slug\")."},"name":"proxy_config_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProxyConfigRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["Proxy Config"],"summary":"Delete Proxy Config","description":"Deletes the proxy config and all its related data.","operationId":"delete_proxy_config","parameters":[{"description":"Either the unique id of the proxy config, or the URL-friendly key of the proxy config (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proxy Config Id","description":"Either the unique id of the proxy config, or the URL-friendly key of the proxy config (i.e: the \"slug\")."},"name":"proxy_config_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"patch":{"tags":["Proxy Config"],"summary":"Update Proxy Config","description":"Partially updates the proxy config definition.\nFields that will be provided will be completely overwritten.","operationId":"update_proxy_config","parameters":[{"description":"Either the unique id of the proxy config, or the URL-friendly key of the proxy config (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proxy Config Id","description":"Either the unique id of the proxy config, or the URL-friendly key of the proxy config (i.e: the \"slug\")."},"name":"proxy_config_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProxyConfigUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProxyConfigRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/facts/{proj_id}/{env_id}/bulk/users":{"put":{"tags":["Bulk Operations"],"summary":"Bulk Replace Users","operationId":"bulk_replace_users","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserReplaceBulkOperation"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserReplaceBulkOperationResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Bulk Operations"],"summary":"Bulk Create Users","operationId":"bulk_create_users","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCreateBulkOperation"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCreateBulkOperationResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["Bulk Operations"],"summary":"Bulk Delete Users","operationId":"bulk_delete_users","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserDeleteBulkOperation"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserDeleteBulkOperationResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/facts/{proj_id}/{env_id}/bulk/tenants":{"post":{"tags":["Bulk Operations"],"summary":"Bulk Create Tenants","operationId":"bulk_create_tenants","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TenantCreateBulkOperation"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TenantCreateBulkOperationResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["Bulk Operations"],"summary":"Bulk Delete Tenants","operationId":"bulk_delete_tenants","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TenantDeleteBulkOperation"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TenantDeleteBulkOperationResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/facts/{proj_id}/{env_id}/bulk/resource_instances":{"put":{"tags":["Bulk Operations"],"summary":"Bulk Replace Resource Instances","description":"Creates or replaces Resource Instances.\nIf a resource instance with `key` and `resource` already exists,\nit will be replaced.","operationId":"bulk_replace_resource_instances","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceInstanceCreateBulkOperation"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceInstanceCreateBulkOperationResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["Bulk Operations"],"summary":"Bulk Delete Resource Instances","description":"Deletes many Resource Instances.","operationId":"bulk_delete_resource_instances","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceInstanceDeleteBulkOperation"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceInstanceDeleteBulkOperationResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/facts/{proj_id}/{env_id}/email_configurations":{"get":{"tags":["Email Configurations"],"summary":"Get Email Configuration","description":"Gets the email configuration defined within an environment.","operationId":"get_email_configuration","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailConfigurationRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Email Configurations"],"summary":"Create Or Update Email Configuration","description":"Create new configuration or updates the email configuration","operationId":"create_or_update_email_configuration","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailConfigurationCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailConfigurationRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/facts/{proj_id}/{env_id}/email_configurations/send_test_email":{"post":{"tags":["Email Configurations"],"summary":"Send Test Email","description":"Sends a test email to the email address defined in the user.","operationId":"send_test_email","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailConfigurationCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/facts/{proj_id}/{env_id}/email_templates/":{"get":{"tags":["Email Templates"],"summary":"List Templates","description":"Lists all the email configurations defined within an environment.","operationId":"list_templates","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Page number of the results to fetch, starting at 1.","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page","description":"Page number of the results to fetch, starting at 1.","default":1},"name":"page","in":"query"},{"description":"The number of results per page (max 100).","required":false,"schema":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Per Page","description":"The number of results per page (max 100).","default":30},"name":"per_page","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/EmailTemplateRead"},"type":"array","title":"Response List Templates V2 Facts Proj Id Env Id Email Templates Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/facts/{proj_id}/{env_id}/email_templates/{template_type}":{"get":{"tags":["Email Templates"],"summary":"Get Template By Type","description":"Lists all the email configurations defined within an environment.","operationId":"get_template_by_type","parameters":[{"required":true,"schema":{"$ref":"#/components/schemas/EmailTemplateType"},"name":"template_type","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailTemplateRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Email Templates"],"summary":"Update Template By Type","description":"Updates an email template by a given type.","operationId":"update_template_by_type","parameters":[{"required":true,"schema":{"$ref":"#/components/schemas/EmailTemplateType"},"name":"template_type","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailTemplateUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailTemplateRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/facts/{proj_id}/{env_id}/email_templates/{template_type}/send_test_email":{"post":{"tags":["Email Templates"],"summary":"Send Test Email By Type","operationId":"send_test_email_by_type","parameters":[{"required":true,"schema":{"$ref":"#/components/schemas/EmailTemplateType"},"name":"template_type","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailTemplateUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/facts/{proj_id}/{env_id}/relationship_tuples/detailed":{"get":{"tags":["Relationship tuples"],"summary":"List Relationship Tuples Detailed","description":"Lists the relationship tuples defined within an environment.","operationId":"list_relationship_tuples_detailed","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Page number of the results to fetch, starting at 1.","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page","description":"Page number of the results to fetch, starting at 1.","default":1},"name":"page","in":"query"},{"description":"The number of results per page (max 100).","required":false,"schema":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Per Page","description":"The number of results per page (max 100).","default":30},"name":"per_page","in":"query"},{"description":"The tenant key or id to filter by","required":false,"schema":{"type":"string","title":"Tenant","description":"The tenant key or id to filter by"},"name":"tenant","in":"query"},{"description":"The subject to filter by, accepts either the resource instance id or resource_type:resource_instance","required":false,"schema":{"type":"string","title":"Subject","description":"The subject to filter by, accepts either the resource instance id or resource_type:resource_instance"},"name":"subject","in":"query"},{"description":"The relation id or key to filter by","required":false,"schema":{"type":"string","title":"Relation","description":"The relation id or key to filter by"},"name":"relation","in":"query"},{"description":"The object to filter by, accepts either the resource instance id or resource_type:resource_instance","required":false,"schema":{"type":"string","title":"Object","description":"The object to filter by, accepts either the resource instance id or resource_type:resource_instance"},"name":"object","in":"query"},{"description":"The object type to filter by, accepts resource type id or key","required":false,"schema":{"type":"string","title":"Object Type","description":"The object type to filter by, accepts resource type id or key"},"name":"object_type","in":"query"},{"description":"The subject type to filter by, accepts resource type id or key","required":false,"schema":{"type":"string","title":"Subject Type","description":"The subject type to filter by, accepts resource type id or key"},"name":"subject_type","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResult_RelationshipTupleDetailedRead_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/facts/{proj_id}/{env_id}/relationship_tuples":{"get":{"tags":["Relationship tuples"],"summary":"List Relationship Tuples","description":"Lists the relationship tuples defined within an environment.","operationId":"list_relationship_tuples","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"If true, will return the full subject and object resource instances.","required":false,"deprecated":true,"schema":{"type":"boolean","title":"Detailed","description":"If true, will return the full subject and object resource instances.","default":false},"name":"detailed","in":"query"},{"description":"If true, returns the list of resource instances and the total count.","required":false,"deprecated":true,"schema":{"type":"boolean","title":"Include Total Count","description":"If true, returns the list of resource instances and the total count.","default":false},"name":"include_total_count","in":"query"},{"description":"Page number of the results to fetch, starting at 1.","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page","description":"Page number of the results to fetch, starting at 1.","default":1},"name":"page","in":"query"},{"description":"The number of results per page (max 100).","required":false,"schema":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Per Page","description":"The number of results per page (max 100).","default":30},"name":"per_page","in":"query"},{"description":"The tenant key or id to filter by","required":false,"schema":{"type":"string","title":"Tenant","description":"The tenant key or id to filter by"},"name":"tenant","in":"query"},{"description":"The subject to filter by, accepts either the resource instance id or resource_type:resource_instance","required":false,"schema":{"type":"string","title":"Subject","description":"The subject to filter by, accepts either the resource instance id or resource_type:resource_instance"},"name":"subject","in":"query"},{"description":"The relation id or key to filter by","required":false,"schema":{"type":"string","title":"Relation","description":"The relation id or key to filter by"},"name":"relation","in":"query"},{"description":"The object to filter by, accepts either the resource instance id or resource_type:resource_instance","required":false,"schema":{"type":"string","title":"Object","description":"The object to filter by, accepts either the resource instance id or resource_type:resource_instance"},"name":"object","in":"query"},{"description":"The object type to filter by, accepts resource type id or key","required":false,"schema":{"type":"string","title":"Object Type","description":"The object type to filter by, accepts resource type id or key"},"name":"object_type","in":"query"},{"description":"The subject type to filter by, accepts resource type id or key","required":false,"schema":{"type":"string","title":"Subject Type","description":"The subject type to filter by, accepts resource type id or key"},"name":"subject_type","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"items":{"$ref":"#/components/schemas/RelationshipTupleRead"},"type":"array"},{"$ref":"#/components/schemas/PaginatedResult_RelationshipTupleRead_"}],"title":"Response List Relationship Tuples V2 Facts Proj Id Env Id Relationship Tuples Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Relationship tuples"],"summary":"Create Relationship Tuple","description":"Create a relationship between two resource instances using a relation.","operationId":"create_relationship_tuple","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RelationshipTupleCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RelationshipTupleRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["Relationship tuples"],"summary":"Delete Relationship Tuple","description":"Delete a relationship between two resource instances.","operationId":"delete_relationship_tuple","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RelationshipTupleDelete"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/facts/{proj_id}/{env_id}/relationship_tuples/bulk":{"post":{"tags":["Relationship tuples"],"summary":"Bulk create relationship tuples","operationId":"bulk_create_relationship_tuples","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RelationshipTupleCreateBulkOperation"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RelationshipTupleCreateBulkOperationResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["Relationship tuples"],"summary":"Bulk Delete Relationship Tuples","operationId":"bulk_delete_relationship_tuples","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RelationshipTupleDeleteBulkOperation"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RelationshipTupleDeleteBulkOperationResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/facts/{proj_id}/{env_id}/user_invites":{"get":{"tags":["User Invites"],"summary":"List User Invites","operationId":"list_user_invites","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"optional role filter, will only return invited users with this role.","required":false,"schema":{"type":"string","title":"Role","description":"optional role filter, will only return invited users with this role."},"name":"role","in":"query"},{"description":"optional tenant filter, will only return invited users in that tenant.","required":false,"schema":{"type":"string","title":"Tenant","description":"optional tenant filter, will only return invited users in that tenant."},"name":"tenant","in":"query"},{"description":"optional search, will only return invited users to that email, key or name.","required":false,"schema":{"type":"string","title":"Search","description":"optional search, will only return invited users to that email, key or name."},"name":"search","in":"query"},{"description":"Page number of the results to fetch, starting at 1.","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page","description":"Page number of the results to fetch, starting at 1.","default":1},"name":"page","in":"query"},{"description":"The number of results per page (max 100).","required":false,"schema":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Per Page","description":"The number of results per page (max 100).","default":30},"name":"per_page","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResult_ElementsUserInviteRead_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["User Invites"],"summary":"Create User Invite","operationId":"create_user_invite","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ElementsUserInviteCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ElementsUserInviteRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/facts/{proj_id}/{env_id}/user_invites/{user_invite_id}":{"get":{"tags":["User Invites"],"summary":"Get User Invite","operationId":"get_user_invite","parameters":[{"description":"Either the unique id of the user_invite, or the URL-friendly key of the user_invite (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"User Invite Id","description":"Either the unique id of the user_invite, or the URL-friendly key of the user_invite (i.e: the \"slug\")."},"name":"user_invite_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ElementsUserInviteRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["User Invites"],"summary":"Delete User Invite","operationId":"delete_user_invite","parameters":[{"description":"Either the unique id of the user_invite, or the URL-friendly key of the user_invite (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"User Invite Id","description":"Either the unique id of the user_invite, or the URL-friendly key of the user_invite (i.e: the \"slug\")."},"name":"user_invite_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"patch":{"tags":["User Invites"],"summary":"Update User Invite","operationId":"update_user_invite","parameters":[{"description":"Either the unique id of the user_invite, or the URL-friendly key of the user_invite (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"User Invite Id","description":"Either the unique id of the user_invite, or the URL-friendly key of the user_invite (i.e: the \"slug\")."},"name":"user_invite_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ElementsUserInviteUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ElementsUserInviteRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/facts/{proj_id}/{env_id}/user_invites/{user_invite_id}/approve":{"post":{"tags":["User Invites"],"summary":"Approve User Invite","operationId":"approve_user_invite","parameters":[{"description":"Either the unique id of the user_invite, or the URL-friendly key of the user_invite (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"User Invite Id","description":"Either the unique id of the user_invite, or the URL-friendly key of the user_invite (i.e: the \"slug\")."},"name":"user_invite_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ElementsUserInviteApprove"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRead"}}}},"400":{"description":"The user already approved or the email requested doesn't match the email of the invite.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApproveMessage"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/facts/{proj_id}/{env_id}/access_requests/{elements_config_id}/user/{user_id}/tenant/{tenant_id}":{"get":{"tags":["Access Requests (EAP)"],"summary":"List Access Requests","operationId":"list_access_requests","parameters":[{"description":"Either the unique id of the tenant, or the URL-friendly key of the tenant (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Tenant Id","description":"Either the unique id of the tenant, or the URL-friendly key of the tenant (i.e: the \"slug\")."},"example":"my_tenant","name":"tenant_id","in":"path"},{"description":"Either the unique id of the user, or the URL-friendly key of the user (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"User Id","description":"Either the unique id of the user, or the URL-friendly key of the user (i.e: the \"slug\")."},"example":"my_user","name":"user_id","in":"path"},{"description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Elements Config Id","description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\")."},"example":"my_elements_config","name":"elements_config_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Optional status filter, will only return access requests with this status.","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/RequestStatus"}],"description":"Optional status filter, will only return access requests with this status."},"name":"status","in":"query"},{"description":"Optional role filter, will only return access request granted with that role.","required":false,"schema":{"type":"string","title":"Role","description":"Optional role filter, will only return access request granted with that role."},"name":"role","in":"query"},{"description":"Optional resource filter, will only return access request granted in that resource.","required":false,"schema":{"type":"string","title":"Resource","description":"Optional resource filter, will only return access request granted in that resource."},"name":"resource","in":"query"},{"description":"Page number of the results to fetch, starting at 1.","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page","description":"Page number of the results to fetch, starting at 1.","default":1},"name":"page","in":"query"},{"description":"The number of results per page (max 100).","required":false,"schema":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Per Page","description":"The number of results per page (max 100).","default":30},"name":"per_page","in":"query"},{"description":"For ReBAC Elements, the resource instance ID or key to work on","required":false,"schema":{"type":"string","title":"Resource Instance Id","description":"For ReBAC Elements, the resource instance ID or key to work on"},"name":"resource_instance_id","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResult_AccessRequestRead_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Access Requests (EAP)"],"summary":"Create Access Request","operationId":"create_access_request","parameters":[{"description":"Either the unique id of the tenant, or the URL-friendly key of the tenant (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Tenant Id","description":"Either the unique id of the tenant, or the URL-friendly key of the tenant (i.e: the \"slug\")."},"example":"my_tenant","name":"tenant_id","in":"path"},{"description":"Either the unique id of the user, or the URL-friendly key of the user (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"User Id","description":"Either the unique id of the user, or the URL-friendly key of the user (i.e: the \"slug\")."},"example":"my_user","name":"user_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Elements Config Id","description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\")."},"example":"my_elements_config","name":"elements_config_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessRequestUserCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessRequestRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/facts/{proj_id}/{env_id}/access_requests/{elements_config_id}/user/{user_id}/tenant/{tenant_id}/{access_request_id}":{"get":{"tags":["Access Requests (EAP)"],"summary":"Get Access Request","operationId":"get_access_request","parameters":[{"description":"Either the unique id of the access_request, or the URL-friendly key of the access_request (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Access Request Id","description":"Either the unique id of the access_request, or the URL-friendly key of the access_request (i.e: the \"slug\")."},"example":"42f0e113-219b-4bb9-ba90-c2c904761be1","name":"access_request_id","in":"path"},{"description":"Either the unique id of the tenant, or the URL-friendly key of the tenant (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Tenant Id","description":"Either the unique id of the tenant, or the URL-friendly key of the tenant (i.e: the \"slug\")."},"example":"my_tenant","name":"tenant_id","in":"path"},{"description":"Either the unique id of the user, or the URL-friendly key of the user (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"User Id","description":"Either the unique id of the user, or the URL-friendly key of the user (i.e: the \"slug\")."},"example":"my_user","name":"user_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Elements Config Id","description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\")."},"example":"my_elements_config","name":"elements_config_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessRequestRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/facts/{proj_id}/{env_id}/access_requests/{elements_config_id}/user/{user_id}/tenant/{tenant_id}/{access_request_id}/reviewer":{"patch":{"tags":["Access Requests (EAP)"],"summary":"Update Access Request Reviewer","operationId":"update_access_request_reviewer","parameters":[{"description":"Either the unique id of the access_request, or the URL-friendly key of the access_request (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Access Request Id","description":"Either the unique id of the access_request, or the URL-friendly key of the access_request (i.e: the \"slug\")."},"example":"42f0e113-219b-4bb9-ba90-c2c904761be1","name":"access_request_id","in":"path"},{"description":"Either the unique id of the tenant, or the URL-friendly key of the tenant (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Tenant Id","description":"Either the unique id of the tenant, or the URL-friendly key of the tenant (i.e: the \"slug\")."},"example":"my_tenant","name":"tenant_id","in":"path"},{"description":"Either the unique id of the user, or the URL-friendly key of the user (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"User Id","description":"Either the unique id of the user, or the URL-friendly key of the user (i.e: the \"slug\")."},"example":"my_user","name":"user_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Elements Config Id","description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\")."},"example":"my_elements_config","name":"elements_config_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessRequestReview"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessRequestRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/facts/{proj_id}/{env_id}/access_requests/{elements_config_id}/user/{user_id}/tenant/{tenant_id}/{access_request_id}/approve":{"put":{"tags":["Access Requests (EAP)"],"summary":"Approve Access Request","operationId":"approve_access_request","parameters":[{"description":"Either the unique id of the access_request, or the URL-friendly key of the access_request (i.e: the \"slug\").","required":true,"schema":{"type":"string","format":"uuid","title":"Access Request Id","description":"Either the unique id of the access_request, or the URL-friendly key of the access_request (i.e: the \"slug\")."},"example":"42f0e113-219b-4bb9-ba90-c2c904761be1","name":"access_request_id","in":"path"},{"description":"Either the unique id of the tenant, or the URL-friendly key of the tenant (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Tenant Id","description":"Either the unique id of the tenant, or the URL-friendly key of the tenant (i.e: the \"slug\")."},"example":"my_tenant","name":"tenant_id","in":"path"},{"description":"Either the unique id of the user, or the URL-friendly key of the user (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"User Id","description":"Either the unique id of the user, or the URL-friendly key of the user (i.e: the \"slug\")."},"example":"my_user","name":"user_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Elements Config Id","description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\")."},"example":"my_elements_config","name":"elements_config_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessRequestReview"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessRequestApproved"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/facts/{proj_id}/{env_id}/access_requests/{elements_config_id}/user/{user_id}/tenant/{tenant_id}/{access_request_id}/deny":{"put":{"tags":["Access Requests (EAP)"],"summary":"Deny Access Request","operationId":"deny_access_request","parameters":[{"description":"Either the unique id of the access_request, or the URL-friendly key of the access_request (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Access Request Id","description":"Either the unique id of the access_request, or the URL-friendly key of the access_request (i.e: the \"slug\")."},"example":"42f0e113-219b-4bb9-ba90-c2c904761be1","name":"access_request_id","in":"path"},{"description":"Either the unique id of the tenant, or the URL-friendly key of the tenant (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Tenant Id","description":"Either the unique id of the tenant, or the URL-friendly key of the tenant (i.e: the \"slug\")."},"example":"my_tenant","name":"tenant_id","in":"path"},{"description":"Either the unique id of the user, or the URL-friendly key of the user (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"User Id","description":"Either the unique id of the user, or the URL-friendly key of the user (i.e: the \"slug\")."},"example":"my_user","name":"user_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Elements Config Id","description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\")."},"example":"my_elements_config","name":"elements_config_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessRequestReviewDeny"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessRequestDenied"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/facts/{proj_id}/{env_id}/access_requests/{elements_config_id}/user/{user_id}/tenant/{tenant_id}/{access_request_id}/cancel":{"put":{"tags":["Access Requests (EAP)"],"summary":"Cancel Access Request","operationId":"cancel_access_request","parameters":[{"description":"Either the unique id of the access_request, or the URL-friendly key of the access_request (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Access Request Id","description":"Either the unique id of the access_request, or the URL-friendly key of the access_request (i.e: the \"slug\")."},"example":"42f0e113-219b-4bb9-ba90-c2c904761be1","name":"access_request_id","in":"path"},{"description":"Either the unique id of the tenant, or the URL-friendly key of the tenant (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Tenant Id","description":"Either the unique id of the tenant, or the URL-friendly key of the tenant (i.e: the \"slug\")."},"example":"my_tenant","name":"tenant_id","in":"path"},{"description":"Either the unique id of the user, or the URL-friendly key of the user (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"User Id","description":"Either the unique id of the user, or the URL-friendly key of the user (i.e: the \"slug\")."},"example":"my_user","name":"user_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Elements Config Id","description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\")."},"example":"my_elements_config","name":"elements_config_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessRequestCanceled"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/pdps/{proj_id}/{env_id}/configs":{"get":{"tags":["Policy Decision Points"],"summary":"List PDP configurations","operationId":"list_pdp_configs","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Page number of the results to fetch, starting at 1.","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page","description":"Page number of the results to fetch, starting at 1.","default":1},"name":"page","in":"query"},{"description":"The number of results per page (max 100).","required":false,"schema":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Per Page","description":"The number of results per page (max 100).","default":30},"name":"per_page","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PDPConfigRead"},"type":"array","title":"Response List Pdp Configs V2 Pdps Proj Id Env Id Configs Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/pdps/{proj_id}/{env_id}/configs/{pdp_id}/values":{"get":{"tags":["Policy Decision Points"],"summary":"Get PDP configuration","description":"Gets the configuration values for the PDP container with id `pdp_id`.\n\nThe config values returned are considered \"overrides\", meaning they are overriding\nany default values given to the container by the user.","operationId":"get_pdp_config_values","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"The unique id of the pdp","required":true,"schema":{"type":"string","format":"uuid","title":"Pdp Id","description":"The unique id of the pdp"},"example":"42f0e413-219b-4bb9-ba90-c2c904761be1","name":"pdp_id","in":"path"},{"required":false,"schema":{"type":"integer","minimum":0.0,"title":"X-Shard-Id"},"name":"X-Shard-ID","in":"header"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoteConfig"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/pdps/{proj_id}/{env_id}/configs/{pdp_id}/debug-audit-logs/enable":{"put":{"tags":["Policy Decision Points"],"summary":"Enable debug audit logs","description":"Enables debug audit logs for the PDP container with id `pdp_id`.","operationId":"enable_debug_audit_logs","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"The unique id of the pdp","required":true,"schema":{"type":"string","format":"uuid","title":"Pdp Id","description":"The unique id of the pdp"},"example":"42f0e413-219b-4bb9-ba90-c2c904761be1","name":"pdp_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PDPConfigRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/pdps/{proj_id}/{env_id}/configs/{pdp_id}/debug-audit-logs/disable":{"put":{"tags":["Policy Decision Points"],"summary":"Disable debug audit logs","description":"Disabled debug audit logs for the PDP container with id `pdp_id`.","operationId":"disable_debug_audit_logs","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"The unique id of the pdp","required":true,"schema":{"type":"string","format":"uuid","title":"Pdp Id","description":"The unique id of the pdp"},"example":"42f0e413-219b-4bb9-ba90-c2c904761be1","name":"pdp_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PDPConfigRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/pdps/{proj_id}/{env_id}/configs/{pdp_id}/rotate-api-key":{"post":{"tags":["Policy Decision Points"],"summary":"Rotate PDP API Key","description":"Rotates the API key of the PDP container with id `pdp_id`.\n\nThe rotation of the API key revokes the old API key and issues a new API key to the PDP.","operationId":"rotate_pdp_api_key","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"The unique id of the pdp","required":true,"schema":{"type":"string","format":"uuid","title":"Pdp Id","description":"The unique id of the pdp"},"example":"42f0e413-219b-4bb9-ba90-c2c904761be1","name":"pdp_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PDPConfigRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/pdps/{proj_id}/{env_id}/configs/migrate-shards":{"post":{"tags":["Policy Decision Points"],"summary":"Migrate PDP Config number of shards","description":"The migration process is as followed:\n1. Perform request to this endpoint with the new number of shards\n2. A new PDP Config will be created with the new number of shards and a new api-key\n3. Create a new PDP cluster with the same instances as the number of shards defined in the new PDP Config\n4. Wait for the new PDP cluster to be ready\n5. Update your PDP load balancer to point to the new PDP cluster\n\nMore info can be found here https://docs.permit.io/concepts/pdp-sharding","operationId":"migrate_shards","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PDPShardMigration"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PDPConfigRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/pdps/{proj_id}/{env_id}/audit_logs":{"get":{"tags":["Audit Logs"],"summary":"List Audit Logs","operationId":"list_audit_logs","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Filter by pdp config id","required":false,"schema":{"type":"string","format":"uuid","title":"Pdp Id","description":"Filter by pdp config id"},"name":"pdp_id","in":"query"},{"description":"List of user keys or emails to filter by","required":false,"schema":{"items":{"type":"string","maxLength":500},"type":"array","title":"Users","description":"List of user keys or emails to filter by"},"name":"users","in":"query"},{"description":"Filter by decision result","required":false,"schema":{"type":"boolean","title":"Decision","description":"Filter by decision result"},"name":"decision","in":"query"},{"description":"Filter by resources","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Resources","description":"Filter by resources"},"name":"resources","in":"query"},{"description":"Filter by tenant","required":false,"schema":{"type":"string","title":"Tenant","description":"Filter by tenant"},"name":"tenant","in":"query"},{"description":"Filter by action","required":false,"schema":{"type":"string","title":"Action","description":"Filter by action"},"name":"action","in":"query"},{"description":"Filter by timestamp from","required":false,"schema":{"type":"integer","title":"Timestamp From","description":"Filter by timestamp from"},"name":"timestamp_from","in":"query"},{"description":"Filter by timestamp to","required":false,"schema":{"type":"integer","title":"Timestamp To","description":"Filter by timestamp to"},"name":"timestamp_to","in":"query"},{"description":"Sort by column","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/AuditLogSortKey"}],"description":"Sort by column","default":"timestamp"},"name":"sort_by","in":"query"},{"description":"Filter by the type of query that generated the audit log.
'check' - permit/root, permit/check, permit/bulk
'get_user_permissions' - permit/user_permissions
'get_authorized_users' - permit/authorized_users, permit/authorized_users_new
'none' - All queries","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/AuditLogQueryType"}],"description":"Filter by the type of query that generated the audit log.
'check' - permit/root, permit/check, permit/bulk
'get_user_permissions' - permit/user_permissions
'get_authorized_users' - permit/authorized_users, permit/authorized_users_new
'none' - All queries","default":"check"},"name":"query","in":"query"},{"description":"Page number of the results to fetch, starting at 1.","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page","description":"Page number of the results to fetch, starting at 1.","default":1},"name":"page","in":"query"},{"description":"The number of results per page (max 100).","required":false,"schema":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Per Page","description":"The number of results per page (max 100).","default":30},"name":"per_page","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LimitedPaginatedResult_AuditLogModel_"}}}},"400":{"description":"Overreach of pagination limits","content":{"application/json":{"example":{"id":"24a1408cb1114473aac580d2ff915a4d","title":"The request was invalid","error_code":"PAGINATION_SIZE_OVERREACHED","message":"We are sorry for the inconvenience, Max number of results for this API is 10000. To obtain additional results readjust the query's time window, or apply additional filters.. Please check the request and try again.\nIf the issue keeps happening, contact our support on Slack for further guidance."}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/pdps/{proj_id}/{env_id}/audit_logs/{log_id}":{"get":{"tags":["Audit Logs"],"summary":"Get detailed audit log","operationId":"get_detailed_audit_log","parameters":[{"description":"The unique id of the audit log","required":true,"schema":{"type":"string","format":"uuid","title":"Log Id","description":"The unique id of the audit log"},"example":"42f0e113-219b-4bb9-ba90-e2c904761be1","name":"log_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DetailedAuditLogModel"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/projects/{proj_id}/repos":{"get":{"tags":["Policy Git Repositories"],"summary":"List Policy Repos","description":"Lists all the policy repositories under a given project.","operationId":"list_policy_repos","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Page number of the results to fetch, starting at 1.","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page","description":"Page number of the results to fetch, starting at 1.","default":1},"name":"page","in":"query"},{"description":"The number of results per page (max 100).","required":false,"schema":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Per Page","description":"The number of results per page (max 100).","default":30},"name":"per_page","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PolicyRepoRead"},"type":"array","title":"Response List Policy Repos V2 Projects Proj Id Repos Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Policy Git Repositories"],"summary":"Create Policy Repo","description":"Creates a new policy repository configuration under a given project.\nThe given repository is created with status 'pending', it will be changed and used as the 'active' repository for\nthe policy only after a successful attempt to use it.\nThe repository main branch must be present in the remote.","operationId":"create_policy_repo","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyRepoCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyRepoRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/projects/{proj_id}/repos/active":{"get":{"tags":["Policy Git Repositories"],"summary":"Get Active Policy Repo","description":"Gets the currently active repository, if such repository exists.","operationId":"get_active_policy_repo","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyRepoRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/projects/{proj_id}/repos/disable":{"put":{"tags":["Policy Git Repositories"],"summary":"Disable Active Policy Repo","description":"Disable the currently active policy repo, this action means to turn off the gitops feature.\nIf there is no active policy repo, this action will do nothing.","operationId":"disable_active_policy_repo","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/projects/{proj_id}/repos/{repo_id}/activate":{"put":{"tags":["Policy Git Repositories"],"summary":"Activate Policy Repo","description":"Disable the currently active policy repo, this action means to turn off the gitops feature.\nIf there is no active policy repo, this action will do nothing.","operationId":"activate_policy_repo","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the policy repo, or the URL-friendly key of the policy repo (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Repo Id","description":"Either the unique id of the policy repo, or the URL-friendly key of the policy repo (i.e: the \"slug\")."},"example":"my_policy_repo","name":"repo_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRead"}}}},"400":{"description":"Invalid policy repo status"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/projects/{proj_id}/repos/{repo_id}":{"get":{"tags":["Policy Git Repositories"],"summary":"Get Policy Repo","description":"Gets a single repository matching the given repo_id, if such repository exists.","operationId":"get_policy_repo","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the policy repo, or the URL-friendly key of the policy repo (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Repo Id","description":"Either the unique id of the policy repo, or the URL-friendly key of the policy repo (i.e: the \"slug\")."},"example":"my_policy_repo","name":"repo_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyRepoRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["Policy Git Repositories"],"summary":"Delete Policy Repo","description":"Deletes an environment and all its related data.","operationId":"delete_policy_repo","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the policy repo, or the URL-friendly key of the policy repo (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Repo Id","description":"Either the unique id of the policy repo, or the URL-friendly key of the policy repo (i.e: the \"slug\")."},"example":"my_policy_repo","name":"repo_id","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/elements/{proj_id}/{env_id}/config":{"get":{"tags":["Elements Configs (EAP)"],"summary":"List Elements Configs","description":"Lists all the elements_configs under the active organization.","operationId":"list_elements_configs","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Page number of the results to fetch, starting at 1.","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page","description":"Page number of the results to fetch, starting at 1.","default":1},"name":"page","in":"query"},{"description":"The number of results per page (max 100).","required":false,"schema":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Per Page","description":"The number of results per page (max 100).","default":30},"name":"per_page","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/PaginatedResult_ElementsConfigRead_"},{"items":{"$ref":"#/components/schemas/ElementsConfigRead"},"type":"array"}],"title":"Response List Elements Configs V2 Elements Proj Id Env Id Config Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Elements Configs (EAP)"],"summary":"Create Elements Config","description":"Creates a new elements_config under the active organization.","operationId":"create_elements_config","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ElementsConfigCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ElementsConfigRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/elements/{proj_id}/{env_id}/config/{elements_config_id}":{"get":{"tags":["Elements Configs (EAP)"],"summary":"Get Elements Config","description":"Gets a single elements_config matching the given elements_config_id, if such elements_config exists.","operationId":"get_elements_config","parameters":[{"description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Elements Config Id","description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\")."},"example":"my_elements_config","name":"elements_config_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ElementsConfigRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"patch":{"tags":["Elements Configs (EAP)"],"summary":"Update Elements Config","description":"Updates the elements_config.","operationId":"update_elements_config","parameters":[{"description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Elements Config Id","description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\")."},"example":"my_elements_config","name":"elements_config_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ElementsConfigUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ElementsConfigRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/elements/{proj_id}/{env_id}/config/{elements_config_id}/runtime":{"get":{"tags":["Elements Configs (EAP)"],"summary":"Get Elements Config Runtime","description":"Gets a single elements_config matching the given elements_config_id, if such elements_config exists.","operationId":"get_elements_config_runtime","parameters":[{"description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Elements Config Id","description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\")."},"example":"my_elements_config","name":"elements_config_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"For ReBAC Elements, the resource instance ID or key to work on","required":false,"schema":{"type":"string","title":"Resource Instance Id","description":"For ReBAC Elements, the resource instance ID or key to work on"},"name":"resource_instance_id","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ElementsConfigRuntimeRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/elements/{proj_id}/{env_id}/{elements_config_id}":{"delete":{"tags":["Elements Configs (EAP)"],"summary":"Delete Elements Config","description":"Deletes the elements_config and all its related data.","operationId":"delete_elements_config","parameters":[{"description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Elements Config Id","description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\")."},"example":"my_elements_config","name":"elements_config_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/elements/{proj_id}/{env_id}/config/{elements_config_id}/data/users":{"get":{"tags":["Users Elements Data"],"summary":"List users","description":"Lists all the users defined within an environment.","operationId":"elements_list_users","parameters":[{"description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Elements Config Id","description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\")."},"example":"my_elements_config","name":"elements_config_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Text search for the email field","required":false,"schema":{"type":"string","title":"Search","description":"Text search for the email field"},"name":"search","in":"query"},{"description":"Page number of the results to fetch, starting at 1.","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page","description":"Page number of the results to fetch, starting at 1.","default":1},"name":"page","in":"query"},{"description":"The number of results per page (max 100).","required":false,"schema":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Per Page","description":"The number of results per page (max 100).","default":30},"name":"per_page","in":"query"},{"description":"For ReBAC Elements, the resource instance ID or key to work on","required":false,"schema":{"type":"string","title":"Resource Instance Id","description":"For ReBAC Elements, the resource instance ID or key to work on"},"name":"resource_instance_id","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResult_UserRead_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Users Elements Data"],"summary":"Create user","description":"Creates a new user inside the Permit.io system, from that point forward\nyou may run permission checks on that user.\n\nIf the user is already created: will return 200 instead of 201,\nand will return the existing user object in the response body.","operationId":"elements_create_user","parameters":[{"description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Elements Config Id","description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\")."},"example":"my_elements_config","name":"elements_config_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"For ReBAC Elements, the resource instance ID or key to work on","required":false,"schema":{"type":"string","title":"Resource Instance Id","description":"For ReBAC Elements, the resource instance ID or key to work on"},"name":"resource_instance_id","in":"query"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ElementsUserCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/UserRead"},{"$ref":"#/components/schemas/ElementsUserInviteRead"}],"title":"Response Elements Create User V2 Elements Proj Id Env Id Config Elements Config Id Data Users Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/elements/{proj_id}/{env_id}/config/{elements_config_id}/data/users/{user_id}":{"delete":{"tags":["Users Elements Data"],"summary":"Delete user","operationId":"elements_delete_user","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Elements Config Id","description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\")."},"example":"my_elements_config","name":"elements_config_id","in":"path"},{"description":"Either the unique id of the user, or the URL-friendly key of the user (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"User Id","description":"Either the unique id of the user, or the URL-friendly key of the user (i.e: the \"slug\")."},"name":"user_id","in":"path"},{"description":"For ReBAC Elements, the resource instance ID or key to work on","required":false,"schema":{"type":"string","title":"Resource Instance Id","description":"For ReBAC Elements, the resource instance ID or key to work on"},"name":"resource_instance_id","in":"query"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/elements/{proj_id}/{env_id}/config/{elements_config_id}/data/user-invites":{"get":{"tags":["Users Elements Data"],"summary":"List all Elements User Invites","description":"List all Elements User Invites for the current environment and tenant.","operationId":"list_elements_user_invites","parameters":[{"description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Elements Config Id","description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\")."},"example":"my_elements_config","name":"elements_config_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Text search for the email field","required":false,"schema":{"type":"string","title":"Search","description":"Text search for the email field"},"name":"search","in":"query"},{"description":"Status of the user invite","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/UserInviteStatus"}],"description":"Status of the user invite"},"name":"status","in":"query"},{"description":"Page number of the results to fetch, starting at 1.","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page","description":"Page number of the results to fetch, starting at 1.","default":1},"name":"page","in":"query"},{"description":"The number of results per page (max 100).","required":false,"schema":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Per Page","description":"The number of results per page (max 100).","default":30},"name":"per_page","in":"query"},{"description":"For ReBAC Elements, the resource instance ID or key to work on","required":false,"schema":{"type":"string","title":"Resource Instance Id","description":"For ReBAC Elements, the resource instance ID or key to work on"},"name":"resource_instance_id","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResult_ElementsUserInviteRead_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/elements/{proj_id}/{env_id}/config/{elements_config_id}/data/roles":{"get":{"tags":["Users Elements Data"],"summary":"List roles","description":"Lists all the users defined within an environment.","operationId":"elements_list_roles","parameters":[{"description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Elements Config Id","description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\")."},"example":"my_elements_config","name":"elements_config_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Text search for the email field","required":false,"schema":{"type":"string","title":"Search","description":"Text search for the email field"},"name":"search","in":"query"},{"description":"Page number of the results to fetch, starting at 1.","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page","description":"Page number of the results to fetch, starting at 1.","default":1},"name":"page","in":"query"},{"description":"The number of results per page (max 100).","required":false,"schema":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Per Page","description":"The number of results per page (max 100).","default":30},"name":"per_page","in":"query"},{"description":"For ReBAC Elements, the resource instance ID or key to work on","required":false,"schema":{"type":"string","title":"Resource Instance Id","description":"For ReBAC Elements, the resource instance ID or key to work on"},"name":"resource_instance_id","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ElementsRoleRead"},"type":"array","title":"Response Elements List Roles V2 Elements Proj Id Env Id Config Elements Config Id Data Roles Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/elements/{proj_id}/{env_id}/config/{elements_config_id}/data/users/{user_id}/roles":{"post":{"tags":["Users Elements Data"],"summary":"Assign role to user","description":"Assigns a role to the user within the tenant.\n\nThe tenant defines the scope of the assignment. In other words, the role is effective only within the tenant.","operationId":"elements_assign_role_to_user","parameters":[{"description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Elements Config Id","description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\")."},"example":"my_elements_config","name":"elements_config_id","in":"path"},{"description":"Either the unique id of the user, or the URL-friendly key of the user (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"User Id","description":"Either the unique id of the user, or the URL-friendly key of the user (i.e: the \"slug\")."},"name":"user_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"For ReBAC Elements, the resource instance ID or key to work on","required":false,"schema":{"type":"string","title":"Resource Instance Id","description":"For ReBAC Elements, the resource instance ID or key to work on"},"name":"resource_instance_id","in":"query"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ElementsUserRoleCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleAssignmentRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["Users Elements Data"],"summary":"Unassign role from user","description":"Unassigns the role from the user within the tenant.\n\nThe tenant defines the scope of the assignment. In other words, the role is effective only within the tenant.\n\nIf the role is not actually assigned, will return 404.","operationId":"elements_unassign_role_from_user","parameters":[{"description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Elements Config Id","description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\")."},"example":"my_elements_config","name":"elements_config_id","in":"path"},{"description":"Either the unique id of the user, or the URL-friendly key of the user (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"User Id","description":"Either the unique id of the user, or the URL-friendly key of the user (i.e: the \"slug\")."},"name":"user_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"For ReBAC Elements, the resource instance ID or key to work on","required":false,"schema":{"type":"string","title":"Resource Instance Id","description":"For ReBAC Elements, the resource instance ID or key to work on"},"name":"resource_instance_id","in":"query"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ElementsUserRoleRemove"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/elements/{proj_id}/{env_id}/config/{elements_config_id}/data/active":{"post":{"tags":["Users Elements Data"],"summary":"Set Config Active","description":"Updates the embed_config.","operationId":"set_config_active","parameters":[{"description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Elements Config Id","description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\")."},"example":"my_elements_config","name":"elements_config_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/elements/{proj_id}/{env_id}/config/{elements_config_id}/data/audit_logs":{"get":{"tags":["Audit Elements Data"],"summary":"List audit logs","description":"Lists audit logs for for specific elements config (tenant scope)","operationId":"elements_list_audit_logs","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Elements Config Id","description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\")."},"example":"my_elements_config","name":"elements_config_id","in":"path"},{"description":"Text search for the email field","required":false,"schema":{"type":"string","title":"Search","description":"Text search for the email field"},"name":"search","in":"query"},{"description":"Page number of the results to fetch, starting at 1.","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page","description":"Page number of the results to fetch, starting at 1.","default":1},"name":"page","in":"query"},{"description":"The number of results per page (max 100).","required":false,"schema":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Per Page","description":"The number of results per page (max 100).","default":30},"name":"per_page","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LimitedPaginatedResult_AuditLogModel_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/elements/{proj_id}/{env_id}/config/{elements_config_id}/access_requests":{"get":{"tags":["Access Requests (EAP)"],"summary":"List Access Requests","operationId":"list_access_requests_v2_elements__proj_id___env_id__config__elements_config_id__access_requests_get","parameters":[{"description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Elements Config Id","description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\")."},"example":"my_elements_config","name":"elements_config_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Optional status filter, will only return access requests with this status.","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/RequestStatus"}],"description":"Optional status filter, will only return access requests with this status."},"name":"status","in":"query"},{"description":"Optional tenant filter, will only return access request granted in that tenant.","required":false,"schema":{"type":"string","title":"Tenant","description":"Optional tenant filter, will only return access request granted in that tenant."},"name":"tenant","in":"query"},{"description":"Optional role filter, will only return access request granted with that role.","required":false,"schema":{"type":"string","title":"Role","description":"Optional role filter, will only return access request granted with that role."},"name":"role","in":"query"},{"description":"Optional resource filter, will only return access request granted in that resource.","required":false,"schema":{"type":"string","title":"Resource","description":"Optional resource filter, will only return access request granted in that resource."},"name":"resource","in":"query"},{"description":"Page number of the results to fetch, starting at 1.","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page","description":"Page number of the results to fetch, starting at 1.","default":1},"name":"page","in":"query"},{"description":"The number of results per page (max 100).","required":false,"schema":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Per Page","description":"The number of results per page (max 100).","default":30},"name":"per_page","in":"query"},{"description":"For ReBAC Elements, the resource instance ID or key to work on","required":false,"schema":{"type":"string","title":"Resource Instance Id","description":"For ReBAC Elements, the resource instance ID or key to work on"},"name":"resource_instance_id","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResult_AccessRequestRead_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Access Requests (EAP)"],"summary":"Create Access Request","operationId":"create_access_request_v2_elements__proj_id___env_id__config__elements_config_id__access_requests_post","parameters":[{"description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Elements Config Id","description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\")."},"example":"my_elements_config","name":"elements_config_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessRequestUserCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessRequestRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/elements/{proj_id}/{env_id}/config/{elements_config_id}/access_requests/{access_request_id}":{"get":{"tags":["Access Requests (EAP)"],"summary":"Get Access Request","operationId":"get_access_request_v2_elements__proj_id___env_id__config__elements_config_id__access_requests__access_request_id__get","parameters":[{"description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Elements Config Id","description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\")."},"example":"my_elements_config","name":"elements_config_id","in":"path"},{"description":"Either the unique id of the access_request, or the URL-friendly key of the access_request (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Access Request Id","description":"Either the unique id of the access_request, or the URL-friendly key of the access_request (i.e: the \"slug\")."},"example":"42f0e113-219b-4bb9-ba90-c2c904761be1","name":"access_request_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Page number of the results to fetch, starting at 1.","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page","description":"Page number of the results to fetch, starting at 1.","default":1},"name":"page","in":"query"},{"description":"The number of results per page (max 100).","required":false,"schema":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Per Page","description":"The number of results per page (max 100).","default":30},"name":"per_page","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessRequestRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/elements/{proj_id}/{env_id}/config/{elements_config_id}/access_requests/{access_request_id}/reviewer":{"patch":{"tags":["Access Requests (EAP)"],"summary":"Update Access Request Reviewer","operationId":"update_access_request_reviewer_v2_elements__proj_id___env_id__config__elements_config_id__access_requests__access_request_id__reviewer_patch","parameters":[{"description":"Either the unique id of the access_request, or the URL-friendly key of the access_request (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Access Request Id","description":"Either the unique id of the access_request, or the URL-friendly key of the access_request (i.e: the \"slug\")."},"example":"42f0e113-219b-4bb9-ba90-c2c904761be1","name":"access_request_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Elements Config Id","description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\")."},"example":"my_elements_config","name":"elements_config_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessRequestReview"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessRequestRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/elements/{proj_id}/{env_id}/config/{elements_config_id}/access_requests/{access_request_id}/approve":{"put":{"tags":["Access Requests (EAP)"],"summary":"Approve Access Request","operationId":"approve_access_request_v2_elements__proj_id___env_id__config__elements_config_id__access_requests__access_request_id__approve_put","parameters":[{"description":"Either the unique id of the access_request, or the URL-friendly key of the access_request (i.e: the \"slug\").","required":true,"schema":{"type":"string","format":"uuid","title":"Access Request Id","description":"Either the unique id of the access_request, or the URL-friendly key of the access_request (i.e: the \"slug\")."},"example":"42f0e113-219b-4bb9-ba90-c2c904761be1","name":"access_request_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Elements Config Id","description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\")."},"example":"my_elements_config","name":"elements_config_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessRequestReview"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessRequestApproved"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/elements/{proj_id}/{env_id}/config/{elements_config_id}/access_requests/{access_request_id}/deny":{"put":{"tags":["Access Requests (EAP)"],"summary":"Deny Access Request","operationId":"deny_access_request_v2_elements__proj_id___env_id__config__elements_config_id__access_requests__access_request_id__deny_put","parameters":[{"description":"Either the unique id of the access_request, or the URL-friendly key of the access_request (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Access Request Id","description":"Either the unique id of the access_request, or the URL-friendly key of the access_request (i.e: the \"slug\")."},"example":"42f0e113-219b-4bb9-ba90-c2c904761be1","name":"access_request_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Elements Config Id","description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\")."},"example":"my_elements_config","name":"elements_config_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessRequestReviewDeny"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessRequestDenied"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/elements/{proj_id}/{env_id}/config/{elements_config_id}/access_requests/{access_request_id}/cancel":{"put":{"tags":["Access Requests (EAP)"],"summary":"Cancel Access Request","operationId":"cancel_access_request_v2_elements__proj_id___env_id__config__elements_config_id__access_requests__access_request_id__cancel_put","parameters":[{"description":"Either the unique id of the access_request, or the URL-friendly key of the access_request (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Access Request Id","description":"Either the unique id of the access_request, or the URL-friendly key of the access_request (i.e: the \"slug\")."},"example":"42f0e113-219b-4bb9-ba90-c2c904761be1","name":"access_request_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Elements Config Id","description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\")."},"example":"my_elements_config","name":"elements_config_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessRequestCanceled"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/elements/{proj_id}/{env_id}/config/{elements_config_id}/operation_approval":{"get":{"tags":["Operation Approval (EAP)"],"summary":"List Operation Approvals","operationId":"list_operation_approvals","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Elements Config Id","description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\")."},"example":"my_elements_config","name":"elements_config_id","in":"path"},{"description":"Optional status filter, will only return access requests with this status.","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/RequestStatus"}],"description":"Optional status filter, will only return access requests with this status."},"name":"status","in":"query"},{"description":"Optional resource filter, will only return access request granted in that resource.","required":false,"schema":{"type":"string","title":"Resource","description":"Optional resource filter, will only return access request granted in that resource."},"name":"resource","in":"query"},{"description":"Optional resource instance filter, will only return access request granted in that resource instance.","required":false,"schema":{"type":"string","title":"Resource Instance","description":"Optional resource instance filter, will only return access request granted in that resource instance."},"name":"resource_instance","in":"query"},{"description":"Page number of the results to fetch, starting at 1.","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page","description":"Page number of the results to fetch, starting at 1.","default":1},"name":"page","in":"query"},{"description":"The number of results per page (max 100).","required":false,"schema":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Per Page","description":"The number of results per page (max 100).","default":30},"name":"per_page","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResult_OperationApprovalList_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Operation Approval (EAP)"],"summary":"Create Operation Approval","operationId":"create_operation_approval","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Elements Config Id","description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\")."},"example":"my_elements_config","name":"elements_config_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationApprovalUserCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationApprovalRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/elements/{proj_id}/{env_id}/config/{elements_config_id}/operation_approval/{operation_approval_id}":{"get":{"tags":["Operation Approval (EAP)"],"summary":"Get Operation Approval","operationId":"get_operation_approval","parameters":[{"description":"Either the unique id of the operation_approval, or the URL-friendly key of the operation_approval (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Operation Approval Id","description":"Either the unique id of the operation_approval, or the URL-friendly key of the operation_approval (i.e: the \"slug\")."},"example":"my_operation_approval","name":"operation_approval_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Elements Config Id","description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\")."},"example":"my_elements_config","name":"elements_config_id","in":"path"},{"description":"Page number of the results to fetch, starting at 1.","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page","description":"Page number of the results to fetch, starting at 1.","default":1},"name":"page","in":"query"},{"description":"The number of results per page (max 100).","required":false,"schema":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Per Page","description":"The number of results per page (max 100).","default":30},"name":"per_page","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationApprovalRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/elements/{proj_id}/{env_id}/config/{elements_config_id}/operation_approval/{operation_approval_id}/reviewer":{"patch":{"tags":["Operation Approval (EAP)"],"summary":"Update Operation Approval Reviewer","operationId":"update_operation_approval_reviewer","parameters":[{"description":"Either the unique id of the operation_approval, or the URL-friendly key of the operation_approval (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Operation Approval Id","description":"Either the unique id of the operation_approval, or the URL-friendly key of the operation_approval (i.e: the \"slug\")."},"example":"my_operation_approval","name":"operation_approval_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Elements Config Id","description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\")."},"example":"my_elements_config","name":"elements_config_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationApprovalReview"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationApprovalRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/elements/{proj_id}/{env_id}/config/{elements_config_id}/operation_approval/{operation_approval_id}/approve":{"put":{"tags":["Operation Approval (EAP)"],"summary":"Approve Operation Approval","operationId":"approve_operation_approval","parameters":[{"description":"Either the unique id of the operation_approval, or the URL-friendly key of the operation_approval (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Operation Approval Id","description":"Either the unique id of the operation_approval, or the URL-friendly key of the operation_approval (i.e: the \"slug\")."},"example":"my_operation_approval","name":"operation_approval_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Elements Config Id","description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\")."},"example":"my_elements_config","name":"elements_config_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationApprovalReview"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationApprovalApproved"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/elements/{proj_id}/{env_id}/config/{elements_config_id}/operation_approval/{operation_approval_id}/deny":{"put":{"tags":["Operation Approval (EAP)"],"summary":"Deny Operation Approval","operationId":"deny_operation_approval","parameters":[{"description":"Either the unique id of the operation_approval, or the URL-friendly key of the operation_approval (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Operation Approval Id","description":"Either the unique id of the operation_approval, or the URL-friendly key of the operation_approval (i.e: the \"slug\")."},"example":"my_operation_approval","name":"operation_approval_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Elements Config Id","description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\")."},"example":"my_elements_config","name":"elements_config_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationApprovalReview"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationApprovalDenied"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/elements/{proj_id}/{env_id}/config/{elements_config_id}/operation_approval/{operation_approval_id}/cancel":{"put":{"tags":["Operation Approval (EAP)"],"summary":"Cancel Operation Approval","operationId":"cancel_operation_approval","parameters":[{"description":"Either the unique id of the operation_approval, or the URL-friendly key of the operation_approval (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Operation Approval Id","description":"Either the unique id of the operation_approval, or the URL-friendly key of the operation_approval (i.e: the \"slug\")."},"example":"my_operation_approval","name":"operation_approval_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Elements Config Id","description":"Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the \"slug\")."},"example":"my_elements_config","name":"elements_config_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationApprovalCanceled"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/deprecated/history":{"get":{"summary":"List Api Events","description":"Fetches all API History events for given filters.","operationId":"list_api_events","parameters":[{"description":"HTTP methods to include in search","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Method","description":"HTTP methods to include in search"},"name":"method","in":"query"},{"description":"API paths to include in search","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Path","description":"API paths to include in search"},"name":"path","in":"query"},{"description":"Filter by API request success/failure","required":false,"schema":{"type":"boolean","title":"Success","description":"Filter by API request success/failure"},"name":"success","in":"query"},{"description":"HTTP status codes to include in search","required":false,"schema":{"items":{"type":"integer"},"type":"array","title":"Status Code","description":"HTTP status codes to include in search"},"name":"status_code","in":"query"},{"description":"IPs of clients to include in search","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Client Ip","description":"IPs of clients to include in search"},"name":"client_ip","in":"query"},{"description":"Actor type to search (member, user, api_key)","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Actor Type","description":"Actor type to search (member, user, api_key)"},"name":"actor_type","in":"query"},{"description":"Actor ID to search","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Actor Id","description":"Actor ID to search"},"name":"actor_id","in":"query"},{"description":"Actor display name to search","required":false,"schema":{"type":"string","title":"Actor Display Name","description":"Actor display name to search"},"name":"actor_display_name","in":"query"},{"description":"Projects to include in search","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Project Id","description":"Projects to include in search"},"name":"project_id","in":"query"},{"description":"Environments to include in search","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Env Id","description":"Environments to include in search"},"name":"env_id","in":"query"},{"description":"Retrieve only events after this timestamp (seconds since epoch)","required":false,"schema":{"type":"integer","title":"Timestamp From","description":"Retrieve only events after this timestamp (seconds since epoch)"},"name":"timestamp_from","in":"query"},{"description":"Retrieve only events before this timestamp (seconds since epoch)","required":false,"schema":{"type":"integer","title":"Timestamp Until","description":"Retrieve only events before this timestamp (seconds since epoch)"},"name":"timestamp_until","in":"query"},{"description":"Page number of the results to fetch, starting at 1.","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page","description":"Page number of the results to fetch, starting at 1.","default":1},"name":"page","in":"query"},{"description":"The number of results per page (max 100).","required":false,"schema":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Per Page","description":"The number of results per page (max 100).","default":30},"name":"per_page","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResult_APIHistoryEventRead_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"deprecated":true,"security":[{"HTTPBearer":[]}]}},"/v2/deprecated/history/{event_id}":{"get":{"summary":"Get Api Event","description":"Returns full information, including request and response bodies, for one event.","operationId":"get_api_event","parameters":[{"required":true,"schema":{"type":"string","format":"uuid","title":"Event Id"},"name":"event_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIHistoryEventFullRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"deprecated":true,"security":[{"HTTPBearer":[]}]}},"/v2/deprecated/history/{event_id}/request":{"get":{"summary":"Get Request Body","operationId":"get_request_body","parameters":[{"required":true,"schema":{"type":"string","format":"uuid","title":"Event Id"},"name":"event_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"string","format":"binary","title":"Response Get Request Body V2 Deprecated History Event Id Request Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"deprecated":true,"security":[{"HTTPBearer":[]}]}},"/v2/deprecated/history/{event_id}/response":{"get":{"summary":"Get Response Body","operationId":"get_response_body","parameters":[{"required":true,"schema":{"type":"string","format":"uuid","title":"Event Id"},"name":"event_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"string","format":"binary","title":"Response Get Response Body V2 Deprecated History Event Id Response Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"deprecated":true,"security":[{"HTTPBearer":[]}]}},"/v2/history":{"get":{"tags":["API History"],"summary":"List Api Events","description":"Fetches all API History events for given filters.\nAvailable to members with Viewer (or higher) role.","operationId":"list_api_events_v2_history_get","parameters":[{"description":"HTTP methods to include in search","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Method","description":"HTTP methods to include in search"},"name":"method","in":"query"},{"description":"API paths to include in search","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Path","description":"API paths to include in search"},"name":"path","in":"query"},{"description":"Filter by API request success/failure","required":false,"schema":{"type":"boolean","title":"Success","description":"Filter by API request success/failure"},"name":"success","in":"query"},{"description":"HTTP status codes to include in search","required":false,"schema":{"items":{"type":"integer"},"type":"array","title":"Status Code","description":"HTTP status codes to include in search"},"name":"status_code","in":"query"},{"description":"IPs of clients to include in search","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Client Ip","description":"IPs of clients to include in search"},"name":"client_ip","in":"query"},{"description":"Actor type to search (member, user, api_key)","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Actor Type","description":"Actor type to search (member, user, api_key)"},"name":"actor_type","in":"query"},{"description":"Actor ID to search","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Actor Id","description":"Actor ID to search"},"name":"actor_id","in":"query"},{"description":"Actor display name to search","required":false,"schema":{"type":"string","title":"Actor Display Name","description":"Actor display name to search"},"name":"actor_display_name","in":"query"},{"description":"Projects to include in search","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Project Id","description":"Projects to include in search"},"name":"project_id","in":"query"},{"description":"Environments to include in search","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Env Id","description":"Environments to include in search"},"name":"env_id","in":"query"},{"description":"Retrieve only events after this timestamp (seconds since epoch)","required":false,"schema":{"type":"integer","title":"Timestamp From","description":"Retrieve only events after this timestamp (seconds since epoch)"},"name":"timestamp_from","in":"query"},{"description":"Retrieve only events before this timestamp (seconds since epoch)","required":false,"schema":{"type":"integer","title":"Timestamp Until","description":"Retrieve only events before this timestamp (seconds since epoch)"},"name":"timestamp_until","in":"query"},{"description":"Page number of the results to fetch, starting at 1.","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page","description":"Page number of the results to fetch, starting at 1.","default":1},"name":"page","in":"query"},{"description":"The number of results per page (max 100).","required":false,"schema":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Per Page","description":"The number of results per page (max 100).","default":30},"name":"per_page","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LimitedPaginatedResult_APIHistoryEventRead_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/history/{event_id}":{"get":{"tags":["API History"],"summary":"Get Api Event","description":"Returns full information, including request and response bodies, for one event.","operationId":"get_api_event_v2_history__event_id__get","parameters":[{"required":true,"schema":{"type":"string","format":"uuid","title":"Event Id"},"name":"event_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIHistoryEventFullRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/history/{event_id}/request":{"get":{"tags":["API History"],"summary":"Get Request Body","operationId":"get_request_body_v2_history__event_id__request_get","parameters":[{"required":true,"schema":{"type":"string","format":"uuid","title":"Event Id"},"name":"event_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"string","format":"binary","title":"Response Get Request Body V2 History Event Id Request Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/history/{event_id}/response":{"get":{"tags":["API History"],"summary":"Get Response Body","operationId":"get_response_body_v2_history__event_id__response_get","parameters":[{"required":true,"schema":{"type":"string","format":"uuid","title":"Event Id"},"name":"event_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"string","format":"binary","title":"Response Get Response Body V2 History Event Id Response Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/activity":{"get":{"tags":["Activity Log"],"summary":"List Activity Events","description":"Fetches all API History events for given filters.\nAvailable to members with Viewer (or higher) role.","operationId":"list_activity_events","parameters":[{"description":"Actor ID to search","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Actor Id","description":"Actor ID to search"},"name":"actor_id","in":"query"},{"description":"Actor display name to search","required":false,"schema":{"type":"string","title":"Actor Display Name","description":"Actor display name to search"},"name":"actor_display_name","in":"query"},{"description":"Actor type to search (member, user, api_key)","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Actor Type","description":"Actor type to search (member, user, api_key)"},"name":"actor_type","in":"query"},{"description":"Projects to include in search","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Project Id","description":"Projects to include in search"},"name":"project_id","in":"query"},{"description":"Environments to include in search","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Env Id","description":"Environments to include in search"},"name":"env_id","in":"query"},{"description":"Retrieve only events after this timestamp (seconds since epoch)","required":false,"schema":{"type":"integer","title":"Timestamp From","description":"Retrieve only events after this timestamp (seconds since epoch)"},"name":"timestamp_from","in":"query"},{"description":"Retrieve only events before this timestamp (seconds since epoch)","required":false,"schema":{"type":"integer","title":"Timestamp Until","description":"Retrieve only events before this timestamp (seconds since epoch)"},"name":"timestamp_until","in":"query"},{"description":"Page number of the results to fetch, starting at 1.","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page","description":"Page number of the results to fetch, starting at 1.","default":1},"name":"page","in":"query"},{"description":"The number of results per page (max 100).","required":false,"schema":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Per Page","description":"The number of results per page (max 100).","default":30},"name":"per_page","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LimitedPaginatedResult_ActivityLogEventRead_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/activity/types":{"get":{"tags":["Activity Log"],"summary":"List Activity Types","operationId":"list_activity_types","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/deprecated/activity":{"get":{"summary":"List Activity Events","description":"Fetches all API History events for given filters.","operationId":"list_activity_events_v2_deprecated_activity_get","parameters":[{"description":"Actor ID to search","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Actor Id","description":"Actor ID to search"},"name":"actor_id","in":"query"},{"description":"Actor display name to search","required":false,"schema":{"type":"string","title":"Actor Display Name","description":"Actor display name to search"},"name":"actor_display_name","in":"query"},{"description":"Actor type to search (member, user, api_key)","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Actor Type","description":"Actor type to search (member, user, api_key)"},"name":"actor_type","in":"query"},{"description":"Projects to include in search","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Project Id","description":"Projects to include in search"},"name":"project_id","in":"query"},{"description":"Environments to include in search","required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Env Id","description":"Environments to include in search"},"name":"env_id","in":"query"},{"description":"Retrieve only events after this timestamp (seconds since epoch)","required":false,"schema":{"type":"integer","title":"Timestamp From","description":"Retrieve only events after this timestamp (seconds since epoch)"},"name":"timestamp_from","in":"query"},{"description":"Retrieve only events before this timestamp (seconds since epoch)","required":false,"schema":{"type":"integer","title":"Timestamp Until","description":"Retrieve only events before this timestamp (seconds since epoch)"},"name":"timestamp_until","in":"query"},{"description":"Page number of the results to fetch, starting at 1.","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page","description":"Page number of the results to fetch, starting at 1.","default":1},"name":"page","in":"query"},{"description":"The number of results per page (max 100).","required":false,"schema":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Per Page","description":"The number of results per page (max 100).","default":30},"name":"per_page","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResult_ActivityLogEventRead_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"deprecated":true,"security":[{"HTTPBearer":[]}]}},"/v2/deprecated/activity/types":{"get":{"summary":"List Activity Types","operationId":"list_activity_types_v2_deprecated_activity_types_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"deprecated":true,"security":[{"HTTPBearer":[]}]}},"/v2/policy_guards/scopes":{"get":{"tags":["Policy Guards (EAP)"],"summary":"List Policy Guard Scopes","description":"List all guarding policies scopes.","operationId":"list_policy_guard_scopes","parameters":[{"description":"Page number of the results to fetch, starting at 1.","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page","description":"Page number of the results to fetch, starting at 1.","default":1},"name":"page","in":"query"},{"description":"The number of results per page (max 100).","required":false,"schema":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Per Page","description":"The number of results per page (max 100).","default":30},"name":"per_page","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PolicyGuardScopeRead"},"type":"array","title":"Response List Policy Guard Scopes V2 Policy Guards Scopes Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Policy Guards (EAP)"],"summary":"Create Policy Guard Scope","description":"Create a new Policy guard scope.","operationId":"create_policy_guard_scope","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyGuardScopeCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyGuardScopeRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/policy_guards/scopes/{policy_guard_scope_id}":{"get":{"tags":["Policy Guards (EAP)"],"summary":"Get Policy Guard Scope","description":"Get a Policy guard scope.","operationId":"get_policy_guard_scope","parameters":[{"description":"Either the unique id of the policy_guard_scope, or the URL-friendly key of the policy_guard_scope (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Policy Guard Scope Id","description":"Either the unique id of the policy_guard_scope, or the URL-friendly key of the policy_guard_scope (i.e: the \"slug\")."},"example":"my_policy_guard_scope","name":"policy_guard_scope_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyGuardScopeRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["Policy Guards (EAP)"],"summary":"Delete Policy Guard Scope","description":"Delete a Policy guard scope.","operationId":"delete_policy_guard_scope","parameters":[{"description":"Either the unique id of the policy_guard_scope, or the URL-friendly key of the policy_guard_scope (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Policy Guard Scope Id","description":"Either the unique id of the policy_guard_scope, or the URL-friendly key of the policy_guard_scope (i.e: the \"slug\")."},"example":"my_policy_guard_scope","name":"policy_guard_scope_id","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/policy_guards/scopes/{policy_guard_scope_id}/associate":{"post":{"tags":["Policy Guards (EAP)"],"summary":"Associate Policy Guard Scope","description":"associate a project to a Policy guard scope.","operationId":"associate_policy_guard_scope","parameters":[{"description":"Either the unique id of the policy_guard_scope, or the URL-friendly key of the policy_guard_scope (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Policy Guard Scope Id","description":"Either the unique id of the policy_guard_scope, or the URL-friendly key of the policy_guard_scope (i.e: the \"slug\")."},"example":"my_policy_guard_scope","name":"policy_guard_scope_id","in":"path"},{"description":"Time in seconds to wait for the task to complete. Default is 0, means no wait.","required":false,"schema":{"type":"number","title":"Wait","description":"Time in seconds to wait for the task to complete. Default is 0, means no wait.","default":0,"lte":60},"name":"wait","in":"query"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyGuardScopeAssociate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskResult_PolicyGuardScopeRead_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/policy_guards/scopes/{policy_guard_scope_id}/disassociate":{"delete":{"tags":["Policy Guards (EAP)"],"summary":"Disassociate Policy Guard Scope","description":"Disassociate a project from a Policy guard scope.","operationId":"disassociate_policy_guard_scope","parameters":[{"description":"Either the unique id of the policy_guard_scope, or the URL-friendly key of the policy_guard_scope (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Policy Guard Scope Id","description":"Either the unique id of the policy_guard_scope, or the URL-friendly key of the policy_guard_scope (i.e: the \"slug\")."},"example":"my_policy_guard_scope","name":"policy_guard_scope_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyGuardScopeAssociate"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/policy_guards/scopes/{policy_guard_scope_id}/rules":{"get":{"tags":["Policy Guards (EAP)"],"summary":"List Policy Guard Rules","description":"List all rules for a Policy guard scope.","operationId":"list_policy_guard_rules","parameters":[{"description":"Either the unique id of the policy_guard_scope, or the URL-friendly key of the policy_guard_scope (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Policy Guard Scope Id","description":"Either the unique id of the policy_guard_scope, or the URL-friendly key of the policy_guard_scope (i.e: the \"slug\")."},"example":"my_policy_guard_scope","name":"policy_guard_scope_id","in":"path"},{"description":"Page number of the results to fetch, starting at 1.","required":false,"schema":{"type":"integer","minimum":1.0,"title":"Page","description":"Page number of the results to fetch, starting at 1.","default":1},"name":"page","in":"query"},{"description":"The number of results per page (max 100).","required":false,"schema":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Per Page","description":"The number of results per page (max 100).","default":30},"name":"per_page","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PolicyGuardRuleRead"},"type":"array","title":"Response List Policy Guard Rules V2 Policy Guards Scopes Policy Guard Scope Id Rules Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Policy Guards (EAP)"],"summary":"Create Policy Guard Rule","description":"Create a policy guard rule.","operationId":"create_policy_guard_rule","parameters":[{"description":"Either the unique id of the policy_guard_scope, or the URL-friendly key of the policy_guard_scope (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Policy Guard Scope Id","description":"Either the unique id of the policy_guard_scope, or the URL-friendly key of the policy_guard_scope (i.e: the \"slug\")."},"example":"my_policy_guard_scope","name":"policy_guard_scope_id","in":"path"},{"description":"Time in seconds to wait for the task to complete. Default is 0, means no wait.","required":false,"schema":{"type":"number","title":"Wait","description":"Time in seconds to wait for the task to complete. Default is 0, means no wait.","default":0,"lte":60},"name":"wait","in":"query"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyGuardRuleCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskResult_PolicyGuardScopeRead_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["Policy Guards (EAP)"],"summary":"Delete Policy Guard Rule","description":"Remove a policy guard rule.","operationId":"delete_policy_guard_rule","parameters":[{"description":"Either the unique id of the policy_guard_scope, or the URL-friendly key of the policy_guard_scope (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Policy Guard Scope Id","description":"Either the unique id of the policy_guard_scope, or the URL-friendly key of the policy_guard_scope (i.e: the \"slug\")."},"example":"my_policy_guard_scope","name":"policy_guard_scope_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyGuardRuleItem"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/projects/{proj_id}/{env_id}/opal_scope":{"get":{"tags":["Scope Configurations"],"summary":"Get Scope Config","description":"Returns the custom OPAL Scope config for given environment, if exists.\nIf not custom config is set, return 404.","operationId":"get_scope_config","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScopeConfigRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"put":{"tags":["Scope Configurations"],"summary":"Set Scope Config","description":"Set or update the custom OPAL Scope config for a given environment.","operationId":"set_scope_config","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScopeConfigSet"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScopeConfigRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["Scope Configurations"],"summary":"Reset Scope Config","description":"Reset the custom OPAL Scope config for a given environment to the default.","operationId":"reset_scope_config","parameters":[{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/audit-log-replay":{"post":{"tags":["Audit Log Replay"],"summary":"Run the audit log replay","description":"Run the audit log replay with the given parameters. This will replay PDP requests based on audit logs.","operationId":"run_audit_log_replay","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuditLogReplayRequest"}}},"required":true},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuditLogReplayResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/internal/opal_data/{org_id}/{proj_id}/{env_id}/optimized":{"get":{"tags":["OPAL Data ( EAP )"],"summary":"Get All Data Optimized","operationId":"get_all_data_optimized","parameters":[{"description":"Either the unique id of the organization, or the URL-friendly key of the organization (i.e: the \"slug\").","required":true,"schema":{"type":"string","format":"uuid","title":"Org Id","description":"Either the unique id of the organization, or the URL-friendly key of the organization (i.e: the \"slug\")."},"example":"my_organization","name":"org_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"required":false,"schema":{"type":"integer","minimum":0.0,"title":"X-Shard-Id"},"name":"X-Shard-ID","in":"header"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/permit_backend__schemas__schema_opal_data__FullData"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/internal/opal_data/{org_id}/{proj_id}/{env_id}":{"get":{"tags":["OPAL Data ( EAP )"],"summary":"Get All Data","operationId":"get_all_data","parameters":[{"description":"Either the unique id of the organization, or the URL-friendly key of the organization (i.e: the \"slug\").","required":true,"schema":{"type":"string","format":"uuid","title":"Org Id","description":"Either the unique id of the organization, or the URL-friendly key of the organization (i.e: the \"slug\")."},"example":"my_organization","name":"org_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Timeout for the data generation in the new data generation mode","required":false,"schema":{"type":"number","maximum":1800.0,"exclusiveMinimum":0.0,"title":"Timeout","description":"Timeout for the data generation in the new data generation mode","default":600.0},"name":"timeout","in":"query"},{"required":false,"schema":{"type":"integer","minimum":0.0,"title":"X-Shard-Id"},"name":"X-Shard-ID","in":"header"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/data_generator_lib__schemas__schema_opal_data__FullData"},{"$ref":"#/components/schemas/permit_backend__schemas__schema_opal_data__FullData"}],"title":"Response Get All Data V2 Internal Opal Data Org Id Proj Id Env Id Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/internal/opal_data/{org_id}/{proj_id}/{env_id}/users":{"get":{"tags":["OPAL Data ( EAP )"],"summary":"Get All Users Data","operationId":"get_all_users_data","parameters":[{"description":"Either the unique id of the organization, or the URL-friendly key of the organization (i.e: the \"slug\").","required":true,"schema":{"type":"string","format":"uuid","title":"Org Id","description":"Either the unique id of the organization, or the URL-friendly key of the organization (i.e: the \"slug\")."},"example":"my_organization","name":"org_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Timeout for the data generation in the new data generation mode","required":false,"schema":{"type":"number","maximum":1800.0,"exclusiveMinimum":0.0,"title":"Timeout","description":"Timeout for the data generation in the new data generation mode","default":600.0},"name":"timeout","in":"query"},{"required":false,"schema":{"type":"integer","minimum":0.0,"title":"X-Shard-Id"},"name":"X-Shard-ID","in":"header"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"additionalProperties":{"$ref":"#/components/schemas/data_generator_lib__schemas__schema_opal_data__UserData"},"type":"object"},{"additionalProperties":{"$ref":"#/components/schemas/permit_backend__schemas__schema_opal_data__UserData"},"type":"object"}],"title":"Response Get All Users Data V2 Internal Opal Data Org Id Proj Id Env Id Users Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/internal/opal_data/{org_id}/{proj_id}/{env_id}/role_assignments":{"get":{"tags":["OPAL Data ( EAP )"],"summary":"Get All Role Assignments Data","operationId":"get_all_role_assignments_data","parameters":[{"description":"Either the unique id of the organization, or the URL-friendly key of the organization (i.e: the \"slug\").","required":true,"schema":{"type":"string","format":"uuid","title":"Org Id","description":"Either the unique id of the organization, or the URL-friendly key of the organization (i.e: the \"slug\")."},"example":"my_organization","name":"org_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Timeout for the data generation in the new data generation mode","required":false,"schema":{"type":"number","maximum":1800.0,"exclusiveMinimum":0.0,"title":"Timeout","description":"Timeout for the data generation in the new data generation mode","default":600.0},"name":"timeout","in":"query"},{"required":false,"schema":{"type":"integer","minimum":0.0,"title":"X-Shard-Id"},"name":"X-Shard-ID","in":"header"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"additionalProperties":{"items":{"type":"string"},"type":"array"},"type":"object"},"type":"object","title":"Response Get All Role Assignments Data V2 Internal Opal Data Org Id Proj Id Env Id Role Assignments Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/internal/opal_data/{org_id}/{proj_id}/{env_id}/resource_instances":{"get":{"tags":["OPAL Data ( EAP )"],"summary":"Get All Resource Instances Data","operationId":"get_all_resource_instances_data","parameters":[{"description":"Either the unique id of the organization, or the URL-friendly key of the organization (i.e: the \"slug\").","required":true,"schema":{"type":"string","format":"uuid","title":"Org Id","description":"Either the unique id of the organization, or the URL-friendly key of the organization (i.e: the \"slug\")."},"example":"my_organization","name":"org_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Timeout for the data generation in the new data generation mode","required":false,"schema":{"type":"number","maximum":1800.0,"exclusiveMinimum":0.0,"title":"Timeout","description":"Timeout for the data generation in the new data generation mode","default":600.0},"name":"timeout","in":"query"},{"required":false,"schema":{"type":"integer","minimum":0.0,"title":"X-Shard-Id"},"name":"X-Shard-ID","in":"header"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"additionalProperties":{"$ref":"#/components/schemas/data_generator_lib__schemas__schema_opal_data__ResourceInstanceAttributeData"},"type":"object"},{"additionalProperties":{"$ref":"#/components/schemas/permit_backend__schemas__schema_opal_data__ResourceInstanceAttributeData"},"type":"object"}],"title":"Response Get All Resource Instances Data V2 Internal Opal Data Org Id Proj Id Env Id Resource Instances Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/internal/opal_data/{org_id}/{proj_id}/{env_id}/relationships":{"get":{"tags":["OPAL Data ( EAP )"],"summary":"Get All Relationships Data","operationId":"get_all_relationships_data","parameters":[{"description":"Either the unique id of the organization, or the URL-friendly key of the organization (i.e: the \"slug\").","required":true,"schema":{"type":"string","format":"uuid","title":"Org Id","description":"Either the unique id of the organization, or the URL-friendly key of the organization (i.e: the \"slug\")."},"example":"my_organization","name":"org_id","in":"path"},{"description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Proj Id","description":"Either the unique id of the project, or the URL-friendly key of the project (i.e: the \"slug\")."},"example":"my_project","name":"proj_id","in":"path"},{"description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\").","required":true,"schema":{"type":"string","title":"Env Id","description":"Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the \"slug\")."},"example":"my_environment","name":"env_id","in":"path"},{"description":"Timeout for the data generation in the new data generation mode","required":false,"schema":{"type":"number","maximum":1800.0,"exclusiveMinimum":0.0,"title":"Timeout","description":"Timeout for the data generation in the new data generation mode","default":600.0},"name":"timeout","in":"query"},{"required":false,"schema":{"type":"integer","minimum":0.0,"title":"X-Shard-Id"},"name":"X-Shard-ID","in":"header"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"additionalProperties":{"additionalProperties":{"items":{"type":"string"},"type":"array"},"type":"object"},"type":"object"},"type":"object","title":"Response Get All Relationships Data V2 Internal Opal Data Org Id Proj Id Env Id Relationships Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}}},"components":{"schemas":{"APIHistoryEventFullRead":{"properties":{"request_body":{"type":"string","format":"binary","title":"Request Body"},"response_body":{"type":"string","format":"binary","title":"Response Body"},"timestamp":{"type":"string","format":"date-time","title":"Timestamp"},"timestamp_utc":{"type":"string","format":"date-time","title":"Timestamp Utc"},"method":{"type":"string","title":"Method"},"path":{"type":"string","title":"Path"},"success":{"type":"boolean","title":"Success"},"status":{"type":"integer","title":"Status"},"request_id":{"type":"string","format":"uuid","title":"Request Id"},"client_ip":{"type":"string","title":"Client Ip"},"actor_type":{"type":"string","title":"Actor Type"},"actor_id":{"type":"string","format":"uuid","title":"Actor Id"},"actor_display_name":{"type":"string","title":"Actor Display Name"},"org_id":{"type":"string","format":"uuid","title":"Org Id"},"project_key":{"type":"string","title":"Project Key"},"project_id":{"type":"string","format":"uuid","title":"Project Id"},"env_key":{"type":"string","title":"Env Key"},"env_id":{"type":"string","format":"uuid","title":"Env Id"},"id":{"type":"string","format":"uuid","title":"Id"}},"additionalProperties":false,"type":"object","required":["timestamp","method","path","success","status","client_ip","actor_type","actor_id","id"],"title":"APIHistoryEventFullRead"},"APIHistoryEventRead":{"properties":{"timestamp":{"type":"string","format":"date-time","title":"Timestamp"},"timestamp_utc":{"type":"string","format":"date-time","title":"Timestamp Utc"},"method":{"type":"string","title":"Method"},"path":{"type":"string","title":"Path"},"success":{"type":"boolean","title":"Success"},"status":{"type":"integer","title":"Status"},"request_id":{"type":"string","format":"uuid","title":"Request Id"},"client_ip":{"type":"string","title":"Client Ip"},"actor_type":{"type":"string","title":"Actor Type"},"actor_id":{"type":"string","format":"uuid","title":"Actor Id"},"actor_display_name":{"type":"string","title":"Actor Display Name"},"org_id":{"type":"string","format":"uuid","title":"Org Id"},"project_key":{"type":"string","title":"Project Key"},"project_id":{"type":"string","format":"uuid","title":"Project Id"},"env_key":{"type":"string","title":"Env Key"},"env_id":{"type":"string","format":"uuid","title":"Env Id"},"id":{"type":"string","format":"uuid","title":"Id"}},"additionalProperties":false,"type":"object","required":["timestamp","method","path","success","status","client_ip","actor_type","actor_id","id"],"title":"APIHistoryEventRead"},"APIKeyCreate":{"properties":{"organization_id":{"type":"string","format":"uuid","title":"Organization Id"},"project_id":{"type":"string","format":"uuid","title":"Project Id"},"environment_id":{"type":"string","format":"uuid","title":"Environment Id"},"object_type":{"allOf":[{"$ref":"#/components/schemas/MemberAccessObj"}],"default":"env"},"access_level":{"allOf":[{"$ref":"#/components/schemas/MemberAccessLevel"}],"default":"admin"},"owner_type":{"allOf":[{"$ref":"#/components/schemas/APIKeyOwnerType"}],"default":"member"},"name":{"type":"string","title":"Name"}},"additionalProperties":false,"type":"object","required":["organization_id"],"title":"APIKeyCreate"},"APIKeyOwnerType":{"type":"string","enum":["pdp_config","member","elements"],"title":"APIKeyOwnerType","description":"An enumeration."},"APIKeyRead":{"properties":{"organization_id":{"type":"string","format":"uuid","title":"Organization Id"},"project_id":{"type":"string","format":"uuid","title":"Project Id"},"environment_id":{"type":"string","format":"uuid","title":"Environment Id"},"object_type":{"allOf":[{"$ref":"#/components/schemas/MemberAccessObj"}],"default":"env"},"access_level":{"allOf":[{"$ref":"#/components/schemas/MemberAccessLevel"}],"default":"admin"},"owner_type":{"$ref":"#/components/schemas/APIKeyOwnerType"},"name":{"type":"string","title":"Name"},"id":{"type":"string","format":"uuid","title":"Id"},"secret":{"type":"string","title":"Secret"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"created_by_member":{"$ref":"#/components/schemas/OrgMemberRead"},"last_used_at":{"type":"string","format":"date-time","title":"Last Used At"},"env":{"$ref":"#/components/schemas/EnvironmentRead"},"project":{"$ref":"#/components/schemas/ProjectRead"}},"additionalProperties":false,"type":"object","required":["organization_id","owner_type","id","created_at"],"title":"APIKeyRead"},"APIKeyScopeRead":{"properties":{"organization_id":{"type":"string","format":"uuid","title":"Organization Id","description":"Unique id of the organization that the api_key belongs to."},"project_id":{"type":"string","format":"uuid","title":"Project Id","description":"Unique id of the project that the api_key belongs to."},"environment_id":{"type":"string","format":"uuid","title":"Environment Id","description":"Unique id of the environment that the api_key belongs to."}},"additionalProperties":false,"type":"object","required":["organization_id"],"title":"APIKeyScopeRead"},"AVPEngineDecisionLog":{"properties":{"engine":{"type":"string","enum":["AVP"],"title":"Engine","default":"AVP"},"timestamp":{"type":"string","format":"date-time","title":"Timestamp"},"tenant":{"type":"string","title":"Tenant"},"process_time_ms":{"type":"integer","title":"Process Time Ms"},"input":{"type":"object","title":"Input"},"result":{"type":"object","title":"Result"}},"type":"object","required":["timestamp","tenant","input","result"],"title":"AVPEngineDecisionLog"},"AccessRequestApproved":{"properties":{"reviewer_comment":{"type":"string","title":"Reviewer Comment","description":"comment provided by the reviewer_user_id"},"access_request_details":{"allOf":[{"$ref":"#/components/schemas/AccessRequestDetails"}],"title":"Access Request Details","description":"details of the access request, including the resource and tenant"},"reason":{"type":"string","title":"Reason","description":"Optional business justification provided by the user requesting access"},"id":{"type":"string","format":"uuid","title":"Id","description":"Unique id of the access request"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id","description":"Unique id of the organization that the access request belongs to."},"project_id":{"type":"string","format":"uuid","title":"Project Id","description":"Unique id of the project that the access request belongs to."},"environment_id":{"type":"string","format":"uuid","title":"Environment Id","description":"Unique id of the environment that the access request belongs to."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Date and time when the access request was created (ISO_8601 format)."},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"Date and time when the access request was last updated/modified (ISO_8601 format)."},"requesting_user_id":{"type":"string","format":"uuid","title":"Requesting User Id","description":"optional id of the user that is requesting the access"},"reviewed_at":{"type":"string","format":"date-time","title":"Reviewed At","description":"when the access request was reviewed"},"type":{"allOf":[{"$ref":"#/components/schemas/RequestType"}],"default":"access_request"},"status":{"allOf":[{"$ref":"#/components/schemas/RequestStatus"}],"description":"current status of the access request"},"reviewer_user_id":{"type":"string","format":"uuid","title":"Reviewer User Id","description":"Optional id of the user who review the access request"}},"additionalProperties":false,"type":"object","required":["access_request_details","id","organization_id","project_id","environment_id","created_at","updated_at","status"],"title":"AccessRequestApproved","example":{"requesting_user_id":"1c1e4ada-f282-40e6-b3b7-20b3a51c93b5","access_request_details":{"tenant":"34f5c98e-f430-457b-a812-92637d0c6fd0","resource":"4d5215ed-38bb-48ed-879a-fdb9ca58522f","resource_instance":"2d98d9f8-e1b7-4f1d-baad-2edbf6fa6c66","role":"ac4e70c8-d5be-48af-93eb-760f58fc91a9"},"reason":"done onboarding","org_id":"7c60d51f-b44e-4682-87d6-449835ea4de6","project_id":"405d8375-3514-403b-8c43-83ae74cfe0e9","env_id":"40ef0e48-a11f-4963-a229-e396c9f7e7c4","created_at":"2019-08-24T14:15:22Z","updated_at":"2019-08-24T14:15:22Z","status":"approved","reviewer_user_id":"1b287364-14ff-4b72-8953-b40399093a6f","reviewed_at":"2019-08-24T14:15:22Z","reviewer_comment":"new employee","type":"access_request"}},"AccessRequestCanceled":{"properties":{"reviewer_comment":{"type":"string","title":"Reviewer Comment","description":"comment provided by the reviewer_user_id"},"access_request_details":{"allOf":[{"$ref":"#/components/schemas/AccessRequestDetails"}],"title":"Access Request Details","description":"details of the access request, including the resource and tenant"},"reason":{"type":"string","title":"Reason","description":"Optional business justification provided by the user requesting access"},"id":{"type":"string","format":"uuid","title":"Id","description":"Unique id of the access request"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id","description":"Unique id of the organization that the access request belongs to."},"project_id":{"type":"string","format":"uuid","title":"Project Id","description":"Unique id of the project that the access request belongs to."},"environment_id":{"type":"string","format":"uuid","title":"Environment Id","description":"Unique id of the environment that the access request belongs to."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Date and time when the access request was created (ISO_8601 format)."},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"Date and time when the access request was last updated/modified (ISO_8601 format)."},"requesting_user_id":{"type":"string","format":"uuid","title":"Requesting User Id","description":"optional id of the user that is requesting the access"},"reviewed_at":{"type":"string","format":"date-time","title":"Reviewed At","description":"when the access request was reviewed"},"type":{"allOf":[{"$ref":"#/components/schemas/RequestType"}],"default":"access_request"},"status":{"allOf":[{"$ref":"#/components/schemas/RequestStatus"}],"description":"current status of the access request"},"reviewer_user_id":{"type":"string","format":"uuid","title":"Reviewer User Id","description":"Optional id of the user who review the access request"}},"additionalProperties":false,"type":"object","required":["access_request_details","id","organization_id","project_id","environment_id","created_at","updated_at","status"],"title":"AccessRequestCanceled","example":{"requesting_user_id":"1c1e4ada-f282-40e6-b3b7-20b3a51c93b5","access_request_details":{"tenant":"34f5c98e-f430-457b-a812-92637d0c6fd0","resource":"4d5215ed-38bb-48ed-879a-fdb9ca58522f","resource_instance":"2d98d9f8-e1b7-4f1d-baad-2edbf6fa6c66","role":"ac4e70c8-d5be-48af-93eb-760f58fc91a9"},"reason":"done onboarding","org_id":"7c60d51f-b44e-4682-87d6-449835ea4de6","project_id":"405d8375-3514-403b-8c43-83ae74cfe0e9","env_id":"40ef0e48-a11f-4963-a229-e396c9f7e7c4","created_at":"2019-08-24T14:15:22Z","updated_at":"2019-08-24T14:15:22Z","status":"canceled","type":"access_request"}},"AccessRequestCreateDetails":{"properties":{"tenant":{"type":"string","title":"Tenant","description":"tenant id or key that the user is requesting access to"},"resource":{"type":"string","title":"Resource","description":"resource id or key that the user is requesting access to"},"resource_instance":{"type":"string","title":"Resource Instance","description":"resource instance id or key that the user is requesting access to"},"role":{"type":"string","title":"Role","description":"role id or key that the user is requesting access to"}},"additionalProperties":false,"type":"object","required":["tenant","role"],"title":"AccessRequestCreateDetails"},"AccessRequestDenied":{"properties":{"reviewer_comment":{"type":"string","title":"Reviewer Comment","description":"comment provided by the reviewer_user_id"},"access_request_details":{"allOf":[{"$ref":"#/components/schemas/AccessRequestDetails"}],"title":"Access Request Details","description":"details of the access request, including the resource and tenant"},"reason":{"type":"string","title":"Reason","description":"Optional business justification provided by the user requesting access"},"id":{"type":"string","format":"uuid","title":"Id","description":"Unique id of the access request"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id","description":"Unique id of the organization that the access request belongs to."},"project_id":{"type":"string","format":"uuid","title":"Project Id","description":"Unique id of the project that the access request belongs to."},"environment_id":{"type":"string","format":"uuid","title":"Environment Id","description":"Unique id of the environment that the access request belongs to."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Date and time when the access request was created (ISO_8601 format)."},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"Date and time when the access request was last updated/modified (ISO_8601 format)."},"requesting_user_id":{"type":"string","format":"uuid","title":"Requesting User Id","description":"optional id of the user that is requesting the access"},"reviewed_at":{"type":"string","format":"date-time","title":"Reviewed At","description":"when the access request was reviewed"},"type":{"allOf":[{"$ref":"#/components/schemas/RequestType"}],"default":"access_request"},"status":{"allOf":[{"$ref":"#/components/schemas/RequestStatus"}],"description":"current status of the access request"},"reviewer_user_id":{"type":"string","format":"uuid","title":"Reviewer User Id","description":"Optional id of the user who review the access request"}},"additionalProperties":false,"type":"object","required":["access_request_details","id","organization_id","project_id","environment_id","created_at","updated_at","status"],"title":"AccessRequestDenied","example":{"requesting_user_id":"1c1e4ada-f282-40e6-b3b7-20b3a51c93b5","access_request_details":{"tenant":"34f5c98e-f430-457b-a812-92637d0c6fd0","resource":"4d5215ed-38bb-48ed-879a-fdb9ca58522f","resource_instance":"2d98d9f8-e1b7-4f1d-baad-2edbf6fa6c66","role":"ac4e70c8-d5be-48af-93eb-760f58fc91a9"},"reason":"done onboarding","org_id":"7c60d51f-b44e-4682-87d6-449835ea4de6","project_id":"405d8375-3514-403b-8c43-83ae74cfe0e9","env_id":"40ef0e48-a11f-4963-a229-e396c9f7e7c4","created_at":"2019-08-24T14:15:22Z","updated_at":"2019-08-24T14:15:22Z","status":"denied","reviewer_user_id":"1b287364-14ff-4b72-8953-b40399093a6f","reviewed_at":"2019-08-24T14:15:22Z","reviewer_comment":"need more info","type":"access_request"}},"AccessRequestDetails":{"properties":{"tenant":{"type":"string","title":"Tenant","description":"tenant id or key that the user is requesting access to"},"resource":{"type":"string","title":"Resource","description":"resource id or key that the user is requesting access to"},"resource_instance":{"type":"string","title":"Resource Instance","description":"Either the unique id of the resource instance that the user is requesting access to, or the URL-friendly key of the (i.e: file:my_file)"},"role":{"type":"string","title":"Role","description":"role id or key that the user is requesting access to"},"element_config_id":{"type":"string","title":"Element Config Id","description":"element config id or key that the user is requesting access request from"}},"additionalProperties":false,"type":"object","required":["tenant","resource","role"],"title":"AccessRequestDetails"},"AccessRequestRead":{"properties":{"access_request_details":{"allOf":[{"$ref":"#/components/schemas/AccessRequestDetails"}],"title":"Access Request Details","description":"details of the access request, including the resource and tenant"},"reason":{"type":"string","title":"Reason","description":"Optional business justification provided by the user requesting access"},"id":{"type":"string","format":"uuid","title":"Id","description":"Unique id of the access request"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id","description":"Unique id of the organization that the access request belongs to."},"project_id":{"type":"string","format":"uuid","title":"Project Id","description":"Unique id of the project that the access request belongs to."},"environment_id":{"type":"string","format":"uuid","title":"Environment Id","description":"Unique id of the environment that the access request belongs to."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Date and time when the access request was created (ISO_8601 format)."},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"Date and time when the access request was last updated/modified (ISO_8601 format)."},"requesting_user_id":{"type":"string","format":"uuid","title":"Requesting User Id","description":"optional id of the user that is requesting the access"},"reviewed_at":{"type":"string","format":"date-time","title":"Reviewed At","description":"when the access request was reviewed"},"type":{"allOf":[{"$ref":"#/components/schemas/RequestType"}],"default":"access_request"},"reviewer_comment":{"type":"string","title":"Reviewer Comment","description":"comment provided by the reviewer_user_id"},"status":{"allOf":[{"$ref":"#/components/schemas/RequestStatus"}],"description":"current status of the access request"},"reviewer_user_id":{"type":"string","format":"uuid","title":"Reviewer User Id","description":"Optional id of the user who review the access request"}},"additionalProperties":false,"type":"object","required":["access_request_details","id","organization_id","project_id","environment_id","created_at","updated_at","status"],"title":"AccessRequestRead","example":{"requesting_user_id":"1c1e4ada-f282-40e6-b3b7-20b3a51c93b5","access_request_details":{"tenant":"34f5c98e-f430-457b-a812-92637d0c6fd0","resource":"4d5215ed-38bb-48ed-879a-fdb9ca58522f","resource_instance":"2d98d9f8-e1b7-4f1d-baad-2edbf6fa6c66","role":"ac4e70c8-d5be-48af-93eb-760f58fc91a9"},"reason":"string","org_id":"7c60d51f-b44e-4682-87d6-449835ea4de6","project_id":"405d8375-3514-403b-8c43-83ae74cfe0e9","env_id":"40ef0e48-a11f-4963-a229-e396c9f7e7c4","created_at":"2019-08-24T14:15:22Z","updated_at":"2019-08-24T14:15:22Z","status":"approved","reviewer_user_id":"1b287364-14ff-4b72-8953-b40399093a6f","reviewed_at":"2019-08-24T14:15:22Z","reviewer_comment":"new employee","type":"access_request"}},"AccessRequestReview":{"properties":{"reviewer_comment":{"type":"string","title":"Reviewer Comment","description":"comment provided by the reviewer_user_id"},"role":{"type":"string","title":"Role","description":"role id or key that the user is requesting access to"}},"additionalProperties":false,"type":"object","title":"AccessRequestReview","example":{"reviewer_comment":"new employee","role":"ac4e70c8-d5be-48af-93eb-760f58fc91a9"}},"AccessRequestReviewDeny":{"properties":{"reviewer_comment":{"type":"string","title":"Reviewer Comment","description":"comment provided by the reviewer_user_id"}},"additionalProperties":false,"type":"object","title":"AccessRequestReviewDeny","example":{"reviewer_comment":"need more info"}},"AccessRequestUserCreate":{"properties":{"access_request_details":{"allOf":[{"$ref":"#/components/schemas/AccessRequestCreateDetails"}],"title":"Access Request Details","description":"details of the access request, including the resource and tenant"},"reason":{"type":"string","title":"Reason","description":"Optional business justification provided by the user requesting access"}},"additionalProperties":false,"type":"object","required":["access_request_details"],"title":"AccessRequestUserCreate","example":{"access_request_details":{"tenant":"34f5c98e-f430-457b-a812-92637d0c6fd0","resource":"4d5215ed-38bb-48ed-879a-fdb9ca58522f","resource_instance":"2d98d9f8-e1b7-4f1d-baad-2edbf6fa6c66","role":"ac4e70c8-d5be-48af-93eb-760f58fc91a9"},"reason":"done onboarding"}},"ActionBlockEditable":{"properties":{"name":{"type":"string","title":"Name","description":"a more descriptive name for the action"},"description":{"type":"string","title":"Description","description":"optional description string explaining what this action represents in your system"},"attributes":{"type":"object","title":"Attributes"},"v1compat_path":{"type":"string","title":"V1Compat Path","hidden_from_schema":true},"v1compat_name":{"type":"string","title":"V1Compat Name","hidden_from_schema":true}},"additionalProperties":false,"type":"object","title":"ActionBlockEditable"},"ActionBlockRead":{"properties":{"name":{"type":"string","title":"Name","description":"a more descriptive name for the action"},"description":{"type":"string","title":"Description","description":"optional description string explaining what this action represents in your system"},"attributes":{"type":"object","title":"Attributes"},"v1compat_path":{"type":"string","title":"V1Compat Path","hidden_from_schema":true},"v1compat_name":{"type":"string","title":"V1Compat Name","hidden_from_schema":true},"id":{"type":"string","format":"uuid","title":"Id","description":"Unique id of the action"},"key":{"type":"string","title":"Key","description":"action key"}},"additionalProperties":false,"type":"object","required":["id"],"title":"ActionBlockRead"},"ActionObj":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"key":{"type":"string","title":"Key"},"name":{"type":"string","title":"Name"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","key","created_at","updated_at"],"title":"ActionObj"},"ActivityDetailsList":{"properties":{"kind":{"type":"string","enum":["list"],"title":"Kind","default":"list"},"type":{"type":"string","title":"Type"},"items":{"items":{"$ref":"#/components/schemas/ActivityDetailsObjectData"},"type":"array","title":"Items"}},"additionalProperties":false,"type":"object","required":["type","items"],"title":"ActivityDetailsList"},"ActivityDetailsObject":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"key":{"type":"string","title":"Key"},"kind":{"type":"string","enum":["object"],"title":"Kind","default":"object"},"type":{"type":"string","title":"Type"}},"additionalProperties":false,"type":"object","required":["type"],"title":"ActivityDetailsObject"},"ActivityDetailsObjectData":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"key":{"type":"string","title":"Key"}},"additionalProperties":false,"type":"object","title":"ActivityDetailsObjectData"},"ActivityLogEventRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"timestamp":{"type":"string","format":"date-time","title":"Timestamp"},"activity_id":{"type":"string","title":"Activity Id"},"activity_description":{"type":"string","title":"Activity Description"},"activity_details":{"additionalProperties":{"oneOf":[{"$ref":"#/components/schemas/ActivityDetailsObject"},{"$ref":"#/components/schemas/ActivityDetailsList"}],"discriminator":{"propertyName":"kind","mapping":{"object":"#/components/schemas/ActivityDetailsObject","list":"#/components/schemas/ActivityDetailsList"}}},"type":"object","title":"Activity Details"},"client_ip":{"type":"string","title":"Client Ip"},"actor_type":{"type":"string","title":"Actor Type"},"actor_id":{"type":"string","format":"uuid","title":"Actor Id"},"actor_display_name":{"type":"string","title":"Actor Display Name"},"org_id":{"type":"string","format":"uuid","title":"Org Id"},"project_key":{"type":"string","title":"Project Key"},"project_id":{"type":"string","format":"uuid","title":"Project Id"},"env_key":{"type":"string","title":"Env Key"},"env_id":{"type":"string","format":"uuid","title":"Env Id"}},"additionalProperties":false,"type":"object","required":["id","timestamp","client_ip","actor_type","actor_id"],"title":"ActivityLogEventRead"},"AddRolePermissions":{"properties":{"permissions":{"items":{"type":"string"},"type":"array","title":"Permissions","description":"List of permissions to assign to the role. If a permission is already granted to the role it is skipped. Each permission can be either a resource action id, or `{resource_key}:{action_key}`, i.e: the \"permission name\"."}},"additionalProperties":false,"type":"object","required":["permissions"],"title":"AddRolePermissions","example":{"permissions":["document:write"]}},"ApproveMessage":{"properties":{"message":{"type":"string","title":"Message"}},"additionalProperties":false,"type":"object","required":["message"],"title":"ApproveMessage"},"AttributeBlockEditable":{"properties":{"type":{"allOf":[{"$ref":"#/components/schemas/AttributeType"}],"description":"The type of the attribute, we currently support: `bool`, `number` (ints, floats), `time` (a timestamp), `string`, and `json`."},"description":{"type":"string","title":"Description","description":"optional description string explaining what data this attribute will store"}},"additionalProperties":false,"type":"object","required":["type"],"title":"AttributeBlockEditable"},"AttributeBlockRead":{"properties":{"type":{"allOf":[{"$ref":"#/components/schemas/AttributeType"}],"description":"The type of the attribute, we currently support: `bool`, `number` (ints, floats), `time` (a timestamp), `string`, and `json`."},"description":{"type":"string","title":"Description","description":"optional description string explaining what data this attribute will store"},"id":{"type":"string","format":"uuid","title":"Id","description":"Unique id of the attribute"},"key":{"type":"string","title":"Key","description":"action key"}},"additionalProperties":false,"type":"object","required":["type","id"],"title":"AttributeBlockRead"},"AttributeType":{"type":"string","enum":["bool","number","string","time","array","json","object","object_array"],"title":"AttributeType","description":"supported attribute primitives"},"AuditLogModel":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"raw_data":{"anyOf":[{"$ref":"#/components/schemas/OPAEngineDecisionLog"},{"$ref":"#/components/schemas/AVPEngineDecisionLog"},{"$ref":"#/components/schemas/GenericEngineDecisionLog"},{"$ref":"#/components/schemas/DummyEngineModel"}],"title":"Raw Data","hidden_from_schema":true},"timestamp":{"type":"string","format":"date-time","title":"Timestamp"},"created_at":{"type":"string","format":"date-time","title":"Created At","hidden_from_schema":true},"query":{"type":"string","title":"Query"},"user_key":{"type":"string","title":"User Key"},"user_email":{"type":"string","title":"User Email"},"user_name":{"type":"string","title":"User Name"},"resource_type":{"type":"string","title":"Resource Type"},"tenant":{"type":"string","title":"Tenant"},"action":{"type":"string","title":"Action"},"decision":{"type":"boolean","title":"Decision"},"reason":{"type":"string","title":"Reason"},"org_id":{"type":"string","format":"uuid","title":"Org Id"},"project_id":{"type":"string","format":"uuid","title":"Project Id"},"env_id":{"type":"string","format":"uuid","title":"Env Id"},"pdp_config_id":{"type":"string","format":"uuid","title":"Pdp Config Id"},"input":{"title":"Input"},"result":{"title":"Result"},"context":{"title":"Context"}},"additionalProperties":false,"type":"object","required":["id","timestamp","org_id","project_id","env_id"],"title":"AuditLogModel"},"AuditLogObjectsModel":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"organization_object":{"anyOf":[{"$ref":"#/components/schemas/OrganizationObj"},{"type":"object"}],"title":"Organization Object"},"project_object":{"anyOf":[{"$ref":"#/components/schemas/ProjectObj"},{"type":"object"}],"title":"Project Object"},"environment_object":{"anyOf":[{"$ref":"#/components/schemas/EnvironmentObj"},{"type":"object"}],"title":"Environment Object"},"pdp_config_object":{"anyOf":[{"$ref":"#/components/schemas/PdpConfigObj"},{"type":"object"}],"title":"Pdp Config Object"},"user_object":{"$ref":"#/components/schemas/UserObj"},"action_object":{"$ref":"#/components/schemas/ActionObj"},"resource_type_object":{"$ref":"#/components/schemas/ResourceTypeObj"},"tenant_object":{"$ref":"#/components/schemas/TenantObj"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"additionalProperties":false,"type":"object","title":"AuditLogObjectsModel"},"AuditLogQueryType":{"type":"string","enum":["check","get_user_permissions","get_authorized_users","none"],"title":"AuditLogQueryType","description":"Filter audit logs by the type of query that generated them."},"AuditLogReplayRequest":{"properties":{"pdp_url":{"type":"string","title":"Pdp Url","description":"URL of the PDP to test against","example":"http://mydomain.com:7766"},"start_time":{"type":"integer","title":"Start Time","description":"Start time for the query (in seconds since epoch). Defaults to 24 hours ago.","example":1616432400},"end_time":{"type":"integer","title":"End Time","description":"End time for the query (in seconds since epoch). Defaults to current time.","example":1616518800},"concurrency_limit":{"type":"integer","title":"Concurrency Limit","description":"Concurrency limit for processing documents (max: 5)","default":10,"example":10},"graceful_shutdown_s":{"type":"integer","title":"Graceful Shutdown S","description":"Graceful shutdown time in seconds","default":60,"example":60}},"type":"object","required":["pdp_url"],"title":"AuditLogReplayRequest","description":"Request model for audit log replay"},"AuditLogReplayResponse":{"properties":{"message":{"type":"string","title":"Message"},"document_count":{"type":"integer","title":"Document Count"}},"type":"object","required":["message","document_count"],"title":"AuditLogReplayResponse","description":"Response model for audit log replay"},"AuditLogSortKey":{"type":"string","enum":["None","timestamp"],"title":"AuditLogSortKey","description":"An enumeration."},"AuthMechanism":{"type":"string","enum":["Bearer","Basic","Headers"],"title":"AuthMechanism","description":"An enumeration."},"BillingTierType":{"type":"string","enum":["free","startup","pro","enterprise","internal","trial"],"title":"BillingTierType","description":"An enumeration."},"BulkRoleAssignmentReport":{"properties":{"assignments_created":{"type":"integer","title":"Assignments Created","default":0}},"additionalProperties":false,"type":"object","title":"BulkRoleAssignmentReport"},"BulkRoleUnAssignmentReport":{"properties":{"assignments_removed":{"type":"integer","title":"Assignments Removed","default":0}},"additionalProperties":false,"type":"object","title":"BulkRoleUnAssignmentReport"},"ConditionSet":{"properties":{"key":{"type":"string","title":"Key","description":"The key of the condition set."},"attribute":{"type":"string","title":"Attribute","description":"The attribute of the condition set."},"operator":{"type":"string","title":"Operator","description":"The operator of the condition set."},"value":{"type":"string","title":"Value","description":"The value of the condition set."}},"additionalProperties":false,"type":"object","required":["key","attribute","operator","value"],"title":"ConditionSet"},"ConditionSetCreate":{"properties":{"key":{"type":"string","minLength":1,"pattern":"^[A-Za-z0-9\\-_]+$","title":"Key","description":"A unique id by which Permit will identify the condition set. The key will be used as the generated rego rule name."},"type":{"allOf":[{"$ref":"#/components/schemas/ConditionSetType"}],"description":"the type of the set: UserSet or ResourceSet","default":"userset"},"autogenerated":{"type":"boolean","title":"Autogenerated","description":"whether the set was autogenerated by the system.","default":false},"resource_id":{"anyOf":[{"type":"string"},{"type":"string","format":"uuid"}],"title":"Resource Id","description":"For ResourceSets, the id of the base resource."},"name":{"type":"string","title":"Name","description":"A descriptive name for the set, i.e: 'US based employees' or 'Users behind VPN'"},"description":{"type":"string","title":"Description","description":"an optional longer description of the set"},"conditions":{"type":"object","title":"Conditions","description":"a boolean expression that consists of multiple conditions, with and/or logic.","default":{}},"parent_id":{"anyOf":[{"type":"string"},{"type":"string","format":"uuid"}],"title":"Parent Id","description":"Parent Condition Set"}},"additionalProperties":false,"type":"object","required":["key","name"],"title":"ConditionSetCreate","example":{"key":"na_based_employees","name":"US or Canada based employees","type":"userset","conditions":{"allOf":[{"user.role":{"equals":"employee"}},{"user.location":{"in":["US","Canada"]}}]}}},"ConditionSetRead":{"properties":{"key":{"type":"string","title":"Key","description":"A unique id by which Permit will identify the condition set. The key will be used as the generated rego rule name."},"type":{"allOf":[{"$ref":"#/components/schemas/ConditionSetType"}],"description":"the type of the set: UserSet or ResourceSet","default":"userset"},"autogenerated":{"type":"boolean","title":"Autogenerated","description":"whether the set was autogenerated by the system.","default":false},"resource_id":{"anyOf":[{"type":"string"},{"type":"string","format":"uuid"}],"title":"Resource Id","description":"For ResourceSets, the id of the base resource."},"id":{"type":"string","format":"uuid","title":"Id","description":"Unique id of the condition set"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id","description":"Unique id of the organization that the condition set belongs to."},"project_id":{"type":"string","format":"uuid","title":"Project Id","description":"Unique id of the project that the condition set belongs to."},"environment_id":{"type":"string","format":"uuid","title":"Environment Id","description":"Unique id of the environment that the condition set belongs to."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Date and time when the condition set was created (ISO_8601 format)."},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"Date and time when the condition set was last updated/modified (ISO_8601 format)."},"resource":{"$ref":"#/components/schemas/ResourceRead"},"name":{"type":"string","title":"Name","description":"A descriptive name for the set, i.e: 'US based employees' or 'Users behind VPN'"},"description":{"type":"string","title":"Description","description":"an optional longer description of the set"},"conditions":{"type":"object","title":"Conditions","description":"a boolean expression that consists of multiple conditions, with and/or logic.","default":{}},"parent_id":{"anyOf":[{"type":"string"},{"type":"string","format":"uuid"}],"title":"Parent Id","description":"Parent Condition Set"}},"additionalProperties":false,"type":"object","required":["key","id","organization_id","project_id","environment_id","created_at","updated_at","name"],"title":"ConditionSetRead","example":{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","organization_id":"7c60d51f-b44e-4682-87d6-449835ea4de6","project_id":"405d8375-3514-403b-8c43-83ae74cfe0e9","resource_id":"e05f8571-f31e-20b2-2c45-15ae74cfb0f1","environment_id":"40ef0e48-a11f-4963-a229-e396c9f7e7c4","created_at":"2019-08-24T14:15:22Z","updated_at":"2019-08-24T14:15:22Z","key":"na_based_employees","name":"US or Canada based employees","description":"All employees based in the US or Canada","type":"userset","autogenerated":false,"conditions":{"allOf":[{"user.role":{"equals":"employee"}},{"user.location":{"in":["US","Canada"]}}]}}},"ConditionSetRuleCreate":{"properties":{"user_set":{"type":"string","title":"User Set","description":"The userset that will be given permission, i.e: all the users matching this rule will be given the specified permission"},"permission":{"type":"string","title":"Permission","description":"The permission that will be granted to the userset *on* the resourceset. The permission can be either a resource action id, or `{resource_key}:{action_key}`, i.e: the \"permission name\"."},"resource_set":{"type":"string","title":"Resource Set","description":"The resourceset that represents the resources that are granted for access, i.e: all the resources matching this rule can be accessed by the userset to perform the granted *permission*"},"is_role":{"type":"boolean","title":"Is Role","description":"if True, will set the condition set rule to the role's autogen user-set.","default":false},"is_resource":{"type":"boolean","title":"Is Resource","description":"if True, will set the condition set rule to the resource's autogen resource-set.","default":false}},"additionalProperties":false,"type":"object","required":["user_set","permission","resource_set"],"title":"ConditionSetRuleCreate","example":{"user_set":"us_based_employees","permission":"repository:clone","resource_set":"private_repos"}},"ConditionSetRuleRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id","description":"Unique id of the condition set rule"},"key":{"type":"string","title":"Key","description":"A unique id by which Permit will identify this condition set rule."},"user_set":{"type":"string","title":"User Set","description":"the userset that is currently granted permissions, i.e: all the users matching this rule are granted the permission on the resourceset"},"permission":{"type":"string","title":"Permission","description":"a permission that is currently granted to the userset *on* the resourceset."},"resource_set":{"type":"string","title":"Resource Set","description":"the resourceset that represents the resources that are currently granted for access, i.e: all the resources matching this rule can be accessed by the userset to perform the granted *permission*"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id","description":"Unique id of the organization that the condition set rule belongs to."},"project_id":{"type":"string","format":"uuid","title":"Project Id","description":"Unique id of the project that the condition set rule belongs to."},"environment_id":{"type":"string","format":"uuid","title":"Environment Id","description":"Unique id of the environment that the condition set rule belongs to."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Date and time when the condition set rule was created (ISO_8601 format)."},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"Date and time when the condition set rule was last updated/modified (ISO_8601 format)."}},"additionalProperties":false,"type":"object","required":["id","key","user_set","permission","resource_set","organization_id","project_id","environment_id","created_at","updated_at"],"title":"ConditionSetRuleRead","example":{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","key":"us_based_employees_can_repository_clone_private_repos","user_set":"us_based_employees","permission":"repository:clone","resource_set":"private_repos","organization_id":"7c60d51f-b44e-4682-87d6-449835ea4de6","project_id":"405d8375-3514-403b-8c43-83ae74cfe0e9","environment_id":"40ef0e48-a11f-4963-a229-e396c9f7e7c4","created_at":"2019-08-24T14:15:22Z","updated_at":"2019-08-24T14:16:22Z"}},"ConditionSetRuleRemove":{"properties":{"user_set":{"type":"string","title":"User Set","description":"The userset that will be unassigned these permission, i.e: all the users matching this rule will lose the specified permission"},"permission":{"type":"string","title":"Permission","description":"The permission that will be removed from the userset *on* the resourceset. The permission can be either a resource action id, or `{resource_key}:{action_key}`, i.e: the \"permission name\"."},"resource_set":{"type":"string","title":"Resource Set","description":"The resourceset that represents the resources that are no longer granted for access, i.e: all the resources matching this rule can no longer be accessed by the userset, and will be revoked the specified *permission*"},"is_role":{"type":"boolean","title":"Is Role","description":"if True, will set the condition set rule to the role's autogen user-set.","default":false},"is_resource":{"type":"boolean","title":"Is Resource","description":"if True, will set the condition set rule to the resource's autogen resource-set.","default":false}},"additionalProperties":false,"type":"object","required":["user_set","permission","resource_set"],"title":"ConditionSetRuleRemove","example":{"user_set":"us_based_employees","permission":"repository:clone","resource_set":"private_repos"}},"ConditionSetType":{"type":"string","enum":["userset","resourceset"],"title":"ConditionSetType","description":"An enumeration."},"ConditionSetUpdate":{"properties":{"name":{"type":"string","title":"Name","description":"A descriptive name for the set, i.e: 'US based employees' or 'Users behind VPN'"},"description":{"type":"string","title":"Description","description":"an optional longer description of the set"},"conditions":{"type":"object","title":"Conditions","description":"a boolean expression that consists of multiple conditions, with and/or logic.","default":{}},"parent_id":{"anyOf":[{"type":"string"},{"type":"string","format":"uuid"}],"title":"Parent Id","description":"Parent Condition Set"}},"additionalProperties":false,"type":"object","title":"ConditionSetUpdate","example":{"name":"US based managers","conditions":{"allOf":[{"user.role":{"equals":"manager"}},{"user.location":{"in":["US"]}}]}}},"DataSourceConfig":{"properties":{"entries":{"items":{"$ref":"#/components/schemas/DataSourceEntryWithPollingInterval"},"type":"array","title":"Entries","description":"list of data sources and how to fetch from them","default":[]}},"type":"object","title":"DataSourceConfig","description":"Static list of Data Source Entries returned to client.\n\nAnswers this question for the client: from where should i get the\nfull picture of data i need? (as opposed to incremental data\nupdates)"},"DataSourceEntryWithPollingInterval":{"properties":{"url":{"type":"string","title":"Url","description":"Url source to query for data"},"config":{"type":"object","title":"Config","description":"Suggested fetcher configuration (e.g. auth or method) to fetch data with"},"topics":{"items":{"type":"string"},"type":"array","title":"Topics","description":"topics the data applies to","default":["policy_data"]},"dst_path":{"type":"string","title":"Dst Path","description":"OPA data api path to store the document at","default":""},"save_method":{"type":"string","title":"Save Method","description":"Method used to write into OPA - PUT/PATCH, when using the PATCH method the data field should conform to the JSON patch schema defined in RFC 6902(https://datatracker.ietf.org/doc/html/rfc6902#section-3)","default":"PUT"},"data":{"anyOf":[{"items":{"$ref":"#/components/schemas/JSONPatchAction"},"type":"array"},{"items":{},"type":"array"},{"type":"object"}],"title":"Data","description":"Data payload to embed within the data update (instead of having the client fetch it from the url)."},"periodic_update_interval":{"type":"number","title":"Periodic Update Interval","description":"Polling interval to refresh data from data source"}},"type":"object","required":["url"],"title":"DataSourceEntryWithPollingInterval","description":"Data source configuration - where client's should retrieve data from and how they should store it"},"DerivedRoleBlockEdit":{"properties":{"when":{"allOf":[{"$ref":"#/components/schemas/permit_backend__schemas__schema_derived_role_rule__DerivationSettings"}],"title":"When","description":"the settings of the derived role","default":{"no_direct_roles_on_object":false}},"users_with_role":{"items":{"$ref":"#/components/schemas/DerivedRoleRuleCreate"},"type":"array","title":"Users With Role","description":"the rules of the derived role","default":[]}},"additionalProperties":false,"type":"object","title":"DerivedRoleBlockEdit","example":{"users_with_role":[{"role":"Admin","on_resource":"organization","linked_by_relation":"owner"}]}},"DerivedRoleBlockRead":{"properties":{"when":{"allOf":[{"$ref":"#/components/schemas/permit_backend__schemas__schema_derived_role_rule__DerivationSettings"}],"title":"When","description":"the settings of the derived role","default":{"no_direct_roles_on_object":false}},"id":{"type":"string","format":"uuid","title":"Id","description":"The unique id of the derived_role"},"users_with_role":{"items":{"$ref":"#/components/schemas/DerivedRoleRuleRead"},"type":"array","title":"Users With Role","description":"the rules of the derived role","default":[]}},"additionalProperties":false,"type":"object","required":["id"],"title":"DerivedRoleBlockRead","example":{"id":"970eb6a2-af5a-4173-b291-dbbc00d8b5e3","users_with_role":[{"role":"Admin","on_resource":"organization","linked_by_relation":"owner","role_id":"7a972455-b010-4649-badb-08fe265490a0","resource_id":"12359938-c5ff-42ca-af2d-3024f92bd0be","relation_id":"fe1ea573-34ef-4969-a3c4-284ae998045f"}]}},"DerivedRoleRuleCreate":{"properties":{"role":{"type":"string","title":"Role","description":"the role key that needs to exist on the related resource (from the relation)"},"on_resource":{"type":"string","title":"On Resource","description":"the resource key that needs to exist on the related role (from the relation)"},"linked_by_relation":{"type":"string","title":"Linked By Relation","description":"the relation key that needs to exist between the resource and the related resource"},"when":{"allOf":[{"$ref":"#/components/schemas/permit_backend__schemas__schema_derived_role_rule__DerivationSettings"}],"title":"When","description":"the settings of the derived role rule","default":{"no_direct_roles_on_object":false}}},"additionalProperties":false,"type":"object","required":["role","on_resource","linked_by_relation"],"title":"DerivedRoleRuleCreate","example":{"role":"Admin","on_resource":"organization","linked_by_relation":"owner"}},"DerivedRoleRuleDelete":{"properties":{"role":{"type":"string","title":"Role","description":"the role key that needs to exist on the related resource (from the relation)"},"on_resource":{"type":"string","title":"On Resource","description":"the resource key that needs to exist on the related role (from the relation)"},"linked_by_relation":{"type":"string","title":"Linked By Relation","description":"the relation key that needs to exist between the resource and the related resource"},"when":{"allOf":[{"$ref":"#/components/schemas/permit_backend__schemas__schema_derived_role_rule__DerivationSettings"}],"title":"When","description":"the settings of the derived role rule","default":{"no_direct_roles_on_object":false}}},"additionalProperties":false,"type":"object","required":["role","on_resource","linked_by_relation"],"title":"DerivedRoleRuleDelete","example":{"role":"Admin","on_resource":"organization","linked_by_relation":"owner"}},"DerivedRoleRuleRead":{"properties":{"role_id":{"type":"string","format":"uuid","title":"Role Id","description":"the role id that needs to exist on the related resource (from the relation)"},"resource_id":{"type":"string","format":"uuid","title":"Resource Id","description":"the resource id that needs to exist on the related role (from the relation)"},"relation_id":{"type":"string","format":"uuid","title":"Relation Id","description":"the relation id that needs to exist between the resource and the related resource"},"role":{"type":"string","title":"Role","description":"the role key that needs to exist on the related resource (from the relation)"},"on_resource":{"type":"string","title":"On Resource","description":"the resource key that needs to exist on the related role (from the relation)"},"linked_by_relation":{"type":"string","title":"Linked By Relation","description":"the relation key that needs to exist between the resource and the related resource"},"when":{"allOf":[{"$ref":"#/components/schemas/permit_backend__schemas__schema_derived_role_rule__DerivationSettings"}],"title":"When","description":"the settings of the derived role rule","default":{"no_direct_roles_on_object":false}}},"additionalProperties":false,"type":"object","required":["role_id","resource_id","relation_id","role","on_resource","linked_by_relation"],"title":"DerivedRoleRuleRead","example":{"role":"Admin","on_resource":"organization","linked_by_relation":"owner","role_id":"7a972455-b010-4649-badb-08fe265490a0","resource_id":"12359938-c5ff-42ca-af2d-3024f92bd0be","relation_id":"fe1ea573-34ef-4969-a3c4-284ae998045f"}},"DetailedAuditLogModel":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"raw_data":{"anyOf":[{"$ref":"#/components/schemas/OPAEngineDecisionLog"},{"$ref":"#/components/schemas/AVPEngineDecisionLog"},{"$ref":"#/components/schemas/GenericEngineDecisionLog"},{"$ref":"#/components/schemas/DummyEngineModel"}],"title":"Raw Data"},"timestamp":{"type":"string","format":"date-time","title":"Timestamp"},"created_at":{"type":"string","format":"date-time","title":"Created At","hidden_from_schema":true},"query":{"type":"string","title":"Query"},"user_key":{"type":"string","title":"User Key"},"user_email":{"type":"string","title":"User Email"},"user_name":{"type":"string","title":"User Name"},"resource_type":{"type":"string","title":"Resource Type"},"tenant":{"type":"string","title":"Tenant"},"action":{"type":"string","title":"Action"},"decision":{"type":"boolean","title":"Decision"},"reason":{"type":"string","title":"Reason"},"org_id":{"type":"string","format":"uuid","title":"Org Id"},"project_id":{"type":"string","format":"uuid","title":"Project Id"},"env_id":{"type":"string","format":"uuid","title":"Env Id"},"pdp_config_id":{"type":"string","format":"uuid","title":"Pdp Config Id"},"input":{"title":"Input"},"result":{"title":"Result"},"context":{"title":"Context"},"objects":{"allOf":[{"$ref":"#/components/schemas/AuditLogObjectsModel"}],"title":"Objects","default":{}}},"type":"object","required":["id","raw_data","timestamp","org_id","project_id","env_id"],"title":"DetailedAuditLogModel"},"DummyEngineModel":{"properties":{"engine":{"$ref":"#/components/schemas/Engine"},"timestamp":{"type":"string","format":"date-time","title":"Timestamp"}},"type":"object","title":"DummyEngineModel","description":"dummy engine class in case we couldn't parse the log but we didn't want to drop it"},"ElementsConfigCreate":{"properties":{"key":{"type":"string","pattern":"^[A-Za-z0-9\\-_]+$","title":"Key","description":"A URL-friendly name of the elements_config (i.e: slug). You will be able to query later using this key instead of the id (UUID) of the elements_config."},"name":{"type":"string","title":"Name","description":"The name of the elements_config"},"elements_type":{"allOf":[{"$ref":"#/components/schemas/ElementsType"}],"description":"The type of the elements interface, e.g: user management"},"settings":{"additionalProperties":{"anyOf":[{"type":"integer"},{"type":"string"},{"type":"boolean"}]},"type":"object","title":"Settings","description":"Obj with the options of the elements interface, e.g: primary color"},"email_notifications":{"type":"boolean","title":"Email Notifications","description":"Whether to send email notifications to users using your Email Provider you set","default":false},"roles_to_levels":{"additionalProperties":{"items":{"type":"string"},"type":"array"},"type":"object","title":"Roles To Levels","description":"Obj with levels as keys and role ids as values"},"webhook":{"$ref":"#/components/schemas/WebhookCreateWithElements"}},"additionalProperties":false,"type":"object","required":["key","name","elements_type","settings","roles_to_levels"],"title":"ElementsConfigCreate"},"ElementsConfigRead":{"properties":{"key":{"type":"string","title":"Key","description":"A URL-friendly name of the elements_config (i.e: slug). You will be able to query later using this key instead of the id (UUID) of the elements_config."},"id":{"type":"string","format":"uuid","title":"Id","description":"Unique id of the elements_config"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id","description":"Unique id of the organization that the elements_config belongs to."},"project_id":{"type":"string","format":"uuid","title":"Project Id","description":"Unique id of the project that the elements_config belongs to."},"environment_id":{"type":"string","format":"uuid","title":"Environment Id","description":"Unique id of the environment that the elements_config belongs to."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Date and time when the elements_config was created (ISO_8601 format)."},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"Date and time when the elements_config was last updated/modified (ISO_8601 format)."},"is_active":{"type":"boolean","title":"Is Active"},"name":{"type":"string","title":"Name","description":"The name of the elements_config"},"elements_type":{"allOf":[{"$ref":"#/components/schemas/ElementsType"}],"description":"The type of the elements interface, e.g: user management"},"settings":{"additionalProperties":{"anyOf":[{"type":"integer"},{"type":"string"},{"type":"boolean"}]},"type":"object","title":"Settings","description":"Obj with the options of the elements interface, e.g: primary color"},"email_notifications":{"type":"boolean","title":"Email Notifications","description":"Whether to send email notifications to users using your Email Provider you set","default":false},"roles_to_levels":{"additionalProperties":{"items":{"$ref":"#/components/schemas/PermissionLevelRoleRead"},"type":"array"},"type":"object","title":"Roles To Levels","description":"Obj with levels as keys and role ids as values"},"webhook":{"$ref":"#/components/schemas/WebhookRead"}},"additionalProperties":false,"type":"object","required":["key","id","organization_id","project_id","environment_id","created_at","updated_at","is_active","name","elements_type","settings","roles_to_levels"],"title":"ElementsConfigRead"},"ElementsConfigRuntimeRead":{"properties":{"config":{"$ref":"#/components/schemas/ElementsConfigRead"},"current_permission_level":{"$ref":"#/components/schemas/ElementsPermissionLevel"}},"additionalProperties":false,"type":"object","required":["config","current_permission_level"],"title":"ElementsConfigRuntimeRead"},"ElementsConfigUpdate":{"properties":{"name":{"type":"string","title":"Name","description":"The name of the elements_config"},"elements_type":{"allOf":[{"$ref":"#/components/schemas/ElementsType"}],"description":"The type of the elements interface, e.g: user management"},"settings":{"additionalProperties":{"anyOf":[{"type":"integer"},{"type":"string"},{"type":"boolean"}]},"type":"object","title":"Settings","description":"Obj with the options of the elements interface, e.g: primary color"},"email_notifications":{"type":"boolean","title":"Email Notifications","description":"Whether to send email notifications to users using your Email Provider you set","default":false},"roles_to_levels":{"additionalProperties":{"items":{"type":"string"},"type":"array"},"type":"object","title":"Roles To Levels","description":"Obj with levels as keys and role ids as values"},"webhook":{"$ref":"#/components/schemas/WebhookUpdate"}},"additionalProperties":false,"type":"object","required":["roles_to_levels"],"title":"ElementsConfigUpdate"},"ElementsPermissionLevel":{"type":"string","enum":["LEVEL_1","LEVEL_2","LEVEL_3","LEVEL_4","HIDDEN","UNCONFIGURED"],"title":"ElementsPermissionLevel","description":"An enumeration."},"ElementsRoleRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id","description":"Unique id of the role"},"key":{"type":"string","title":"Key","description":"A URL-friendly name of the role (i.e: slug). You will be able to query later using this key instead of the id (UUID) of the role."},"name":{"type":"string","title":"Name","description":"The name of the role"},"permission_level":{"$ref":"#/components/schemas/ElementsPermissionLevel"}},"additionalProperties":false,"type":"object","required":["id","key","name","permission_level"],"title":"ElementsRoleRead","example":{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","key":"editor","name":"Editor","permission_level":"LEVEL_2"}},"ElementsType":{"type":"string","enum":["user_management","audit_log","approval_flow","operation_approval","approval_management"],"title":"ElementsType","description":"An enumeration."},"ElementsUserCreate":{"properties":{"key":{"type":"string","pattern":"^[A-Za-z0-9|@+\\-\\._]+$","title":"Key","description":"A unique id by which Permit will identify the user for permission checks."},"email":{"type":"string","format":"email","title":"Email","description":"The email of the user. If synced, will be unique inside the environment."},"first_name":{"type":"string","title":"First Name","description":"First name of the user."},"last_name":{"type":"string","title":"Last Name","description":"Last name of the user."},"attributes":{"type":"object","title":"Attributes","description":"Arbitrary user attributes that will be used to enforce attribute-based access control policies.","default":{}},"role_assignments":{"items":{"$ref":"#/components/schemas/UserRoleCreate"},"type":"array","title":"Role Assignments","description":"List of roles to assign to the user in the environment."},"role":{"type":"string","title":"Role"}},"additionalProperties":false,"type":"object","required":["key"],"title":"ElementsUserCreate","example":{"key":"user|892179821739812389327","email":"jane@coolcompany.com","first_name":"Jane","last_name":"Doe","attributes":{"department":"marketing","age":30,"subscription":{"tier":"pro","expired":false}},"role":"admin"}},"ElementsUserInviteApprove":{"properties":{"email":{"type":"string","format":"email","title":"Email","description":"The email of the user that being invited"},"key":{"type":"string","pattern":"^[A-Za-z0-9|@+\\-\\._]+$","title":"Key","description":"The key of the elements user invite"},"attributes":{"type":"object","title":"Attributes","description":"The attributes of the user"}},"additionalProperties":false,"type":"object","required":["email","key","attributes"],"title":"ElementsUserInviteApprove"},"ElementsUserInviteCreate":{"properties":{"key":{"type":"string","pattern":"^[A-Za-z0-9|@+\\-\\._]+$","title":"Key","description":"The key of the user that is being invited"},"status":{"allOf":[{"$ref":"#/components/schemas/UserInviteStatus"}],"description":"The status of the user invite"},"email":{"type":"string","format":"email","title":"Email","description":"The email of the user that being invited"},"first_name":{"type":"string","title":"First Name","description":"The first name of the user that is being invited"},"last_name":{"type":"string","title":"Last Name","description":"The last name of the user that is being invited"},"role_id":{"type":"string","format":"uuid","title":"Role Id","description":"The role of the user that is being invited"},"tenant_id":{"type":"string","format":"uuid","title":"Tenant Id","description":"The tenant id of the user that is being invited"},"resource_instance_id":{"type":"string","format":"uuid","title":"Resource Instance Id","description":"The resource instance id of the user that is being invited"}},"additionalProperties":false,"type":"object","required":["key","status","email","first_name","last_name","role_id","tenant_id","resource_instance_id"],"title":"ElementsUserInviteCreate"},"ElementsUserInviteRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id","description":"Unique id of the elements_user_invite"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id","description":"Unique id of the organization that the elements_user_invite belongs to."},"project_id":{"type":"string","format":"uuid","title":"Project Id","description":"Unique id of the project that the elements_user_invite belongs to."},"environment_id":{"type":"string","format":"uuid","title":"Environment Id","description":"Unique id of the environment that the elements_user_invite belongs to."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Date and time when the elements_user_invite was created (ISO_8601 format)."},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"Date and time when the elements_user_invite was last updated/modified (ISO_8601 format)."},"key":{"type":"string","pattern":"^[A-Za-z0-9|@+\\-\\._]+$","title":"Key","description":"The key of the user that is being invited"},"status":{"allOf":[{"$ref":"#/components/schemas/UserInviteStatus"}],"description":"The status of the user invite"},"email":{"type":"string","format":"email","title":"Email","description":"The email of the user that being invited"},"first_name":{"type":"string","title":"First Name","description":"The first name of the user that is being invited"},"last_name":{"type":"string","title":"Last Name","description":"The last name of the user that is being invited"},"role_id":{"type":"string","format":"uuid","title":"Role Id","description":"The role of the user that is being invited"},"tenant_id":{"type":"string","format":"uuid","title":"Tenant Id","description":"The tenant id of the user that is being invited"},"resource_instance_id":{"type":"string","format":"uuid","title":"Resource Instance Id","description":"The resource instance id of the user that is being invited"}},"additionalProperties":false,"type":"object","required":["id","organization_id","project_id","environment_id","created_at","updated_at","key","status","email","first_name","last_name","role_id","tenant_id","resource_instance_id"],"title":"ElementsUserInviteRead"},"ElementsUserInviteUpdate":{"properties":{"key":{"type":"string","pattern":"^[A-Za-z0-9|@+\\-\\._]+$","title":"Key","description":"The key of the user that is being invited"},"status":{"allOf":[{"$ref":"#/components/schemas/UserInviteStatus"}],"description":"The status of the user invite"},"email":{"type":"string","format":"email","title":"Email","description":"The email of the user that being invited"},"first_name":{"type":"string","title":"First Name","description":"The first name of the user that is being invited"},"last_name":{"type":"string","title":"Last Name","description":"The last name of the user that is being invited"},"role_id":{"type":"string","format":"uuid","title":"Role Id","description":"The role of the user that is being invited"},"tenant_id":{"type":"string","format":"uuid","title":"Tenant Id","description":"The tenant id of the user that is being invited"},"resource_instance_id":{"type":"string","format":"uuid","title":"Resource Instance Id","description":"The resource instance id of the user that is being invited"}},"additionalProperties":false,"type":"object","required":["key","status","email","first_name","last_name","role_id","tenant_id","resource_instance_id"],"title":"ElementsUserInviteUpdate"},"ElementsUserRoleCreate":{"properties":{"role":{"type":"string","title":"Role","description":"the role that will be assigned (accepts either the role id or the role key)"}},"additionalProperties":false,"type":"object","required":["role"],"title":"ElementsUserRoleCreate","example":{"role":"admin"}},"ElementsUserRoleRemove":{"properties":{"role":{"type":"string","title":"Role","description":"the role that will be unassigned (accepts either the role id or the role key)"}},"additionalProperties":false,"type":"object","required":["role"],"title":"ElementsUserRoleRemove","example":{"role":"editor"}},"EmailConfigurationCreate":{"oneOf":[{"$ref":"#/components/schemas/SMTPEmailConfigurationCreate"},{"$ref":"#/components/schemas/MailgunEmailConfigurationCreate"}],"additionalProperties":false,"title":"EmailConfigurationCreate","discriminator":{"propertyName":"email_provider_type","mapping":{"smtp":"#/components/schemas/SMTPEmailConfigurationCreate","mailgun":"#/components/schemas/MailgunEmailConfigurationCreate"}}},"EmailConfigurationRead":{"oneOf":[{"$ref":"#/components/schemas/SMTPEmailConfigurationRead"},{"$ref":"#/components/schemas/MailgunEmailConfigurationRead"}],"additionalProperties":false,"title":"EmailConfigurationRead","discriminator":{"propertyName":"email_provider_type","mapping":{"smtp":"#/components/schemas/SMTPEmailConfigurationRead","mailgun":"#/components/schemas/MailgunEmailConfigurationRead"}}},"EmailMessageKeys":{"type":"string","enum":["approval_flows_deny","user_management_invite","approval_flows_approve","approval_flows_request","test_email"],"title":"EmailMessageKeys","description":"An enumeration."},"EmailTemplateMessage":{"properties":{"message_type":{"allOf":[{"$ref":"#/components/schemas/EmailMessageKeys"}],"description":"The key of the message, can be either 'approval_flows_deny', 'approval_flows_approve', 'approval_flows_request'"},"message_content":{"type":"string","title":"Message Content","description":"The value of the message"}},"additionalProperties":false,"type":"object","required":["message_type","message_content"],"title":"EmailTemplateMessage"},"EmailTemplateRead":{"properties":{"template_type":{"allOf":[{"$ref":"#/components/schemas/EmailTemplateType"}],"description":"The type of the email template, can be either 'approval_flows' or 'user_management'"},"id":{"type":"string","format":"uuid","title":"Id","description":"Unique id of the EmailTemplate"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id","description":"Unique id of the organization that the EmailTemplate belongs to."},"project_id":{"type":"string","format":"uuid","title":"Project Id","description":"Unique id of the project that the EmailTemplate belongs to."},"environment_id":{"type":"string","format":"uuid","title":"Environment Id","description":"Unique id of the environment that the EmailTemplate belongs to."},"from_address":{"type":"string","format":"email","title":"From Address","description":"The from address the mails will be sent from"},"redirect_to":{"type":"string","maxLength":65536,"minLength":1,"format":"uri","title":"Redirect To","description":"The redirect url the user will be redirected to after clicking the link in the email"},"url_ttl":{"type":"string","title":"Url Ttl","description":"The time to live of the url in the email, in seconds"},"subject":{"type":"string","title":"Subject","description":"The subject of the email template"},"messages":{"items":{"$ref":"#/components/schemas/EmailTemplateMessage"},"type":"array","title":"Messages","description":"The messages of the email template"}},"additionalProperties":false,"type":"object","required":["template_type","id","organization_id","project_id","environment_id","from_address","redirect_to","url_ttl","subject","messages"],"title":"EmailTemplateRead"},"EmailTemplateType":{"type":"string","enum":["approval_flows","user_management","test_email"],"title":"EmailTemplateType","description":"An enumeration."},"EmailTemplateUpdate":{"properties":{"from_address":{"type":"string","format":"email","title":"From Address","description":"The from address the mails will be sent from"},"redirect_to":{"type":"string","maxLength":65536,"minLength":1,"format":"uri","title":"Redirect To","description":"The redirect url the user will be redirected to after clicking the link in the email"},"url_ttl":{"type":"string","title":"Url Ttl","description":"The time to live of the url in the email, in seconds"},"subject":{"type":"string","title":"Subject","description":"The subject of the email template"},"messages":{"items":{"$ref":"#/components/schemas/EmailTemplateMessage"},"type":"array","title":"Messages","description":"The messages of the email template"}},"additionalProperties":false,"type":"object","required":["from_address","redirect_to","url_ttl","subject","messages"],"title":"EmailTemplateUpdate"},"Engine":{"type":"string","enum":["OPA","AVP","GENERIC"],"title":"Engine","description":"An enumeration."},"EnvironmentCopy":{"properties":{"target_env":{"allOf":[{"$ref":"#/components/schemas/EnvironmentCopyTarget"}],"title":"Target Env","description":"If copying a new environment, the environment configuration. If copying to an existing environment, the environment identifier"},"conflict_strategy":{"allOf":[{"$ref":"#/components/schemas/EnvironmentCopyConflictStrategy"}],"description":"Action to take when detecting a conflict when copying. Only applies to copying into an existing environment","default":"fail"},"scope":{"allOf":[{"$ref":"#/components/schemas/EnvironmentCopyScope"}],"title":"Scope","description":"Filters to include and exclude copied objects","default":{"resources":{"include":[],"exclude":[]},"roles":{"include":[],"exclude":[]},"user_sets":{"include":[],"exclude":[]},"resource_sets":{"include":[],"exclude":[]},"custom_policies":{"include":[],"exclude":[]}}}},"additionalProperties":false,"type":"object","required":["target_env"],"title":"EnvironmentCopy"},"EnvironmentCopyConflictStrategy":{"type":"string","enum":["fail","overwrite"],"title":"EnvironmentCopyConflictStrategy","description":"An enumeration."},"EnvironmentCopyScope":{"properties":{"resources":{"allOf":[{"$ref":"#/components/schemas/EnvironmentCopyScopeFilters"}],"title":"Resources","description":"Resources to copy","default":{"include":[],"exclude":[]}},"roles":{"allOf":[{"$ref":"#/components/schemas/EnvironmentCopyScopeFilters"}],"title":"Roles","description":"Roles to copy","default":{"include":[],"exclude":[]}},"user_sets":{"allOf":[{"$ref":"#/components/schemas/EnvironmentCopyScopeFilters"}],"title":"User Sets","description":"User sets to copy","default":{"include":[],"exclude":[]}},"resource_sets":{"allOf":[{"$ref":"#/components/schemas/EnvironmentCopyScopeFilters"}],"title":"Resource Sets","description":"Resource sets to copy","default":{"include":[],"exclude":[]}},"custom_policies":{"allOf":[{"$ref":"#/components/schemas/EnvironmentCopyScopeFilters"}],"title":"Custom Policies","description":"Custom policies to copy","default":{"include":[],"exclude":[]}}},"additionalProperties":false,"type":"object","title":"EnvironmentCopyScope"},"EnvironmentCopyScopeFilters":{"properties":{"include":{"items":{"type":"string"},"type":"array","title":"Include","description":"Objects to include (use * as wildcard)","default":[]},"exclude":{"items":{"type":"string"},"type":"array","title":"Exclude","description":"Object to exclude (use * as wildcard)","default":[]}},"additionalProperties":false,"type":"object","title":"EnvironmentCopyScopeFilters"},"EnvironmentCopyTarget":{"properties":{"existing":{"type":"string","title":"Existing","description":"Identifier of an existing environment to copy into"},"new":{"allOf":[{"$ref":"#/components/schemas/EnvironmentCreate"}],"title":"New","description":"Description of the environment to create. This environment must not already exist."}},"additionalProperties":false,"type":"object","title":"EnvironmentCopyTarget"},"EnvironmentCreate":{"properties":{"key":{"type":"string","pattern":"^[A-Za-z0-9\\-_]+$","title":"Key","description":"A URL-friendly name of the environment (i.e: slug). You will be able to query later using this key instead of the id (UUID) of the environment."},"name":{"type":"string","title":"Name","description":"The name of the environment"},"description":{"type":"string","title":"Description","description":"an optional longer description of the environment"},"custom_branch_name":{"type":"string","title":"Custom Branch Name","description":"when using gitops feature, an optional branch name for the environment"},"jwks":{"allOf":[{"$ref":"#/components/schemas/JwksConfig"}],"title":"Jwks","description":"jwks for element frontend only login"},"settings":{"type":"object","title":"Settings","description":"the settings for this environment"}},"additionalProperties":false,"type":"object","required":["key","name"],"title":"EnvironmentCreate"},"EnvironmentObj":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"key":{"type":"string","title":"Key"},"name":{"type":"string","title":"Name"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","key","created_at","updated_at"],"title":"EnvironmentObj"},"EnvironmentRead":{"properties":{"key":{"type":"string","title":"Key","description":"A URL-friendly name of the environment (i.e: slug). You will be able to query later using this key instead of the id (UUID) of the environment."},"id":{"type":"string","format":"uuid","title":"Id","description":"Unique id of the environment"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id","description":"Unique id of the organization that the environment belongs to."},"project_id":{"type":"string","format":"uuid","title":"Project Id","description":"Unique id of the project that the environment belongs to."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Date and time when the environment was created (ISO_8601 format)."},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"Date and time when the environment was last updated/modified (ISO_8601 format)."},"avp_policy_store_id":{"type":"string","title":"Avp Policy Store Id","hidden_from_schema":true},"name":{"type":"string","title":"Name","description":"The name of the environment"},"description":{"type":"string","title":"Description","description":"an optional longer description of the environment"},"custom_branch_name":{"type":"string","title":"Custom Branch Name","description":"when using gitops feature, an optional branch name for the environment"},"jwks":{"allOf":[{"$ref":"#/components/schemas/JwksConfig"}],"title":"Jwks","description":"jwks for element frontend only login"},"settings":{"type":"object","title":"Settings","description":"the settings for this environment"}},"additionalProperties":false,"type":"object","required":["key","id","organization_id","project_id","created_at","updated_at","name"],"title":"EnvironmentRead"},"EnvironmentReadWithEmailConfig":{"properties":{"key":{"type":"string","title":"Key","description":"A URL-friendly name of the environment (i.e: slug). You will be able to query later using this key instead of the id (UUID) of the environment."},"id":{"type":"string","format":"uuid","title":"Id","description":"Unique id of the environment"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id","description":"Unique id of the organization that the environment belongs to."},"project_id":{"type":"string","format":"uuid","title":"Project Id","description":"Unique id of the project that the environment belongs to."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Date and time when the environment was created (ISO_8601 format)."},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"Date and time when the environment was last updated/modified (ISO_8601 format)."},"avp_policy_store_id":{"type":"string","title":"Avp Policy Store Id","hidden_from_schema":true},"name":{"type":"string","title":"Name","description":"The name of the environment"},"description":{"type":"string","title":"Description","description":"an optional longer description of the environment"},"custom_branch_name":{"type":"string","title":"Custom Branch Name","description":"when using gitops feature, an optional branch name for the environment"},"jwks":{"allOf":[{"$ref":"#/components/schemas/JwksConfig"}],"title":"Jwks","description":"jwks for element frontend only login"},"settings":{"type":"object","title":"Settings","description":"the settings for this environment"},"email_configuration":{"type":"string","format":"uuid","title":"Email Configuration"}},"additionalProperties":false,"type":"object","required":["key","id","organization_id","project_id","created_at","updated_at","name","email_configuration"],"title":"EnvironmentReadWithEmailConfig"},"EnvironmentStatistics":{"properties":{"roles":{"type":"integer","minimum":0.0,"title":"Roles"},"users":{"type":"integer","minimum":0.0,"title":"Users"},"policies":{"type":"integer","minimum":0.0,"title":"Policies"},"resources":{"type":"integer","minimum":0.0,"title":"Resources"},"tenants":{"type":"integer","minimum":0.0,"title":"Tenants"},"has_decision_logs":{"type":"boolean","title":"Has Decision Logs"},"members":{"items":{"$ref":"#/components/schemas/OrgMemberReadWithGrants"},"type":"array","title":"Members"},"mau":{"type":"integer","minimum":0.0,"title":"Mau"}},"additionalProperties":false,"type":"object","required":["roles","users","policies","resources","tenants","has_decision_logs","members","mau"],"title":"EnvironmentStatistics"},"EnvironmentStats":{"properties":{"key":{"type":"string","title":"Key","description":"A URL-friendly name of the environment (i.e: slug). You will be able to query later using this key instead of the id (UUID) of the environment."},"id":{"type":"string","format":"uuid","title":"Id","description":"Unique id of the environment"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id","description":"Unique id of the organization that the environment belongs to."},"project_id":{"type":"string","format":"uuid","title":"Project Id","description":"Unique id of the project that the environment belongs to."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Date and time when the environment was created (ISO_8601 format)."},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"Date and time when the environment was last updated/modified (ISO_8601 format)."},"avp_policy_store_id":{"type":"string","title":"Avp Policy Store Id","hidden_from_schema":true},"name":{"type":"string","title":"Name","description":"The name of the environment"},"description":{"type":"string","title":"Description","description":"an optional longer description of the environment"},"custom_branch_name":{"type":"string","title":"Custom Branch Name","description":"when using gitops feature, an optional branch name for the environment"},"jwks":{"allOf":[{"$ref":"#/components/schemas/JwksConfig"}],"title":"Jwks","description":"jwks for element frontend only login"},"settings":{"type":"object","title":"Settings","description":"the settings for this environment"},"pdp_configs":{"items":{"$ref":"#/components/schemas/PDPConfigRead"},"type":"array","title":"Pdp Configs"},"stats":{"$ref":"#/components/schemas/EnvironmentStatistics"}},"additionalProperties":false,"type":"object","required":["key","id","organization_id","project_id","created_at","updated_at","name","pdp_configs","stats"],"title":"EnvironmentStats"},"EnvironmentUpdate":{"properties":{"name":{"type":"string","title":"Name","description":"The name of the environment"},"description":{"type":"string","title":"Description","description":"an optional longer description of the environment"},"custom_branch_name":{"type":"string","title":"Custom Branch Name","description":"when using gitops feature, an optional branch name for the environment"},"jwks":{"allOf":[{"$ref":"#/components/schemas/JwksConfig"}],"title":"Jwks","description":"jwks for element frontend only login"},"settings":{"type":"object","title":"Settings","description":"the settings for this environment"}},"additionalProperties":false,"type":"object","title":"EnvironmentUpdate"},"ErrorCode":{"type":"string","enum":["INVALID_INPUT","INVALID_JWKS_CONFIGURATION","UNEXPECTED_ERROR","NOT_FOUND","DUPLICATE_ENTITY","EMPTY_DECISION_LOGS","MISSING_REQUEST_ATTRIBUTE","FORBIDDEN_ACCESS","INVALID_PERMISSION_FORMAT","MISSING_PERMISSIONS","UNSUPPORTED_ATTRIBUTE_TYPE","MISSING_RESOURCE_ATTRIBUTE","MISMATCH_ATTRIBUTES_TYPES","INVALID_POLICY_REPO_STATUS","INVALID_SMTP_CONFIGURATION","MISMATCH_RESOURCE_INSTANCES_TENANTS","PAGINATION_SIZE_OVERREACHED","MISMATCH_RELATION_TYPE","CONCURRENT_OPERATION_DISALLOWED","UNAUTHORIZED"],"title":"ErrorCode","description":"An enumeration."},"ErrorDetails":{"properties":{"id":{"type":"string","title":"Id"},"title":{"type":"string","title":"Title"},"support_link":{"type":"string","maxLength":65536,"minLength":1,"format":"uri","title":"Support Link"},"error_code":{"$ref":"#/components/schemas/ErrorCode"},"message":{"type":"string","title":"Message","default":""},"additional_info":{"title":"Additional Info"}},"type":"object","required":["id","title","error_code"],"title":"ErrorDetails"},"FailedInvite":{"properties":{"email":{"type":"string","title":"Email"},"reason":{"type":"string","title":"Reason"}},"additionalProperties":false,"type":"object","required":["email","reason"],"title":"FailedInvite"},"GenericEngineDecisionLog":{"properties":{"engine":{"type":"string","enum":["GENERIC"],"title":"Engine","default":"GENERIC"},"timestamp":{"type":"string","format":"date-time","title":"Timestamp"},"decision":{"type":"boolean","title":"Decision"},"decision_id":{"type":"string","format":"uuid","title":"Decision Id"},"process_time_ms":{"type":"integer","title":"Process Time Ms","default":0},"query":{"type":"string","title":"Query"},"user_key":{"type":"string","title":"User Key"},"user_email":{"type":"string","title":"User Email"},"user_name":{"type":"string","title":"User Name"},"action":{"type":"string","title":"Action"},"resource_type":{"type":"string","title":"Resource Type"},"tenant":{"type":"string","title":"Tenant"},"input":{"title":"Input"},"result":{"title":"Result"},"context":{"title":"Context"}},"additionalProperties":false,"type":"object","required":["timestamp","decision"],"title":"GenericEngineDecisionLog","description":"Generic decision log format for external or custom integrations.\n\nAccepts a flat JSON payload with explicit fields rather than requiring\nengine-specific nested structures. Unknown fields are rejected to prevent\nunbounded storage growth."},"GroupAddRole":{"properties":{"role":{"type":"string","title":"Role","description":"The role key or id that will be assigned to the group."},"resource":{"type":"string","title":"Resource","description":"The resource key or id that the role belongs to."},"resource_instance":{"type":"string","title":"Resource Instance","description":"The resource instance key or id that the role belongs to."},"tenant":{"type":"string","title":"Tenant","description":"The tenant key or id that the role belongs to."}},"type":"object","required":["role","resource","resource_instance","tenant"],"title":"GroupAddRole","example":{"role":"admin","resource":"rnd","resource_instance":"backend","tenant":"business"}},"GroupAssignUser":{"properties":{"tenant":{"type":"string","title":"Tenant","description":"The tenant key or id that the user belongs to."}},"type":"object","required":["tenant"],"title":"GroupAssignUser","example":{"tenant":"business"}},"GroupAssignment":{"properties":{"group_instance_key":{"type":"string","title":"Group Instance Key","description":"Either the unique id of the resource instance that that the group belongs to, or the URL-friendly key of the (i.e: file:my_file)"}},"type":"object","required":["group_instance_key"],"title":"GroupAssignment"},"GroupCreate":{"properties":{"group_resource_type_key":{"type":"string","title":"Group Resource Type Key","description":"The key of the resource type that the group belongs to.","default":"group"},"group_instance_key":{"type":"string","title":"Group Instance Key","description":"Either the unique id of the resource instance that that the group belongs to, or the URL-friendly key of the (i.e: file:my_file)"},"group_tenant":{"type":"string","title":"Group Tenant","description":"The tenant key or id that the group belongs to."}},"additionalProperties":false,"type":"object","required":["group_instance_key","group_tenant"],"title":"GroupCreate","example":{"group_resource_type_key":"company","group_instance_key":"Acme","group_tenant":"business"}},"GroupRead":{"properties":{"assigned_roles":{"items":{"type":"string"},"type":"array","title":"Assigned Roles","description":"List of roles that are assigned to this group"},"users":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Users","description":"List of user ids that are assigned to this group"},"group_resource_type_key":{"type":"string","title":"Group Resource Type Key","description":"The key of the resource type that the group belongs to.","default":"group"},"group_instance_key":{"type":"string","title":"Group Instance Key","description":"Either the unique id of the resource instance that that the group belongs to, or the URL-friendly key of the (i.e: file:my_file)"},"group_tenant":{"type":"string","title":"Group Tenant","description":"The tenant key or id that the group belongs to."}},"additionalProperties":false,"type":"object","required":["group_instance_key","group_tenant"],"title":"GroupRead","example":{"group_resource_type_key":"company","group_instance_key":"Acme","group_tenant":"business","assigned_roles":["rnd:backend#admin","marketing:social_media#editor"],"users":["user_1","user_2"]}},"GroupReadSchema":{"properties":{"group_resource_type_key":{"type":"string","title":"Group Resource Type Key","description":"The key of the resource type that the group belongs to.","default":"group"},"group_instance_key":{"type":"string","title":"Group Instance Key","description":"Either the unique id of the resource instance that that the group belongs to, or the URL-friendly key of the (i.e: file:my_file)"},"group_tenant":{"type":"string","title":"Group Tenant","description":"The tenant key or id that the group belongs to."},"id":{"type":"string","format":"uuid","title":"Id"}},"additionalProperties":false,"type":"object","required":["group_instance_key","group_tenant","id"],"title":"GroupReadSchema","example":{"id":"123e4567-e89b-12d3-a456-426614174000","group_resource_type_key":"company","group_instance_key":"Acme","group_tenant":"business"}},"GroupRoleReadSchema":{"properties":{"key":{"type":"string","title":"Key"},"resource_instance":{"$ref":"#/components/schemas/GroupRoleResourceReadOnly"},"resource":{"$ref":"#/components/schemas/GroupRoleResourceReadOnly"}},"additionalProperties":false,"type":"object","required":["key","resource_instance","resource"],"title":"GroupRoleReadSchema","example":{"key":"admin","resource_instance":{"id":"123e4567-e89b-12d3-a456-426614174000","key":"resource_instance"},"resource":{"id":"123e4567-e89b-12d3-a456-426614174000","key":"resource"}}},"GroupRoleResourceReadOnly":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"key":{"type":"string","title":"Key"}},"additionalProperties":false,"type":"object","required":["id","key"],"title":"GroupRoleResourceReadOnly"},"GroupUserReadSchema":{"properties":{"key":{"type":"string","title":"Key"},"id":{"type":"string","format":"uuid","title":"Id"}},"additionalProperties":false,"type":"object","required":["key","id"],"title":"GroupUserReadSchema","example":{"key":"user@permit.io","id":"123e4567-e89b-12d3-a456-426614174000"}},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HistoricalUsage":{"properties":{"current_month":{"$ref":"#/components/schemas/MonthlyUsage"},"previous_month":{"$ref":"#/components/schemas/MonthlyUsage"},"two_months_ago":{"$ref":"#/components/schemas/MonthlyUsage"}},"additionalProperties":false,"type":"object","title":"HistoricalUsage"},"HttpMethods":{"enum":["get","post","put","patch","head","delete"],"title":"HttpMethods","description":"An enumeration."},"IdentityRead":{"properties":{"user_id":{"type":"string","title":"User Id","description":"Unique User Id of this identity in the identity provider (including the provider type)"},"provider":{"type":"string","title":"Provider","description":"The identity provider type this identity came from"},"sub":{"type":"string","title":"Sub","description":"Unique User Id of this identity in the identity provider (NOT including the provider type)"},"email":{"type":"string","format":"email","title":"Email","description":"Email connected to this account identity"},"email_verified":{"type":"boolean","title":"Email Verified","description":"Whether this email address connected to this account identity is verified or not. For social providers like 'Login with Google' this is done automatically, otherwise we will send the user a verification link in email."},"auth0_info":{"type":"object","title":"Auth0 Info","description":"Raw user info json coming from our identity provider and matching a specific account identity"}},"additionalProperties":false,"type":"object","required":["user_id","provider","sub","email","email_verified","auth0_info"],"title":"IdentityRead"},"InviteCreate":{"properties":{"member_id":{"type":"string","format":"uuid","title":"Member Id","description":"Unique id of the invite"},"email":{"type":"string","format":"email","title":"Email","description":"The invited member's email address"},"role":{"allOf":[{"$ref":"#/components/schemas/MemberAccessLevel"}],"description":"The role the member will be assigned with","default":"admin"}},"additionalProperties":false,"type":"object","required":["email"],"title":"InviteCreate"},"InviteRead":{"properties":{"member_id":{"type":"string","format":"uuid","title":"Member Id","description":"Unique id of the invite"},"email":{"type":"string","format":"email","title":"Email","description":"The invited member's email address"},"role":{"allOf":[{"$ref":"#/components/schemas/MemberAccessLevel"}],"description":"The role the member will be assigned with","default":"admin"},"id":{"type":"string","format":"uuid","title":"Id","description":"Unique id of the invite"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id","description":"Unique id of the organization that the invite belongs to."},"invite_code":{"type":"string","format":"uuid","title":"Invite Code","description":"The invite code that is sent to the member's email"},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Date and time when the invite was created (ISO_8601 format)."},"status":{"allOf":[{"$ref":"#/components/schemas/InviteStatus"}],"description":"The status of the invite (pending, failed, etc)"},"failed_reason":{"type":"string","title":"Failed Reason","description":"if failed, the reason the invitation failed"}},"additionalProperties":false,"type":"object","required":["email","id","organization_id","invite_code","created_at","status"],"title":"InviteRead","example":{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","organization_id":"7c60d51f-b44e-4682-87d6-449835ea4de6","invite_code":"40ef0e48-a11f-4963-a229-e396c9eeefff","email":"jane@coolcompany.com","role":"admin","created_at":"2019-08-24T14:15:22Z","status":"pending","failed_reason":""}},"InviteStatus":{"type":"string","enum":["pending","accepted","failed","canceled"],"title":"InviteStatus","description":"An enumeration."},"JSONPatchAction":{"properties":{"op":{"type":"string","title":"Op","description":"patch action to perform"},"path":{"type":"string","title":"Path","description":"target location in modified json"},"value":{"title":"Value","description":"json document, the operand of the action"},"from":{"type":"string","title":"From","description":"source location in json"}},"type":"object","required":["op","path"],"title":"JSONPatchAction","description":"Abstract base class for JSON patch actions (RFC 6902)"},"JwksConfig":{"properties":{"ttl":{"type":"integer","title":"Ttl","description":"JWKS cache TTL (in seconds)","default":600},"url":{"type":"string","pattern":"^https://[a-zA-Z0-9\\-\\.]+\\.[a-zA-Z]{2,3}(/\\S*)?$","title":"Url","description":"..."},"jwks":{"allOf":[{"$ref":"#/components/schemas/JwksObj"}],"title":"Jwks","description":"..."}},"additionalProperties":false,"type":"object","title":"JwksConfig"},"JwksObj":{"properties":{"keys":{"items":{"type":"object"},"type":"array","title":"Keys","description":"The keys to match against the request headers"}},"additionalProperties":false,"type":"object","required":["keys"],"title":"JwksObj"},"LimitedPaginatedResult_APIHistoryEventRead_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/APIHistoryEventRead"},"type":"array","title":"Data","description":"List of Api History Events"},"total_count":{"type":"integer","minimum":0.0,"title":"Total Count"},"page_count":{"type":"integer","minimum":0.0,"title":"Page Count","default":0},"pagination_count":{"type":"integer","minimum":0.0,"title":"Pagination Count"}},"additionalProperties":false,"type":"object","required":["data","total_count","pagination_count"],"title":"LimitedPaginatedResult[APIHistoryEventRead]"},"LimitedPaginatedResult_ActivityLogEventRead_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/ActivityLogEventRead"},"type":"array","title":"Data","description":"List of Activity Log Events"},"total_count":{"type":"integer","minimum":0.0,"title":"Total Count"},"page_count":{"type":"integer","minimum":0.0,"title":"Page Count","default":0},"pagination_count":{"type":"integer","minimum":0.0,"title":"Pagination Count"}},"additionalProperties":false,"type":"object","required":["data","total_count","pagination_count"],"title":"LimitedPaginatedResult[ActivityLogEventRead]"},"LimitedPaginatedResult_AuditLogModel_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/AuditLogModel"},"type":"array","title":"Data","description":"List of Audit Log Models"},"total_count":{"type":"integer","minimum":0.0,"title":"Total Count"},"page_count":{"type":"integer","minimum":0.0,"title":"Page Count","default":0},"pagination_count":{"type":"integer","minimum":0.0,"title":"Pagination Count"}},"additionalProperties":false,"type":"object","required":["data","total_count","pagination_count"],"title":"LimitedPaginatedResult[AuditLogModel]"},"MailgunEmailConfigurationCreate":{"properties":{"from_address":{"type":"string","title":"From Address","description":"The from address the mails will be sent from"},"api_key":{"type":"string","title":"Api Key","description":"The api key of the mail provider"},"region":{"type":"string","title":"Region","description":"The region of the mail provider"},"domain":{"type":"string","maxLength":65536,"minLength":1,"format":"uri","title":"Domain","description":"The domain of the mail provider"},"email_provider_type":{"type":"string","enum":["mailgun"],"title":"Email Provider Type","description":"The type of the email provider","default":"mailgun"}},"additionalProperties":false,"type":"object","required":["from_address","api_key","region","domain"],"title":"MailgunEmailConfigurationCreate"},"MailgunEmailConfigurationRead":{"properties":{"from_address":{"type":"string","title":"From Address","description":"The from address the mails will be sent from"},"api_key":{"type":"string","title":"Api Key","description":"The api key of the mail provider"},"region":{"type":"string","title":"Region","description":"The region of the mail provider"},"domain":{"type":"string","maxLength":65536,"minLength":1,"format":"uri","title":"Domain","description":"The domain of the mail provider"},"email_provider_type":{"type":"string","enum":["mailgun"],"title":"Email Provider Type","description":"The type of the email provider","default":"mailgun"},"id":{"type":"string","format":"uuid","title":"Id","description":"Unique id of the email_configuration"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id","description":"Unique id of the organization that the email_configuration belongs to."},"project_id":{"type":"string","format":"uuid","title":"Project Id","description":"Unique id of the project that the email_configuration belongs to."},"environment_id":{"type":"string","format":"uuid","title":"Environment Id","description":"Unique id of the environment that the email_configuration belongs to."}},"additionalProperties":false,"type":"object","required":["from_address","api_key","region","domain","id","organization_id","project_id","environment_id"],"title":"MailgunEmailConfigurationRead"},"MappingRule":{"properties":{"url":{"type":"string","title":"Url","description":"The URL to match against the request URL"},"url_type":{"type":"string","enum":["regex"],"title":"Url Type","description":"The URL type to match against the request URL can be, 'regex' or none"},"http_method":{"allOf":[{"$ref":"#/components/schemas/Methods"}],"description":"The HTTP method to match against the request method"},"resource":{"type":"string","pattern":"^[A-Za-z0-9\\-_]+$","title":"Resource","description":"The resource to match against the request resource"},"headers":{"additionalProperties":{"type":"string"},"type":"object","title":"Headers","description":"The headers to match against the request headers","default":{}},"action":{"type":"string","title":"Action","description":"The action to match against the request action"},"priority":{"type":"integer","title":"Priority","description":"The priority of the mapping rule. The higher the priority, the higher the precedence"}},"additionalProperties":false,"type":"object","required":["url","http_method","resource"],"title":"MappingRule"},"MappingRuleUpdate":{"properties":{"url":{"type":"string","title":"Url","description":"The URL to match against the request URL"},"url_type":{"type":"string","enum":["regex"],"title":"Url Type","description":"The URL type to match against the request URL can be, 'regex' or none"},"http_method":{"allOf":[{"$ref":"#/components/schemas/Methods"}],"description":"The HTTP method to match against the request method"},"resource":{"type":"string","pattern":"^[A-Za-z0-9\\-_]+$","title":"Resource","description":"The resource to match against the request resource"},"headers":{"additionalProperties":{"type":"string"},"type":"object","title":"Headers","description":"The headers to match against the request headers","default":{}},"action":{"type":"string","title":"Action","description":"The action to match against the request action"},"priority":{"type":"integer","title":"Priority","description":"The priority of the mapping rule. The higher the priority, the higher the precedence"},"should_delete":{"type":"boolean","title":"Should Delete","description":"If true, this mapping rule will be deleted during update.","default":false}},"additionalProperties":false,"type":"object","required":["url","http_method","resource"],"title":"MappingRuleUpdate"},"MemberAccessLevel":{"type":"string","enum":["admin","write","read","no_access"],"title":"MemberAccessLevel","description":"An enumeration."},"MemberAccessObj":{"type":"string","enum":["org","project","env"],"title":"MemberAccessObj","description":"An enumeration."},"Methods":{"type":"string","enum":["get","post","put","patch","delete","head","options"],"title":"Methods","description":"An enumeration."},"MissingUserPolicy":{"type":"string","enum":["fail","ignore","create"],"title":"MissingUserPolicy","description":"An enumeration."},"MonthlyUsage":{"properties":{"mau":{"type":"integer","minimum":0.0,"title":"Mau","default":0},"tenants":{"type":"integer","minimum":0.0,"title":"Tenants","default":0},"monthly_tenants":{"items":{"type":"string","format":"uuid"},"type":"array","uniqueItems":true,"title":"Monthly Tenants","default":[]},"month":{"type":"integer","minimum":0.0,"title":"Month","default":0},"year":{"type":"integer","minimum":0.0,"title":"Year","default":0}},"additionalProperties":false,"type":"object","title":"MonthlyUsage"},"MultiInviteResult":{"properties":{"success":{"items":{"$ref":"#/components/schemas/InviteRead"},"type":"array","title":"Success"},"failed":{"items":{"$ref":"#/components/schemas/FailedInvite"},"type":"array","title":"Failed","description":"invites that were not even attempted, and the reason why","default":[]}},"additionalProperties":false,"type":"object","required":["success"],"title":"MultiInviteResult"},"OPAEngineDecisionLog":{"properties":{"engine":{"type":"string","enum":["OPA"],"title":"Engine","default":"OPA"},"decision_id":{"type":"string","format":"uuid","title":"Decision Id"},"labels":{"$ref":"#/components/schemas/OPALabels"},"timestamp":{"type":"string","format":"date-time","title":"Timestamp"},"path":{"type":"string","title":"Path"},"input":{"title":"Input"},"result":{"title":"Result"},"metrics":{"$ref":"#/components/schemas/OPAMetrics"}},"type":"object","required":["decision_id","labels","timestamp","path","metrics"],"title":"OPAEngineDecisionLog"},"OPALClient":{"properties":{"DATA_TOPICS":{"items":{"type":"string"},"type":"array","title":"Data Topics"},"CLIENT_TOKEN":{"type":"string","title":"Client Token"},"SERVER_URL":{"type":"string","title":"Server Url"},"SERVER_WS_URL":{"type":"string","title":"Server Ws Url"},"SERVER_PUBSUB_URL":{"type":"string","title":"Server Pubsub Url"},"DEFAULT_DATA_SOURCES_CONFIG_URL":{"type":"string","title":"Default Data Sources Config Url"},"SCOPE_ID":{"type":"string","title":"Scope Id"},"SHOULD_REPORT_ON_DATA_UPDATES":{"type":"boolean","title":"Should Report On Data Updates"},"DEFAULT_UPDATE_CALLBACKS":{"$ref":"#/components/schemas/OPALUpdateCallback"},"DEFAULT_UPDATE_CALLBACK_CONFIG":{"$ref":"#/components/schemas/OPALHttpFetcherConfig"}},"additionalProperties":false,"type":"object","required":["DATA_TOPICS","CLIENT_TOKEN","SERVER_URL","SERVER_WS_URL","SERVER_PUBSUB_URL","DEFAULT_DATA_SOURCES_CONFIG_URL"],"title":"OPALClient"},"OPALCommon":{"properties":{"FETCHING_CALLBACK_TIMEOUT":{"type":"integer","title":"Fetching Callback Timeout","default":60},"AUTH_PUBLIC_KEY":{"type":"string","title":"Auth Public Key"}},"additionalProperties":false,"type":"object","required":["AUTH_PUBLIC_KEY"],"title":"OPALCommon"},"OPALHttpFetcherConfig":{"properties":{"fetcher":{"type":"string","title":"Fetcher","description":"indicates to OPAL client that it should use a custom FetcherProvider to fetch the data"},"headers":{"additionalProperties":{"type":"string"},"type":"object","title":"Headers"},"is_json":{"type":"boolean","title":"Is Json","default":true},"process_data":{"type":"boolean","title":"Process Data","default":true},"method":{"allOf":[{"$ref":"#/components/schemas/HttpMethods"}],"default":"get"},"data":{"title":"Data"}},"type":"object","title":"OPALHttpFetcherConfig","description":"Config for HttpFetchProvider's Adding HTTP headers."},"OPALUpdateCallback":{"properties":{"callbacks":{"items":{"anyOf":[{"type":"string"},{"items":[{"type":"string"},{"$ref":"#/components/schemas/OPALHttpFetcherConfig"}],"type":"array","maxItems":2,"minItems":2}]},"type":"array","title":"Callbacks"}},"type":"object","required":["callbacks"],"title":"OPALUpdateCallback"},"OPALabels":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"version":{"type":"string","title":"Version"}},"type":"object","required":["id","version"],"title":"OPALabels"},"OPAMetrics":{"properties":{"timer_rego_input_parse_ns":{"type":"integer","title":"Timer Rego Input Parse Ns"},"timer_rego_query_parse_ns":{"type":"integer","title":"Timer Rego Query Parse Ns"},"timer_rego_query_compile_ns":{"type":"integer","title":"Timer Rego Query Compile Ns"},"timer_rego_query_eval_ns":{"type":"integer","title":"Timer Rego Query Eval Ns"},"timer_rego_module_parse_ns":{"type":"integer","title":"Timer Rego Module Parse Ns"},"timer_rego_module_compile_ns":{"type":"integer","title":"Timer Rego Module Compile Ns"},"timer_server_handler_ns":{"type":"integer","title":"Timer Server Handler Ns"}},"type":"object","title":"OPAMetrics"},"OnboardingStep":{"type":"string","enum":["create_organization","create_project","create_resource","create_actions","assign_permissions","assign_user_roles","connect_sdk","done"],"title":"OnboardingStep","description":"An enumeration."},"OperationApprovalApproved":{"properties":{"reviewer_comment":{"type":"string","title":"Reviewer Comment","description":"comment provided by the reviewer_user_id"},"access_request_details":{"allOf":[{"$ref":"#/components/schemas/OperationApprovalDetails"}],"title":"Access Request Details","description":"details of the operation approval, including the resource and tenant"},"reason":{"type":"string","title":"Reason","description":"Optional business justification provided by the user requesting operation approval"},"id":{"type":"string","format":"uuid","title":"Id","description":"Unique id of the operation approval "},"organization_id":{"type":"string","format":"uuid","title":"Organization Id","description":"Unique id of the organization that the operation approval belongs to."},"project_id":{"type":"string","format":"uuid","title":"Project Id","description":"Unique id of the project that the operation approval belongs to."},"environment_id":{"type":"string","format":"uuid","title":"Environment Id","description":"Unique id of the environment that the operation approval belongs to."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Date and time when the operation approval was created (ISO_8601 format)."},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"Date and time when the operation approval was last updated/modified (ISO_8601 format)."},"requesting_user_id":{"type":"string","format":"uuid","title":"Requesting User Id","description":"optional id of the user that is requesting the approval"},"reviewed_at":{"type":"string","format":"date-time","title":"Reviewed At","description":"when the operation approval was reviewed"},"type":{"allOf":[{"$ref":"#/components/schemas/RequestType"}],"default":"operation_approval"},"status":{"allOf":[{"$ref":"#/components/schemas/RequestStatus"}],"description":"current status of the operation approval"},"reviewer_user_id":{"type":"string","format":"uuid","title":"Reviewer User Id","description":"Optional id of the user who review the operation approval"}},"additionalProperties":false,"type":"object","required":["access_request_details","id","organization_id","project_id","environment_id","created_at","updated_at","requesting_user_id","status"],"title":"OperationApprovalApproved","example":{"requesting_user_id":"1c1e4ada-f282-40e6-b3b7-20b3a51c93b5","access_request_details":{"tenant":"34f5c98e-f430-457b-a812-92637d0c6fd0","resource":"4d5215ed-38bb-48ed-879a-fdb9ca58522f","resource_instance":"2d98d9f8-e1b7-4f1d-baad-2edbf6fa6c66"},"reason":"I need to create a new transfer for my client","org_id":"7c60d51f-b44e-4682-87d6-449835ea4de6","project_id":"405d8375-3514-403b-8c43-83ae74cfe0e9","env_id":"40ef0e48-a11f-4963-a229-e396c9f7e7c4","created_at":"2019-08-24T14:15:22Z","updated_at":"2019-08-24T14:15:22Z","status":"approved","reviewer_user_id":"1b287364-14ff-4b72-8953-b40399093a6f","reviewed_at":"2019-08-24T14:15:22Z","reviewer_comment":"transfer for a new client","type":"operation_approval"}},"OperationApprovalCanceled":{"properties":{"reviewer_comment":{"type":"string","title":"Reviewer Comment","description":"comment provided by the reviewer_user_id"},"access_request_details":{"allOf":[{"$ref":"#/components/schemas/OperationApprovalDetails"}],"title":"Access Request Details","description":"details of the operation approval, including the resource and tenant"},"reason":{"type":"string","title":"Reason","description":"Optional business justification provided by the user requesting operation approval"},"id":{"type":"string","format":"uuid","title":"Id","description":"Unique id of the operation approval "},"organization_id":{"type":"string","format":"uuid","title":"Organization Id","description":"Unique id of the organization that the operation approval belongs to."},"project_id":{"type":"string","format":"uuid","title":"Project Id","description":"Unique id of the project that the operation approval belongs to."},"environment_id":{"type":"string","format":"uuid","title":"Environment Id","description":"Unique id of the environment that the operation approval belongs to."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Date and time when the operation approval was created (ISO_8601 format)."},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"Date and time when the operation approval was last updated/modified (ISO_8601 format)."},"requesting_user_id":{"type":"string","format":"uuid","title":"Requesting User Id","description":"optional id of the user that is requesting the approval"},"reviewed_at":{"type":"string","format":"date-time","title":"Reviewed At","description":"when the operation approval was reviewed"},"type":{"allOf":[{"$ref":"#/components/schemas/RequestType"}],"default":"operation_approval"},"status":{"allOf":[{"$ref":"#/components/schemas/RequestStatus"}],"description":"current status of the operation approval"},"reviewer_user_id":{"type":"string","format":"uuid","title":"Reviewer User Id","description":"Optional id of the user who review the operation approval"}},"additionalProperties":false,"type":"object","required":["access_request_details","id","organization_id","project_id","environment_id","created_at","updated_at","requesting_user_id","status"],"title":"OperationApprovalCanceled","example":{"requesting_user_id":"1c1e4ada-f282-40e6-b3b7-20b3a51c93b5","access_request_details":{"tenant":"34f5c98e-f430-457b-a812-92637d0c6fd0","resource":"4d5215ed-38bb-48ed-879a-fdb9ca58522f","resource_instance":"2d98d9f8-e1b7-4f1d-baad-2edbf6fa6c66"},"reason":"I need to create a new transfer for my client","org_id":"7c60d51f-b44e-4682-87d6-449835ea4de6","project_id":"405d8375-3514-403b-8c43-83ae74cfe0e9","env_id":"40ef0e48-a11f-4963-a229-e396c9f7e7c4","created_at":"2019-08-24T14:15:22Z","updated_at":"2019-08-24T14:15:22Z","status":"canceled","type":"operation_approval"}},"OperationApprovalCreateDetails":{"properties":{"tenant":{"type":"string","title":"Tenant","description":"tenant id or key that the user is requesting operation approval for"},"resource":{"type":"string","title":"Resource","description":"resource id or key that the user is requesting operation approval for"},"resource_instance":{"type":"string","title":"Resource Instance","description":"resource instance id or key that the user is requesting operation approval for"}},"additionalProperties":false,"type":"object","required":["tenant","resource"],"title":"OperationApprovalCreateDetails"},"OperationApprovalDenied":{"properties":{"reviewer_comment":{"type":"string","title":"Reviewer Comment","description":"comment provided by the reviewer_user_id"},"access_request_details":{"allOf":[{"$ref":"#/components/schemas/OperationApprovalDetails"}],"title":"Access Request Details","description":"details of the operation approval, including the resource and tenant"},"reason":{"type":"string","title":"Reason","description":"Optional business justification provided by the user requesting operation approval"},"id":{"type":"string","format":"uuid","title":"Id","description":"Unique id of the operation approval "},"organization_id":{"type":"string","format":"uuid","title":"Organization Id","description":"Unique id of the organization that the operation approval belongs to."},"project_id":{"type":"string","format":"uuid","title":"Project Id","description":"Unique id of the project that the operation approval belongs to."},"environment_id":{"type":"string","format":"uuid","title":"Environment Id","description":"Unique id of the environment that the operation approval belongs to."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Date and time when the operation approval was created (ISO_8601 format)."},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"Date and time when the operation approval was last updated/modified (ISO_8601 format)."},"requesting_user_id":{"type":"string","format":"uuid","title":"Requesting User Id","description":"optional id of the user that is requesting the approval"},"reviewed_at":{"type":"string","format":"date-time","title":"Reviewed At","description":"when the operation approval was reviewed"},"type":{"allOf":[{"$ref":"#/components/schemas/RequestType"}],"default":"operation_approval"},"status":{"allOf":[{"$ref":"#/components/schemas/RequestStatus"}],"description":"current status of the operation approval"},"reviewer_user_id":{"type":"string","format":"uuid","title":"Reviewer User Id","description":"Optional id of the user who review the operation approval"}},"additionalProperties":false,"type":"object","required":["access_request_details","id","organization_id","project_id","environment_id","created_at","updated_at","requesting_user_id","status"],"title":"OperationApprovalDenied","example":{"requesting_user_id":"1c1e4ada-f282-40e6-b3b7-20b3a51c93b5","access_request_details":{"tenant":"34f5c98e-f430-457b-a812-92637d0c6fd0","resource":"4d5215ed-38bb-48ed-879a-fdb9ca58522f","resource_instance":"2d98d9f8-e1b7-4f1d-baad-2edbf6fa6c66"},"reason":"I need to create a new transfer for my client","org_id":"7c60d51f-b44e-4682-87d6-449835ea4de6","project_id":"405d8375-3514-403b-8c43-83ae74cfe0e9","env_id":"40ef0e48-a11f-4963-a229-e396c9f7e7c4","created_at":"2019-08-24T14:15:22Z","updated_at":"2019-08-24T14:15:22Z","status":"denied","reviewer_user_id":"1b287364-14ff-4b72-8953-b40399093a6f","reviewed_at":"2019-08-24T14:15:22Z","reviewer_comment":"need more info","type":"operation_approval"}},"OperationApprovalDetails":{"properties":{"tenant":{"type":"string","title":"Tenant","description":"tenant id or key that the user is requesting operation approval for"},"resource":{"type":"string","title":"Resource","description":"resource id or key that the user is requesting operation approval for"},"resource_instance":{"type":"string","title":"Resource Instance","description":"resource instance id or key that the user is requesting operation approval for"},"element_config_id":{"type":"string","title":"Element Config Id","description":"element config id or key that the user is requesting operation approval from"}},"additionalProperties":false,"type":"object","required":["tenant","resource","resource_instance"],"title":"OperationApprovalDetails"},"OperationApprovalList":{"properties":{"access_request_details":{"allOf":[{"$ref":"#/components/schemas/OperationApprovalDetails"}],"title":"Access Request Details","description":"details of the operation approval, including the resource and tenant"},"reason":{"type":"string","title":"Reason","description":"Optional business justification provided by the user requesting operation approval"},"id":{"type":"string","format":"uuid","title":"Id","description":"Unique id of the operation approval "},"organization_id":{"type":"string","format":"uuid","title":"Organization Id","description":"Unique id of the organization that the operation approval belongs to."},"project_id":{"type":"string","format":"uuid","title":"Project Id","description":"Unique id of the project that the operation approval belongs to."},"environment_id":{"type":"string","format":"uuid","title":"Environment Id","description":"Unique id of the environment that the operation approval belongs to."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Date and time when the operation approval was created (ISO_8601 format)."},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"Date and time when the operation approval was last updated/modified (ISO_8601 format)."},"requesting_user_id":{"type":"string","format":"uuid","title":"Requesting User Id","description":"optional id of the user that is requesting the approval"},"reviewed_at":{"type":"string","format":"date-time","title":"Reviewed At","description":"when the operation approval was reviewed"},"type":{"allOf":[{"$ref":"#/components/schemas/RequestType"}],"default":"operation_approval"},"reviewer_comment":{"type":"string","title":"Reviewer Comment","description":"comment provided by the reviewer_user_id"},"status":{"allOf":[{"$ref":"#/components/schemas/RequestStatus"}],"description":"current status of the operation approval"},"reviewer_user_id":{"type":"string","format":"uuid","title":"Reviewer User Id","description":"Optional id of the user who review the operation approval"},"requesting_user_email":{"type":"string","title":"Requesting User Email","description":"email of the user that is requesting the approval"},"requesting_user_first_name":{"type":"string","title":"Requesting User First Name","description":"first name of the user that is requesting the approval"},"requesting_user_last_name":{"type":"string","title":"Requesting User Last Name","description":"last name of the user that is requesting the approval"},"resource_key":{"type":"string","title":"Resource Key","description":"key of the resource that the user is requesting operation approval for"},"resource_instance_key":{"type":"string","title":"Resource Instance Key","description":"key of the resource instance that the user is requesting operation approval for"}},"additionalProperties":false,"type":"object","required":["access_request_details","id","organization_id","project_id","environment_id","created_at","updated_at","requesting_user_id","status"],"title":"OperationApprovalList","example":{"requesting_user_id":"1c1e4ada-f282-40e6-b3b7-20b3a51c93b5","access_request_details":{"tenant":"34f5c98e-f430-457b-a812-92637d0c6fd0","resource":"4d5215ed-38bb-48ed-879a-fdb9ca58522f","resource_instance":"2d98d9f8-e1b7-4f1d-baad-2edbf6fa6c66"},"reason":"I need to create a new transfer for my client","org_id":"7c60d51f-b44e-4682-87d6-449835ea4de6","project_id":"405d8375-3514-403b-8c43-83ae74cfe0e9","env_id":"40ef0e48-a11f-4963-a229-e396c9f7e7c4","created_at":"2019-08-24T14:15:22Z","updated_at":"2019-08-24T14:15:22Z","status":"approved","reviewer_user_id":"1b287364-14ff-4b72-8953-b40399093a6f","reviewed_at":"2019-08-24T14:15:22Z","reviewer_comment":"transfer for a new client","type":"operation_approval","requesting_user_email":"maya@permit.io","requesting_user_first_name":"Maya","requesting_user_last_name":"Barak","resource_key":"transfer","resource_instance_key":"38462985692"}},"OperationApprovalRead":{"properties":{"access_request_details":{"allOf":[{"$ref":"#/components/schemas/OperationApprovalDetails"}],"title":"Access Request Details","description":"details of the operation approval, including the resource and tenant"},"reason":{"type":"string","title":"Reason","description":"Optional business justification provided by the user requesting operation approval"},"id":{"type":"string","format":"uuid","title":"Id","description":"Unique id of the operation approval "},"organization_id":{"type":"string","format":"uuid","title":"Organization Id","description":"Unique id of the organization that the operation approval belongs to."},"project_id":{"type":"string","format":"uuid","title":"Project Id","description":"Unique id of the project that the operation approval belongs to."},"environment_id":{"type":"string","format":"uuid","title":"Environment Id","description":"Unique id of the environment that the operation approval belongs to."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Date and time when the operation approval was created (ISO_8601 format)."},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"Date and time when the operation approval was last updated/modified (ISO_8601 format)."},"requesting_user_id":{"type":"string","format":"uuid","title":"Requesting User Id","description":"optional id of the user that is requesting the approval"},"reviewed_at":{"type":"string","format":"date-time","title":"Reviewed At","description":"when the operation approval was reviewed"},"type":{"allOf":[{"$ref":"#/components/schemas/RequestType"}],"default":"operation_approval"},"reviewer_comment":{"type":"string","title":"Reviewer Comment","description":"comment provided by the reviewer_user_id"},"status":{"allOf":[{"$ref":"#/components/schemas/RequestStatus"}],"description":"current status of the operation approval"},"reviewer_user_id":{"type":"string","format":"uuid","title":"Reviewer User Id","description":"Optional id of the user who review the operation approval"}},"additionalProperties":false,"type":"object","required":["access_request_details","id","organization_id","project_id","environment_id","created_at","updated_at","requesting_user_id","status"],"title":"OperationApprovalRead","example":{"requesting_user_id":"1c1e4ada-f282-40e6-b3b7-20b3a51c93b5","access_request_details":{"tenant":"34f5c98e-f430-457b-a812-92637d0c6fd0","resource":"4d5215ed-38bb-48ed-879a-fdb9ca58522f","resource_instance":"2d98d9f8-e1b7-4f1d-baad-2edbf6fa6c66"},"reason":"I need to create a new transfer for my client","org_id":"7c60d51f-b44e-4682-87d6-449835ea4de6","project_id":"405d8375-3514-403b-8c43-83ae74cfe0e9","env_id":"40ef0e48-a11f-4963-a229-e396c9f7e7c4","created_at":"2019-08-24T14:15:22Z","updated_at":"2019-08-24T14:15:22Z","status":"approved","reviewer_user_id":"1b287364-14ff-4b72-8953-b40399093a6f","reviewed_at":"2019-08-24T14:15:22Z","reviewer_comment":"transfer for a new client","type":"operation_approval"}},"OperationApprovalReview":{"properties":{"reviewer_comment":{"type":"string","title":"Reviewer Comment","description":"comment provided by the reviewer_user_id"}},"additionalProperties":false,"type":"object","title":"OperationApprovalReview","example":{"reviewer_comment":"transfer for a new client"}},"OperationApprovalUserCreate":{"properties":{"access_request_details":{"allOf":[{"$ref":"#/components/schemas/OperationApprovalCreateDetails"}],"title":"Access Request Details","description":"details of the operation approval, including the resource and tenant"},"reason":{"type":"string","title":"Reason","description":"Optional business justification provided by the user requesting operation approval"}},"additionalProperties":false,"type":"object","required":["access_request_details"],"title":"OperationApprovalUserCreate","example":{"access_request_details":{"tenant":"34f5c98e-f430-457b-a812-92637d0c6fd0","resource":"4d5215ed-38bb-48ed-879a-fdb9ca58522f","resource_instance":"2d98d9f8-e1b7-4f1d-baad-2edbf6fa6c66"},"reason":"I need to create a new transfer for my client"}},"OrgMemberCreate":{"properties":{"id":{"type":"string","format":"uuid","title":"Id","description":"Unique id of the account member"},"email":{"type":"string","format":"email","title":"Email","description":"Email of the user controlling this account"},"permissions":{"items":{"$ref":"#/components/schemas/Permission"},"type":"array","title":"Permissions"}},"additionalProperties":false,"type":"object","required":["permissions"],"title":"OrgMemberCreate"},"OrgMemberRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id","description":"Unique id of the account member"},"email":{"type":"string","format":"email","title":"Email","description":"Email of the user controlling this account"},"email_verified":{"type":"boolean","title":"Email Verified","description":"Whether this email address is verified or not. For social providers like 'Login with Google' this is done automatically, otherwise we will send the user a verification link in email."},"name":{"type":"string","title":"Name","description":"Name of this user"},"given_name":{"type":"string","title":"Given Name","description":"First name of the user"},"family_name":{"type":"string","title":"Family Name","description":"Last name of the user"},"picture":{"type":"string","title":"Picture","description":"URL to picture, photo, or avatar of the user that controls this account."},"is_superuser":{"type":"boolean","title":"Is Superuser","description":"Whether or not this user has special access to permit.io organizations"},"is_onboarding":{"type":"boolean","title":"Is Onboarding","description":"Whether or not this user is currently onboarding, needs to be replaced by a user journey object"},"onboarding_step":{"allOf":[{"$ref":"#/components/schemas/OnboardingStep"}],"description":"the step the user is currently going through in onboarding"},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Date and time when the account member was created (ISO_8601 format)."},"last_login":{"type":"string","format":"date-time","title":"Last Login","description":"Last date and time this user logged in (ISO_8601 format)."},"last_ip":{"type":"string","title":"Last Ip","description":"Last IP address from which this user logged in.","default":"0.0.0.0"},"logins_count":{"type":"integer","title":"Logins Count","description":"Total number of logins this user has performed.","default":0},"identities":{"items":{"$ref":"#/components/schemas/IdentityRead"},"type":"array","title":"Identities"},"invite":{"$ref":"#/components/schemas/InviteRead"},"settings":{"type":"object","title":"Settings","description":"Custom permit.io dashboard settings, such as preferred theme, etc."}},"additionalProperties":false,"type":"object","required":["id","email","email_verified","is_superuser","is_onboarding","onboarding_step","created_at","identities","settings"],"title":"OrgMemberRead","example":{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","email":"janedoe@permituser.com","email_verified":true,"given_name":"Jane","family_name":"Doe","name":"Jane Josephine Doe","picture":"http://permituser.com/janedoe/me.jpg","settings":{"option":"value","another-option":"another-value"},"is_superuser":false,"is_onboarding":true,"onboarding_step":"done","created_at":"2019-08-20T14:15:22Z","last_login":"2019-08-24T14:15:22Z","last_ip":"1.2.3.4","logins_count":2,"identities":[{"user_id":"google-oauth2|000000000000000000001","provider":"google-oauth2","sub":"000000000000000000001","email":"Jane@permituser.com","email_verified":true,"user_info":{"sub":"000000000000000000001","name":"Jane Josephine Doe","given_name":"Jane","family_name":"Doe","middle_name":"Josephine","nickname":"JJ","preferred_username":"j.doe","profile":"http://permituser.com/janedoe","picture":"http://permituser.com/janedoe/me.jpg","website":"http://permituser.com","email":"janedoe@permituser.com","email_verified":true,"gender":"female","birthdate":"1972-03-31","zoneinfo":"America/Los_Angeles","locale":"en-US","phone_number":"+1 (111) 222-3434","phone_number_verified":false,"address":{"country":"us"},"updated_at":"1556845729"}}],"invite":{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","organization_id":"7c60d51f-b44e-4682-87d6-449835ea4de6","invite_code":"40ef0e48-a11f-4963-a229-e396c9eeefff","email":"Jane@permituser.com","role":"admin","created_at":"2019-08-24T14:15:22Z","status":"pending","failed_reason":""}}},"OrgMemberReadWithGrants":{"properties":{"id":{"type":"string","format":"uuid","title":"Id","description":"Unique id of the account member"},"email":{"type":"string","format":"email","title":"Email","description":"Email of the user controlling this account"},"email_verified":{"type":"boolean","title":"Email Verified","description":"Whether this email address is verified or not. For social providers like 'Login with Google' this is done automatically, otherwise we will send the user a verification link in email."},"name":{"type":"string","title":"Name","description":"Name of this user"},"given_name":{"type":"string","title":"Given Name","description":"First name of the user"},"family_name":{"type":"string","title":"Family Name","description":"Last name of the user"},"picture":{"type":"string","title":"Picture","description":"URL to picture, photo, or avatar of the user that controls this account."},"is_superuser":{"type":"boolean","title":"Is Superuser","description":"Whether or not this user has special access to permit.io organizations"},"is_onboarding":{"type":"boolean","title":"Is Onboarding","description":"Whether or not this user is currently onboarding, needs to be replaced by a user journey object"},"onboarding_step":{"allOf":[{"$ref":"#/components/schemas/OnboardingStep"}],"description":"the step the user is currently going through in onboarding"},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Date and time when the account member was created (ISO_8601 format)."},"last_login":{"type":"string","format":"date-time","title":"Last Login","description":"Last date and time this user logged in (ISO_8601 format)."},"last_ip":{"type":"string","title":"Last Ip","description":"Last IP address from which this user logged in.","default":"0.0.0.0"},"logins_count":{"type":"integer","title":"Logins Count","description":"Total number of logins this user has performed.","default":0},"identities":{"items":{"$ref":"#/components/schemas/IdentityRead"},"type":"array","title":"Identities"},"invite":{"$ref":"#/components/schemas/InviteRead"},"settings":{"type":"object","title":"Settings","description":"Custom permit.io dashboard settings, such as preferred theme, etc."},"grants":{"items":{"$ref":"#/components/schemas/Permission"},"type":"array","title":"Grants"}},"additionalProperties":false,"type":"object","required":["id","email","email_verified","is_superuser","is_onboarding","onboarding_step","created_at","identities","settings","grants"],"title":"OrgMemberReadWithGrants","example":{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","email":"janedoe@permituser.com","email_verified":true,"given_name":"Jane","family_name":"Doe","name":"Jane Josephine Doe","picture":"http://permituser.com/janedoe/me.jpg","settings":{"option":"value","another-option":"another-value"},"is_superuser":false,"is_onboarding":true,"onboarding_step":"done","created_at":"2019-08-20T14:15:22Z","last_login":"2019-08-24T14:15:22Z","last_ip":"1.2.3.4","logins_count":2,"identities":[{"user_id":"google-oauth2|000000000000000000001","provider":"google-oauth2","sub":"000000000000000000001","email":"Jane@permituser.com","email_verified":true,"user_info":{"sub":"000000000000000000001","name":"Jane Josephine Doe","given_name":"Jane","family_name":"Doe","middle_name":"Josephine","nickname":"JJ","preferred_username":"j.doe","profile":"http://permituser.com/janedoe","picture":"http://permituser.com/janedoe/me.jpg","website":"http://permituser.com","email":"janedoe@permituser.com","email_verified":true,"gender":"female","birthdate":"1972-03-31","zoneinfo":"America/Los_Angeles","locale":"en-US","phone_number":"+1 (111) 222-3434","phone_number_verified":false,"address":{"country":"us"},"updated_at":"1556845729"}}],"invite":{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","organization_id":"7c60d51f-b44e-4682-87d6-449835ea4de6","invite_code":"40ef0e48-a11f-4963-a229-e396c9eeefff","email":"Jane@permituser.com","role":"admin","created_at":"2019-08-24T14:15:22Z","status":"pending","failed_reason":""},"grants":[{"object_type":"org","access_level":"admin","organization_id":"7c60d51f-b44e-4682-87d6-449835ea4de6"}]}},"OrgMemberRemovePermissions":{"properties":{"id":{"type":"string","format":"uuid","title":"Id","description":"Unique id of the account member"},"permissions":{"items":{"$ref":"#/components/schemas/Permission"},"type":"array","title":"Permissions"}},"additionalProperties":false,"type":"object","required":["id","permissions"],"title":"OrgMemberRemovePermissions"},"OrgMemberUpdate":{"properties":{"settings":{"type":"object","title":"Settings","description":"Custom permit.io dashboard settings, such as preferred theme, etc."},"onboarding_step":{"allOf":[{"$ref":"#/components/schemas/OnboardingStep"}],"description":"updates the onboarding step (optional)"}},"additionalProperties":false,"type":"object","title":"OrgMemberUpdate"},"OrganizationCreate":{"properties":{"key":{"type":"string","pattern":"^[A-Za-z0-9\\-_]+$","title":"Key","description":"A URL-friendly name of the organization (i.e: slug). You will be able to query later using this key instead of the id (UUID) of the organization."},"name":{"type":"string","pattern":"^[A-Za-z0-9\\.\\-\\_\\ ]+$","title":"Name","description":"The name of the organization, usually it's your company's name."},"settings":{"type":"object","title":"Settings","description":"the settings for this project"}},"additionalProperties":false,"type":"object","required":["key","name"],"title":"OrganizationCreate"},"OrganizationObj":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"key":{"type":"string","title":"Key"},"name":{"type":"string","title":"Name"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","key","created_at","updated_at"],"title":"OrganizationObj"},"OrganizationRead":{"properties":{"key":{"type":"string","title":"Key","description":"A URL-friendly name of the organization (i.e: slug). You will be able to query later using this key instead of the id (UUID) of the organization."},"id":{"type":"string","format":"uuid","title":"Id","description":"Unique id of the organization"},"is_enterprise":{"type":"boolean","title":"Is Enterprise","description":"Is this an enterprise account?"},"usage_limits":{"allOf":[{"$ref":"#/components/schemas/UsageLimits"}],"title":"Usage Limits","description":"Usage limits for this organization","default":{"mau":5000,"tenants":50,"billing_tier":"trial"}},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Date and time when the organization was created (ISO_8601 format)."},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"Date and time when the organization was last updated/modified (ISO_8601 format)."},"name":{"type":"string","title":"Name","description":"The name of the organization, usually it's your company's name."},"settings":{"type":"object","title":"Settings","description":"the settings for this project"}},"additionalProperties":false,"type":"object","required":["key","id","is_enterprise","created_at","updated_at","name"],"title":"OrganizationRead"},"OrganizationReadWithAPIKey":{"properties":{"key":{"type":"string","title":"Key","description":"A URL-friendly name of the organization (i.e: slug). You will be able to query later using this key instead of the id (UUID) of the organization."},"id":{"type":"string","format":"uuid","title":"Id","description":"Unique id of the organization"},"is_enterprise":{"type":"boolean","title":"Is Enterprise","description":"Is this an enterprise account?"},"usage_limits":{"allOf":[{"$ref":"#/components/schemas/UsageLimits"}],"title":"Usage Limits","description":"Usage limits for this organization","default":{"mau":5000,"tenants":50,"billing_tier":"trial"}},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Date and time when the organization was created (ISO_8601 format)."},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"Date and time when the organization was last updated/modified (ISO_8601 format)."},"name":{"type":"string","title":"Name","description":"The name of the organization, usually it's your company's name."},"settings":{"type":"object","title":"Settings","description":"the settings for this project"},"api_key_id":{"type":"string","format":"uuid","title":"Api Key Id"},"api_key_secret":{"type":"string","title":"Api Key Secret"}},"additionalProperties":false,"type":"object","required":["key","id","is_enterprise","created_at","updated_at","name"],"title":"OrganizationReadWithAPIKey"},"OrganizationStatistics":{"properties":{"projects":{"type":"integer","minimum":0.0,"title":"Projects"},"environments":{"type":"integer","minimum":0.0,"title":"Environments"},"users":{"type":"integer","minimum":0.0,"title":"Users"}},"additionalProperties":false,"type":"object","required":["projects","environments","users"],"title":"OrganizationStatistics"},"OrganizationStats":{"properties":{"key":{"type":"string","title":"Key","description":"A URL-friendly name of the organization (i.e: slug). You will be able to query later using this key instead of the id (UUID) of the organization."},"id":{"type":"string","format":"uuid","title":"Id","description":"Unique id of the organization"},"is_enterprise":{"type":"boolean","title":"Is Enterprise","description":"Is this an enterprise account?"},"usage_limits":{"allOf":[{"$ref":"#/components/schemas/UsageLimits"}],"title":"Usage Limits","description":"Usage limits for this organization","default":{"mau":5000,"tenants":50,"billing_tier":"trial"}},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Date and time when the organization was created (ISO_8601 format)."},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"Date and time when the organization was last updated/modified (ISO_8601 format)."},"name":{"type":"string","title":"Name","description":"The name of the organization, usually it's your company's name."},"settings":{"type":"object","title":"Settings","description":"the settings for this project"},"stats":{"$ref":"#/components/schemas/OrganizationStatistics"},"historical_usage":{"$ref":"#/components/schemas/HistoricalUsage"}},"additionalProperties":false,"type":"object","required":["key","id","is_enterprise","created_at","updated_at","name","stats","historical_usage"],"title":"OrganizationStats"},"OrganizationUpdate":{"properties":{"name":{"type":"string","pattern":"^[A-Za-z0-9\\.\\-\\_\\ ]+$","title":"Name","description":"The name of the organization, usually it's your company's name."},"settings":{"type":"object","title":"Settings","description":"the settings for this project"}},"additionalProperties":false,"type":"object","title":"OrganizationUpdate"},"PDPConfigRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id","description":"Unique id of the organization that the pdp_config belongs to."},"project_id":{"type":"string","format":"uuid","title":"Project Id","description":"Unique id of the project that the pdp_config belongs to."},"environment_id":{"type":"string","format":"uuid","title":"Environment Id","description":"Unique id of the environment that the pdp_config belongs to."},"client_secret":{"type":"string","title":"Client Secret"},"opal_server_access_token":{"type":"string","title":"Opal Server Access Token","hidden_from_schema":true},"num_shards":{"type":"integer","exclusiveMinimum":1.0,"title":"Num Shards"},"debug_audit_logs":{"type":"boolean","title":"Debug Audit Logs","description":"Whether debug audit logs are enabled or not","default":true},"min_pdp_version":{"type":"string","pattern":"^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$","title":"Min Pdp Version","description":"The minimum image version of PDP that can connect to this config"}},"additionalProperties":false,"type":"object","required":["id","organization_id","project_id","environment_id","client_secret"],"title":"PDPConfigRead"},"PDPContext":{"properties":{"customer_id":{"type":"string","format":"uuid","title":"Customer Id"},"client_id":{"type":"string","title":"Client Id"},"backend_tier":{"type":"string","maxLength":65536,"minLength":1,"format":"uri","title":"Backend Tier"},"component":{"type":"string","title":"Component","default":"sidecar"},"org_id":{"type":"string","format":"uuid","title":"Org Id"},"project_id":{"type":"string","format":"uuid","title":"Project Id"},"env_id":{"type":"string","format":"uuid","title":"Env Id"}},"additionalProperties":false,"type":"object","required":["customer_id","client_id","backend_tier","org_id","project_id","env_id"],"title":"PDPContext"},"PDPShardMigration":{"properties":{"num_shards":{"type":"integer","exclusiveMinimum":1.0,"title":"Num Shards"}},"additionalProperties":false,"type":"object","required":["num_shards"],"title":"PDPShardMigration"},"PaginatedResult_APIHistoryEventRead_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/APIHistoryEventRead"},"type":"array","title":"Data","description":"List of Api History Events"},"total_count":{"type":"integer","minimum":0.0,"title":"Total Count"},"page_count":{"type":"integer","minimum":0.0,"title":"Page Count","default":0}},"additionalProperties":false,"type":"object","required":["data","total_count"],"title":"PaginatedResult[APIHistoryEventRead]"},"PaginatedResult_APIKeyRead_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/APIKeyRead"},"type":"array","title":"Data","description":"List of Api Keys"},"total_count":{"type":"integer","minimum":0.0,"title":"Total Count"},"page_count":{"type":"integer","minimum":0.0,"title":"Page Count","default":0}},"additionalProperties":false,"type":"object","required":["data","total_count"],"title":"PaginatedResult[APIKeyRead]"},"PaginatedResult_AccessRequestRead_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/AccessRequestRead"},"type":"array","title":"Data","description":"List of Access Requests"},"total_count":{"type":"integer","minimum":0.0,"title":"Total Count"},"page_count":{"type":"integer","minimum":0.0,"title":"Page Count","default":0}},"additionalProperties":false,"type":"object","required":["data","total_count"],"title":"PaginatedResult[AccessRequestRead]"},"PaginatedResult_ActivityLogEventRead_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/ActivityLogEventRead"},"type":"array","title":"Data","description":"List of Activity Log Events"},"total_count":{"type":"integer","minimum":0.0,"title":"Total Count"},"page_count":{"type":"integer","minimum":0.0,"title":"Page Count","default":0}},"additionalProperties":false,"type":"object","required":["data","total_count"],"title":"PaginatedResult[ActivityLogEventRead]"},"PaginatedResult_ConditionSetRead_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/ConditionSetRead"},"type":"array","title":"Data","description":"List of Condition Sets"},"total_count":{"type":"integer","minimum":0.0,"title":"Total Count"},"page_count":{"type":"integer","minimum":0.0,"title":"Page Count","default":0}},"additionalProperties":false,"type":"object","required":["data","total_count"],"title":"PaginatedResult[ConditionSetRead]"},"PaginatedResult_ElementsConfigRead_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/ElementsConfigRead"},"type":"array","title":"Data","description":"List of Elements Configs"},"total_count":{"type":"integer","minimum":0.0,"title":"Total Count"},"page_count":{"type":"integer","minimum":0.0,"title":"Page Count","default":0}},"additionalProperties":false,"type":"object","required":["data","total_count"],"title":"PaginatedResult[ElementsConfigRead]"},"PaginatedResult_ElementsUserInviteRead_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/ElementsUserInviteRead"},"type":"array","title":"Data","description":"List of Elements User Invites"},"total_count":{"type":"integer","minimum":0.0,"title":"Total Count"},"page_count":{"type":"integer","minimum":0.0,"title":"Page Count","default":0}},"additionalProperties":false,"type":"object","required":["data","total_count"],"title":"PaginatedResult[ElementsUserInviteRead]"},"PaginatedResult_GroupReadSchema_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/GroupReadSchema"},"type":"array","title":"Data","description":"List of Group Read Schemas"},"total_count":{"type":"integer","minimum":0.0,"title":"Total Count"},"page_count":{"type":"integer","minimum":0.0,"title":"Page Count","default":0}},"additionalProperties":false,"type":"object","required":["data","total_count"],"title":"PaginatedResult[GroupReadSchema]"},"PaginatedResult_GroupRoleReadSchema_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/GroupRoleReadSchema"},"type":"array","title":"Data","description":"List of Group Role Read Schemas"},"total_count":{"type":"integer","minimum":0.0,"title":"Total Count"},"page_count":{"type":"integer","minimum":0.0,"title":"Page Count","default":0}},"additionalProperties":false,"type":"object","required":["data","total_count"],"title":"PaginatedResult[GroupRoleReadSchema]"},"PaginatedResult_GroupUserReadSchema_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/GroupUserReadSchema"},"type":"array","title":"Data","description":"List of Group User Read Schemas"},"total_count":{"type":"integer","minimum":0.0,"title":"Total Count"},"page_count":{"type":"integer","minimum":0.0,"title":"Page Count","default":0}},"additionalProperties":false,"type":"object","required":["data","total_count"],"title":"PaginatedResult[GroupUserReadSchema]"},"PaginatedResult_OperationApprovalList_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/OperationApprovalList"},"type":"array","title":"Data","description":"List of Operation Approval Lists"},"total_count":{"type":"integer","minimum":0.0,"title":"Total Count"},"page_count":{"type":"integer","minimum":0.0,"title":"Page Count","default":0}},"additionalProperties":false,"type":"object","required":["data","total_count"],"title":"PaginatedResult[OperationApprovalList]"},"PaginatedResult_RelationRead_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/RelationRead"},"type":"array","title":"Data","description":"List of Relations"},"total_count":{"type":"integer","minimum":0.0,"title":"Total Count"},"page_count":{"type":"integer","minimum":0.0,"title":"Page Count","default":0}},"additionalProperties":false,"type":"object","required":["data","total_count"],"title":"PaginatedResult[RelationRead]"},"PaginatedResult_RelationshipTupleDetailedRead_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/RelationshipTupleDetailedRead"},"type":"array","title":"Data","description":"List of Relationship Tuple Detaileds"},"total_count":{"type":"integer","minimum":0.0,"title":"Total Count"},"page_count":{"type":"integer","minimum":0.0,"title":"Page Count","default":0}},"additionalProperties":false,"type":"object","required":["data","total_count"],"title":"PaginatedResult[RelationshipTupleDetailedRead]"},"PaginatedResult_RelationshipTupleRead_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/RelationshipTupleRead"},"type":"array","title":"Data","description":"List of Relationship Tuples"},"total_count":{"type":"integer","minimum":0.0,"title":"Total Count"},"page_count":{"type":"integer","minimum":0.0,"title":"Page Count","default":0}},"additionalProperties":false,"type":"object","required":["data","total_count"],"title":"PaginatedResult[RelationshipTupleRead]"},"PaginatedResult_ResourceInstanceDetailedRead_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/ResourceInstanceDetailedRead"},"type":"array","title":"Data","description":"List of Resource Instance Detaileds"},"total_count":{"type":"integer","minimum":0.0,"title":"Total Count"},"page_count":{"type":"integer","minimum":0.0,"title":"Page Count","default":0}},"additionalProperties":false,"type":"object","required":["data","total_count"],"title":"PaginatedResult[ResourceInstanceDetailedRead]"},"PaginatedResult_ResourceInstanceRead_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/ResourceInstanceRead"},"type":"array","title":"Data","description":"List of Resource Instances"},"total_count":{"type":"integer","minimum":0.0,"title":"Total Count"},"page_count":{"type":"integer","minimum":0.0,"title":"Page Count","default":0}},"additionalProperties":false,"type":"object","required":["data","total_count"],"title":"PaginatedResult[ResourceInstanceRead]"},"PaginatedResult_ResourceRead_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/ResourceRead"},"type":"array","title":"Data","description":"List of Resources"},"total_count":{"type":"integer","minimum":0.0,"title":"Total Count"},"page_count":{"type":"integer","minimum":0.0,"title":"Page Count","default":0}},"additionalProperties":false,"type":"object","required":["data","total_count"],"title":"PaginatedResult[ResourceRead]"},"PaginatedResult_ResourceRoleRead_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/ResourceRoleRead"},"type":"array","title":"Data","description":"List of Resource Roles"},"total_count":{"type":"integer","minimum":0.0,"title":"Total Count"},"page_count":{"type":"integer","minimum":0.0,"title":"Page Count","default":0}},"additionalProperties":false,"type":"object","required":["data","total_count"],"title":"PaginatedResult[ResourceRoleRead]"},"PaginatedResult_RoleAssignmentDetailedRead_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/RoleAssignmentDetailedRead"},"type":"array","title":"Data","description":"List of Role Assignment Detaileds"},"total_count":{"type":"integer","minimum":0.0,"title":"Total Count"},"page_count":{"type":"integer","minimum":0.0,"title":"Page Count","default":0}},"additionalProperties":false,"type":"object","required":["data","total_count"],"title":"PaginatedResult[RoleAssignmentDetailedRead]"},"PaginatedResult_RoleAssignmentRead_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/RoleAssignmentRead"},"type":"array","title":"Data","description":"List of Role Assignments"},"total_count":{"type":"integer","minimum":0.0,"title":"Total Count"},"page_count":{"type":"integer","minimum":0.0,"title":"Page Count","default":0}},"additionalProperties":false,"type":"object","required":["data","total_count"],"title":"PaginatedResult[RoleAssignmentRead]"},"PaginatedResult_RoleRead_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/RoleRead"},"type":"array","title":"Data","description":"List of Roles"},"total_count":{"type":"integer","minimum":0.0,"title":"Total Count"},"page_count":{"type":"integer","minimum":0.0,"title":"Page Count","default":0}},"additionalProperties":false,"type":"object","required":["data","total_count"],"title":"PaginatedResult[RoleRead]"},"PaginatedResult_TenantRead_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/TenantRead"},"type":"array","title":"Data","description":"List of Tenants"},"total_count":{"type":"integer","minimum":0.0,"title":"Total Count"},"page_count":{"type":"integer","minimum":0.0,"title":"Page Count","default":0}},"additionalProperties":false,"type":"object","required":["data","total_count"],"title":"PaginatedResult[TenantRead]"},"PaginatedResult_UserRead_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/UserRead"},"type":"array","title":"Data","description":"List of Users"},"total_count":{"type":"integer","minimum":0.0,"title":"Total Count"},"page_count":{"type":"integer","minimum":0.0,"title":"Page Count","default":0}},"additionalProperties":false,"type":"object","required":["data","total_count"],"title":"PaginatedResult[UserRead]"},"PdpConfigObj":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"}},"type":"object","required":["id","name"],"title":"PdpConfigObj"},"PdpValues":{"properties":{"BACKEND_SERVICE_URL":{"type":"string","title":"Backend Service Url"},"OPA_DECISION_LOG_ENABLED":{"type":"boolean","title":"Opa Decision Log Enabled"},"OPA_DECISION_LOG_INGRESS_ROUTE":{"type":"string","title":"Opa Decision Log Ingress Route"},"OPA_DECISION_LOG_INGRESS_BACKEND_TIER_URL":{"type":"string","title":"Opa Decision Log Ingress Backend Tier Url"},"CONTROL_PLANE_RELAY_JWT_TIER":{"type":"string","title":"Control Plane Relay Jwt Tier"},"CONTROL_PLANE_RELAY_API":{"type":"string","title":"Control Plane Relay Api"},"CONTROL_PLANE_PDP_DELTAS_API":{"type":"string","title":"Control Plane Pdp Deltas Api"},"FACTDB_ENABLED":{"type":"boolean","title":"Factdb Enabled"},"FACTDB_BACKUP_SERVER_URL":{"type":"string","title":"Factdb Backup Server Url"}},"additionalProperties":false,"type":"object","required":["BACKEND_SERVICE_URL","OPA_DECISION_LOG_ENABLED","OPA_DECISION_LOG_INGRESS_ROUTE","OPA_DECISION_LOG_INGRESS_BACKEND_TIER_URL","CONTROL_PLANE_RELAY_JWT_TIER","CONTROL_PLANE_RELAY_API","CONTROL_PLANE_PDP_DELTAS_API","FACTDB_BACKUP_SERVER_URL"],"title":"PdpValues"},"Permission":{"properties":{"organization_id":{"type":"string","format":"uuid","title":"Organization Id"},"project_id":{"type":"string","format":"uuid","title":"Project Id"},"environment_id":{"type":"string","format":"uuid","title":"Environment Id"},"object_type":{"$ref":"#/components/schemas/MemberAccessObj"},"access_level":{"$ref":"#/components/schemas/MemberAccessLevel"},"organization_key":{"type":"string","title":"Organization Key"},"project_key":{"type":"string","title":"Project Key"},"environment_key":{"type":"string","title":"Environment Key"},"organization_name":{"type":"string","title":"Organization Name"},"project_name":{"type":"string","title":"Project Name"},"environment_name":{"type":"string","title":"Environment Name"}},"additionalProperties":false,"type":"object","required":["organization_id","object_type","access_level"],"title":"Permission"},"PermissionLevelRoleRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id","description":"Unique id of the elements_config"},"key":{"type":"string","title":"Key","description":"A URL-friendly name of the elements_config (i.e: slug). You will be able to query later using this key instead of the id (UUID) of the elements_config."},"name":{"type":"string","title":"Name"},"resource_id":{"type":"string","format":"uuid","title":"Resource Id","description":"Unique id of the resource"}},"additionalProperties":false,"type":"object","required":["id","key","name","resource_id"],"title":"PermissionLevelRoleRead"},"PolicyGuardRuleCreate":{"properties":{"is_allowed":{"type":"boolean","title":"Is Allowed","description":"If True, the permission will be allowed for the role in the policy guard across all projectswithin the policy scope, and the permission will be locked from further editing."},"resource_key":{"type":"string","title":"Resource Key","description":"The key of the resource."},"role_key":{"type":"string","title":"Role Key","description":"The key of the role."},"action_key":{"type":"string","title":"Action Key","description":"The key of the action."},"resource_set":{"allOf":[{"$ref":"#/components/schemas/ConditionSet"}],"title":"Resource Set","description":"The resource set that the permission will be applied to."},"user_set":{"allOf":[{"$ref":"#/components/schemas/ConditionSet"}],"title":"User Set","description":"The user set that the permission will be applied to."}},"additionalProperties":false,"type":"object","required":["is_allowed","resource_key","action_key"],"title":"PolicyGuardRuleCreate","example":{"resource_key":"document","role_key":"admin","action_key":"read","is_allowed":true}},"PolicyGuardRuleItem":{"properties":{"resource_key":{"type":"string","title":"Resource Key","description":"The key of the resource."},"role_key":{"type":"string","title":"Role Key","description":"The key of the role."},"action_key":{"type":"string","title":"Action Key","description":"The key of the action."},"resource_set":{"allOf":[{"$ref":"#/components/schemas/ConditionSet"}],"title":"Resource Set","description":"The resource set that the permission will be applied to."},"user_set":{"allOf":[{"$ref":"#/components/schemas/ConditionSet"}],"title":"User Set","description":"The user set that the permission will be applied to."}},"additionalProperties":false,"type":"object","required":["resource_key","action_key"],"title":"PolicyGuardRuleItem","example":{"resource_key":"document","role_key":"admin","action_key":"read"}},"PolicyGuardRuleRead":{"properties":{"is_allowed":{"type":"boolean","title":"Is Allowed","description":"If True, the permission will be allowed for the role in the policy guard across all projectswithin the policy scope, and the permission will be locked from further editing."},"resource_key":{"type":"string","title":"Resource Key","description":"The key of the resource."},"role_key":{"type":"string","title":"Role Key","description":"The key of the role."},"action_key":{"type":"string","title":"Action Key","description":"The key of the action."},"resource_set":{"allOf":[{"$ref":"#/components/schemas/ConditionSet"}],"title":"Resource Set","description":"The resource set that the permission will be applied to."},"user_set":{"allOf":[{"$ref":"#/components/schemas/ConditionSet"}],"title":"User Set","description":"The user set that the permission will be applied to."},"scope_id":{"type":"string","format":"uuid","title":"Scope Id","description":"The unique identifier of the policy guard."},"organization_id":{"type":"string","format":"uuid","title":"Organization Id","description":"Unique id of the organization that the ScopeConfig belongs to."},"id":{"type":"string","format":"uuid","title":"Id","description":"Unique id of the ScopeConfig"}},"additionalProperties":false,"type":"object","required":["is_allowed","resource_key","action_key","scope_id","organization_id","id"],"title":"PolicyGuardRuleRead","example":{"id":"c3b6f5d7-8b1e-4c6d-9e9f-8c9d6f8e0c8f","scope_id":"c3b6f5d7-8b1e-4c6d-9e9f-hgk4f8e0c8f","resource_key":"document","role_key":"admin","action_key":"read","is_allowed":true,"org_id":"c3b6f5d7-8b1e-4c6d-9e9f-8c9d6f8e0c8f","resource_set":{"key":"country_condition","attribute":"document_country","operator":"equals","value":"US"},"user_set":{"key":"city_condition","attribute":"city","operator":"equals","value":"New York"}}},"PolicyGuardScopeAssociate":{"properties":{"project_id":{"type":"string","title":"Project Id","description":"The unique identifier of the project of this policy scope."}},"additionalProperties":false,"type":"object","required":["project_id"],"title":"PolicyGuardScopeAssociate"},"PolicyGuardScopeCreate":{"properties":{"policy_guard_scope_details":{"items":{"$ref":"#/components/schemas/PolicyGuardScopeDetailCreate"},"type":"array","title":"Policy Guard Scope Details","description":"list of projects that this policy guard is assigned to.","default":[]},"key":{"type":"string","title":"Key","description":"The unique key of the policy guard scope."}},"additionalProperties":false,"type":"object","required":["key"],"title":"PolicyGuardScopeCreate","example":{"key":"policy_guard_acme","policy_guard_scope_details":[{"project_id":"c3b6f5d78b1e4c6d9e9f8c9d6f8e0c8f"}]}},"PolicyGuardScopeDetail":{"properties":{"project_id":{"type":"string","format":"uuid","title":"Project Id","description":"Unique id of the project that the ScopeConfig belongs to."}},"additionalProperties":false,"type":"object","required":["project_id"],"title":"PolicyGuardScopeDetail"},"PolicyGuardScopeDetailCreate":{"properties":{"project_id":{"type":"string","title":"Project Id","description":"The unique identifier of the project of this policy scope."}},"additionalProperties":false,"type":"object","required":["project_id"],"title":"PolicyGuardScopeDetailCreate"},"PolicyGuardScopeRead":{"properties":{"key":{"type":"string","title":"Key","description":"The unique key of the policy guard scope."},"id":{"type":"string","format":"uuid","title":"Id","description":"Unique id of the ScopeConfig"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id","description":"Unique id of the organization that the ScopeConfig belongs to."},"policy_guard_scope_details":{"items":{"$ref":"#/components/schemas/PolicyGuardScopeDetail"},"type":"array","title":"Policy Guard Scope Details","description":"list of projects that this policy guard is assigned to.","default":[]}},"additionalProperties":false,"type":"object","required":["key","id","organization_id"],"title":"PolicyGuardScopeRead","example":{"id":"c3b6f5d7-8b1e-4c6d-9e9f-8c9d6f8e0c8f","key":"policy_guard_acme","org_id":"c3b6f5d7-8b1e-4c6d-9e9f-8c9d6f8e0c8f","policy_guard_scope_details":[{"project_id":"c3b6f5d78b1e4c6d9e9f8c9d6f8e0c8f"}]}},"PolicyRepoCreate":{"properties":{"key":{"type":"string","pattern":"^[A-Za-z0-9\\-_]+$","title":"Key","description":"A URL-friendly name of the policy repo (i.e: slug). You will be able to query later using this key instead of the id (UUID) of the policy repo."},"url":{"type":"string","title":"Url","description":"The SSH URL of the git repository (e.g. git@github.com:username/repository.git)"},"main_branch_name":{"type":"string","title":"Main Branch Name","default":"main"},"credentials":{"$ref":"#/components/schemas/SSHAuthData"},"activate_when_validated":{"type":"boolean","title":"Activate When Validated","description":"if you want to change your policy repository to this repo right after it is validated","default":false}},"additionalProperties":false,"type":"object","required":["key","url","credentials"],"title":"PolicyRepoCreate"},"PolicyRepoRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id","description":"Unique id of the policy repo"},"status":{"$ref":"#/components/schemas/PolicyRepoStatus"},"key":{"type":"string","pattern":"^[A-Za-z0-9\\-_]+$","title":"Key","description":"A URL-friendly name of the policy repo (i.e: slug). You will be able to query later using this key instead of the id (UUID) of the policy repo."},"url":{"type":"string","title":"Url","description":"The SSH URL of the git repository (e.g. git@github.com:username/repository.git)"},"main_branch_name":{"type":"string","title":"Main Branch Name","default":"main"},"credentials":{"$ref":"#/components/schemas/SSHAuthDataRead"},"activate_when_validated":{"type":"boolean","title":"Activate When Validated","description":"if you want to change your policy repository to this repo right after it is validated","default":false}},"additionalProperties":false,"type":"object","required":["id","status","key","url","credentials"],"title":"PolicyRepoRead"},"PolicyRepoStatus":{"type":"string","enum":["invalid","pending","valid"],"title":"PolicyRepoStatus","description":"An enumeration."},"ProjectCreate":{"properties":{"key":{"type":"string","pattern":"^[A-Za-z0-9\\-_]+$","title":"Key","description":"A URL-friendly name of the project (i.e: slug). You will be able to query later using this key instead of the id (UUID) of the project."},"urn_namespace":{"type":"string","pattern":"[a-z0-9-]{2,}","title":"Urn Namespace","description":"Optional namespace for URNs. If empty, URNs will be generated from project key."},"name":{"type":"string","title":"Name","description":"The name of the project"},"description":{"type":"string","title":"Description","description":"a longer description outlining the project objectives"},"settings":{"type":"object","title":"Settings","description":"the settings for this project"},"active_policy_repo_id":{"type":"string","format":"uuid","title":"Active Policy Repo Id","description":"the id of the policy repo to use for this project"},"initial_environments":{"items":{"$ref":"#/components/schemas/EnvironmentCreate"},"type":"array","title":"Initial Environments","description":"The initial environments to create for this project. By default, 'Development' and 'Production' are created, specify [] (empty list) to skip that.","default":[{"key":"dev","name":"Development"},{"key":"production","name":"Production"}]}},"additionalProperties":false,"type":"object","required":["key","name"],"title":"ProjectCreate"},"ProjectObj":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"key":{"type":"string","title":"Key"},"name":{"type":"string","title":"Name"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","key","created_at","updated_at"],"title":"ProjectObj"},"ProjectRead":{"properties":{"key":{"type":"string","title":"Key","description":"A URL-friendly name of the project (i.e: slug). You will be able to query later using this key instead of the id (UUID) of the project."},"urn_namespace":{"type":"string","pattern":"[a-z0-9-]{2,}","title":"Urn Namespace","description":"Optional namespace for URNs. If empty, URNs will be generated from project key."},"id":{"type":"string","format":"uuid","title":"Id","description":"Unique id of the project"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id","description":"Unique id of the organization that the project belongs to."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Date and time when the project was created (ISO_8601 format)."},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"Date and time when the project was last updated/modified (ISO_8601 format)."},"name":{"type":"string","title":"Name","description":"The name of the project"},"description":{"type":"string","title":"Description","description":"a longer description outlining the project objectives"},"settings":{"type":"object","title":"Settings","description":"the settings for this project"},"active_policy_repo_id":{"type":"string","format":"uuid","title":"Active Policy Repo Id","description":"the id of the policy repo to use for this project"}},"additionalProperties":false,"type":"object","required":["key","id","organization_id","created_at","updated_at","name"],"title":"ProjectRead"},"ProjectUpdate":{"properties":{"name":{"type":"string","title":"Name","description":"The name of the project"},"description":{"type":"string","title":"Description","description":"a longer description outlining the project objectives"},"settings":{"type":"object","title":"Settings","description":"the settings for this project"},"active_policy_repo_id":{"type":"string","format":"uuid","title":"Active Policy Repo Id","description":"the id of the policy repo to use for this project"}},"additionalProperties":false,"type":"object","title":"ProjectUpdate"},"ProxyConfigCreate":{"properties":{"secret":{"anyOf":[{"type":"HeadersAuth","title":"HeadersAuth","description":"HeadersAuth is a dictionary of headers to be sent with the request."},{"type":"BasicAuth","pattern":"^.+:.+$","title":"BasicAuth","description":"BasicAuth is a string of the form 'username:password'."},{"type":"BearerAuth","minLength":1,"title":"BearerAuth","description":"BearerAuth is a string of the token to be sent with the request."}],"title":"Secret","description":"Proxy config secret is set to enable the Permit Proxy to make proxied requests to the backend service."},"key":{"type":"string","pattern":"^[A-Za-z0-9\\-_]+$","title":"Key","description":"Proxy Config is set to enable the Permit Proxy to make proxied requests as part of the Frontend AuthZ."},"name":{"type":"string","title":"Name","description":"The name of the proxy config, for example: 'Stripe API'"},"mapping_rules":{"items":{"$ref":"#/components/schemas/MappingRule"},"type":"array","title":"Mapping Rules","description":"Proxy config mapping rules will include the rules that will be used to map the request to the backend service by a URL and a http method.","default":[]},"auth_mechanism":{"allOf":[{"$ref":"#/components/schemas/AuthMechanism"}],"description":"Proxy config auth mechanism will define the authentication mechanism that will be used to authenticate the request.\n\nBearer injects the secret into the Authorization header as a Bearer token,\n\nBasic injects the secret into the Authorization header as a Basic user:password,\n\nHeaders injects plain headers into the request.","default":"Bearer"}},"additionalProperties":false,"type":"object","required":["secret","key","name"],"title":"ProxyConfigCreate","example":{"name":"Stripe API","key":"stripe","mapping_rules":[{"url":"https://api.stripe.com/v1/customers","http_method":"post","resource":"customers","action":"create","headers":{"required_header":"strict"}}],"secret":"access_token_xxxxxx"}},"ProxyConfigRead":{"properties":{"key":{"type":"string","title":"Key","description":"Proxy Config is set to enable the Permit Proxy to make proxied requests as part of the Frontend AuthZ."},"id":{"type":"string","format":"uuid","title":"Id","description":"Unique id of the proxy config"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id","description":"Unique id of the organization that the proxy config belongs to."},"project_id":{"type":"string","format":"uuid","title":"Project Id","description":"Unique id of the project that the proxy config belongs to."},"environment_id":{"type":"string","format":"uuid","title":"Environment Id","description":"Unique id of the environment that the proxy config belongs to."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Date and time when the proxy config was created (ISO_8601 format)."},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"Date and time when the proxy config was last updated/modified (ISO_8601 format)."},"secret":{"anyOf":[{"type":"HeadersAuth","title":"HeadersAuth","description":"HeadersAuth is a dictionary of headers to be sent with the request."},{"type":"BasicAuth","pattern":"^.+:.+$","title":"BasicAuth","description":"BasicAuth is a string of the form 'username:password'."},{"type":"BearerAuth","minLength":1,"title":"BearerAuth","description":"BearerAuth is a string of the token to be sent with the request."}],"title":"Secret","description":"Proxy config secret is set to enable the Permit Proxy to make proxied requests to the backend service."},"name":{"type":"string","title":"Name","description":"The name of the proxy config, for example: 'Stripe API'"},"mapping_rules":{"items":{"$ref":"#/components/schemas/MappingRule"},"type":"array","title":"Mapping Rules","description":"Proxy config mapping rules will include the rules that will be used to map the request to the backend service by a URL and a http method.","default":[]},"auth_mechanism":{"allOf":[{"$ref":"#/components/schemas/AuthMechanism"}],"description":"Proxy config auth mechanism will define the authentication mechanism that will be used to authenticate the request.\n\nBearer injects the secret into the Authorization header as a Bearer token,\n\nBasic injects the secret into the Authorization header as a Basic user:password,\n\nHeaders injects plain headers into the request.","default":"Bearer"}},"additionalProperties":false,"type":"object","required":["key","id","organization_id","project_id","environment_id","created_at","updated_at","secret","name"],"title":"ProxyConfigRead","example":{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","organization_id":"7c60d51f-b44e-4682-87d6-449835ea4de6","project_id":"405d8375-3514-403b-8c43-83ae74cfe0e9","environment_id":"40ef0e48-a11f-4963-a229-e396c9f7e7c4","created_at":"2019-08-24T14:15:22Z","updated_at":"2019-08-24T14:15:22Z","key":"stripe","name":"Stripe API","mapping_rules":[{"url":"https://api.stripe.com/v1/customers","http_method":"post","resource":"customers","action":"create","headers":{"required_header":"strict"}}]}},"ProxyConfigUpdate":{"properties":{"secret":{"anyOf":[{"type":"HeadersAuth","title":"HeadersAuth","description":"HeadersAuth is a dictionary of headers to be sent with the request."},{"type":"BasicAuth","pattern":"^.+:.+$","title":"BasicAuth","description":"BasicAuth is a string of the form 'username:password'."},{"type":"BearerAuth","minLength":1,"title":"BearerAuth","description":"BearerAuth is a string of the token to be sent with the request."}],"title":"Secret","description":"Proxy config secret is set to enable the Permit Proxy to make proxied requests to the backend service."},"name":{"type":"string","title":"Name","description":"The name of the proxy config, for example: 'Stripe API'"},"mapping_rules":{"items":{"$ref":"#/components/schemas/MappingRuleUpdate"},"type":"array","title":"Mapping Rules","description":"Proxy config mapping rules, with optional should_delete flag to indicate deletion.","default":[]},"auth_mechanism":{"allOf":[{"$ref":"#/components/schemas/AuthMechanism"}],"description":"Proxy config auth mechanism will define the authentication mechanism that will be used to authenticate the request.\n\nBearer injects the secret into the Authorization header as a Bearer token,\n\nBasic injects the secret into the Authorization header as a Basic user:password,\n\nHeaders injects plain headers into the request.","default":"Bearer"}},"additionalProperties":false,"type":"object","title":"ProxyConfigUpdate","example":{"mapping_rules":[{"url":"https://api.stripe.com/v1/customers","http_method":"post","resource":"customers","action":"create","headers":{"required_header":"strict"},"should_delete":true},{"url":"https://api.stripe.com/v1/invoices","http_method":"get","resource":"invoices","action":"read","headers":{"required_header":"strict"},"should_delete":false}]}},"RelationBlockRead":{"properties":{"description":{"type":"string","title":"Description","description":"An optional longer description of what this relation represents in your system"},"resource_id":{"type":"string","format":"uuid","title":"Resource Id","description":"Unique id of the relation"},"relation_name":{"type":"string","title":"Relation Name","description":"a more descriptive name for the relation","hidden_from_schema":true},"resource":{"type":"string","title":"Resource","description":"The resource key"}},"additionalProperties":false,"type":"object","required":["resource_id","resource"],"title":"RelationBlockRead","example":{"resource_id":"3cb94048-6459-49c0-a895-a8202de7390c","relation_name":"parent","resource":"parent-resource"}},"RelationCreate":{"properties":{"key":{"type":"string","pattern":"^[A-Za-z0-9\\-_]+$","title":"Key","description":"A URL-friendly name of the relation (i.e: slug). You will be able to query later using this key instead of the id (UUID) of the relation."},"name":{"type":"string","title":"Name","description":"The name of the relation"},"description":{"type":"string","title":"Description","description":"An optional longer description of what this relation represents in your system"},"subject_resource":{"type":"string","title":"Subject Resource","description":"The subject resource ID or key"}},"additionalProperties":false,"type":"object","required":["key","name","subject_resource"],"title":"RelationCreate","example":{"key":"parent","name":"parent","subject_resource":"organization"}},"RelationRead":{"properties":{"description":{"type":"string","title":"Description","description":"An optional longer description of what this relation represents in your system"},"subject_resource":{"type":"string","title":"Subject Resource","description":"The subject resource ID or key"},"key":{"type":"string","title":"Key","description":"A URL-friendly name of the relation (i.e: slug). You will be able to query later using this key instead of the id (UUID) of the relation."},"name":{"type":"string","title":"Name","description":"The name of the relation"},"id":{"type":"string","format":"uuid","title":"Id","description":"Unique id of the relation"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id","description":"Unique id of the organization that the relation belongs to."},"project_id":{"type":"string","format":"uuid","title":"Project Id","description":"Unique id of the project that the relation belongs to."},"environment_id":{"type":"string","format":"uuid","title":"Environment Id","description":"Unique id of the environment that the relation belongs to."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Date and time when the relation was created (ISO_8601 format)."},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"Date and time when the relation was last updated/modified (ISO_8601 format)."},"object_resource_id":{"type":"string","format":"uuid","title":"Object Resource Id","description":"The object resource id"},"object_resource":{"type":"string","title":"Object Resource","description":"The object resource key"},"subject_resource_id":{"type":"string","format":"uuid","title":"Subject Resource Id","description":"The subject resource id"}},"additionalProperties":false,"type":"object","required":["subject_resource","key","name","id","organization_id","project_id","environment_id","created_at","updated_at","object_resource_id","object_resource","subject_resource_id"],"title":"RelationRead","example":{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","key":"parent","name":"parent","description":"parent relation","organization_id":"7c60d51f-b44e-4682-87d6-449835ea4de6","project_id":"405d8375-3514-403b-8c43-83ae74cfe0e9","environment_id":"40ef0e48-a11f-4963-a229-e396c9f7e7c4","object_resource_id":"40ef0e48-a11f-4963-a229-e396c9f7e7dd","object_resource":"repo","subject_resource_id":"40ef0e48-a11f-4963-a229-e396c9f7e7dd","subject_resource":"organization","created_at":"2019-08-24T14:15:22Z","updated_at":"2019-08-24T14:15:22Z"}},"RelationshipTupleBlockRead":{"properties":{"subject":{"type":"string","title":"Subject","description":"resource_key:resource_instance_key of the subject"},"relation":{"type":"string","title":"Relation","description":"key of the assigned relation"},"object":{"type":"string","title":"Object","description":"resource_key:resource_instance_key of the object"}},"additionalProperties":false,"type":"object","required":["subject","relation","object"],"title":"RelationshipTupleBlockRead"},"RelationshipTupleCreate":{"properties":{"subject":{"type":"string","title":"Subject","description":"the resource instance assigned the new relation (accepts either the resource instance id or resource_key:resource_instance_key)"},"relation":{"type":"string","title":"Relation","description":"the relation to assign between the subject and object"},"object":{"type":"string","title":"Object","description":"the resource instance on which the new relation is assigned (accepts either the resource instance id or resource_key:resource_instance_key)"},"tenant":{"type":"string","title":"Tenant","description":"The tenant the subject and object belong to, if the resource instances don't exist yet, the tenant is required to create them. otherwise it is ignored"}},"additionalProperties":false,"type":"object","required":["subject","relation","object"],"title":"RelationshipTupleCreate","example":{"subject":"organization:permitio","relation":"owner","object":"repo:opal","tenant":"public"}},"RelationshipTupleCreateBulkOperation":{"properties":{"operations":{"items":{"$ref":"#/components/schemas/RelationshipTupleCreate"},"type":"array","maxItems":1000,"title":"Operations"}},"additionalProperties":false,"type":"object","required":["operations"],"title":"RelationshipTupleCreateBulkOperation"},"RelationshipTupleCreateBulkOperationResult":{"properties":{},"additionalProperties":false,"type":"object","title":"RelationshipTupleCreateBulkOperationResult"},"RelationshipTupleDelete":{"properties":{"subject":{"type":"string","title":"Subject","description":"the resource instance assigned the new relation (accepts either the resource instance id or resource_key:resource_instance_key)"},"relation":{"type":"string","title":"Relation","description":"the relation to assign between the subject and object"},"object":{"type":"string","title":"Object","description":"the resource instance on which the new relation is assigned (accepts either the resource instance id or resource_key:resource_instance_key)"}},"additionalProperties":false,"type":"object","required":["subject","relation","object"],"title":"RelationshipTupleDelete","example":{"subject":"organization:permitio","relation":"owner","object":"repo:removed_repo"}},"RelationshipTupleDeleteBulkOperation":{"properties":{"idents":{"items":{"$ref":"#/components/schemas/RelationshipTupleDelete"},"type":"array","maxItems":1000,"title":"Idents","description":"List of relationship tuples objects to delete"}},"additionalProperties":false,"type":"object","required":["idents"],"title":"RelationshipTupleDeleteBulkOperation","example":{"idents":[{"subject":"organization:permitio","relation":"owner","object":"repo:removed_repo"},{"subject":"organization:permitio","relation":"parent","object":"repo:removed_repo"}]}},"RelationshipTupleDeleteBulkOperationResult":{"properties":{},"additionalProperties":false,"type":"object","title":"RelationshipTupleDeleteBulkOperationResult"},"RelationshipTupleDetailedRead":{"properties":{"subject":{"type":"string","title":"Subject","description":"resource_key:resource_instance_key of the subject"},"relation":{"type":"string","title":"Relation","description":"key of the assigned relation"},"object":{"type":"string","title":"Object","description":"resource_key:resource_instance_key of the object"},"id":{"type":"string","format":"uuid","title":"Id","description":"Unique id of the relationship tuple"},"tenant":{"type":"string","title":"Tenant","description":"The tenant the relationship tuple is associated with"},"subject_id":{"type":"string","format":"uuid","title":"Subject Id","description":"Unique id of the subject"},"relation_id":{"type":"string","format":"uuid","title":"Relation Id","description":"Unique id of the relation"},"object_id":{"type":"string","format":"uuid","title":"Object Id","description":"Unique id of the object"},"tenant_id":{"type":"string","format":"uuid","title":"Tenant Id","description":"Unique id of the tenant"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id","description":"Unique id of the organization that the relationship tuple belongs to."},"project_id":{"type":"string","format":"uuid","title":"Project Id","description":"Unique id of the project that the relationship tuple belongs to."},"environment_id":{"type":"string","format":"uuid","title":"Environment Id","description":"Unique id of the environment that the relationship tuple belongs to."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Date and time when the relationship tuple was created (ISO_8601 format)."},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"Date and time when the relationship tuple was created (ISO_8601 format)."},"subject_details":{"allOf":[{"$ref":"#/components/schemas/ResourceInstanceBlockRead"}],"title":"Subject Details","description":"The subject details of the relationship tuple"},"relation_details":{"allOf":[{"$ref":"#/components/schemas/StrippedRelationBlockRead"}],"title":"Relation Details","description":"The relation details of the relationship tuple"},"object_details":{"allOf":[{"$ref":"#/components/schemas/ResourceInstanceBlockRead"}],"title":"Object Details","description":"The object details of the relationship tuple"},"tenant_details":{"allOf":[{"$ref":"#/components/schemas/TenantBlockRead"}],"title":"Tenant Details","description":"The tenant details of the relationship tuple"}},"additionalProperties":false,"type":"object","required":["subject","relation","object","id","tenant","subject_id","relation_id","object_id","tenant_id","organization_id","project_id","environment_id","created_at","updated_at","subject_details","relation_details","object_details","tenant_details"],"title":"RelationshipTupleDetailedRead","examples":[{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","subject":"organization:permitio","relation":"owner","object":"repo:opal","tenant":"stripe-inc","subject_id":"7c60d51f-b44e-4682-87d6-449835ea4d11","relation_id":"405d8375-3514-403b-8c43-83ae74cfe022","object_id":"12f84e49-af17-4b0c-8cd7-01258769c2ba","tenant_id":"40ef0e48-a11f-4963-a229-e396c9f7e733","organization_id":"7c60d51f-b44e-4682-87d6-449835ea4de6","project_id":"405d8375-3514-403b-8c43-83ae74cfe0e9","environment_id":"40ef0e48-a11f-4963-a229-e396c9f7e7c4","created_at":"2019-08-24T14:15:22Z","updated_at":"2019-08-24T14:15:22Z","subject_details":{"key":"permitio","resource":"organization","tenant":"default","attributes":{}},"relation_details":{"key":"owner","name":"owner","description":"owner relation"},"object_details":{"key":"opal","resource":"repo","tenant":"default","attributes":{"private":"false","owner":"permitio"}},"tenant_details":{"key":"github","name":"GitHub","description":"A code hosting platform for version control and collaboration","attributes":{"allowed_locations":["US","CA"]}}}]},"RelationshipTupleObj":{"properties":{"subject_str":{"type":"string","title":"Subject Str"},"relation_str":{"type":"string","title":"Relation Str"},"object_str":{"type":"string","title":"Object Str"}},"type":"object","required":["subject_str","relation_str","object_str"],"title":"RelationshipTupleObj"},"RelationshipTupleRead":{"properties":{"subject":{"type":"string","title":"Subject","description":"resource_key:resource_instance_key of the subject"},"relation":{"type":"string","title":"Relation","description":"key of the assigned relation"},"object":{"type":"string","title":"Object","description":"resource_key:resource_instance_key of the object"},"id":{"type":"string","format":"uuid","title":"Id","description":"Unique id of the relationship tuple"},"tenant":{"type":"string","title":"Tenant","description":"The tenant the relationship tuple is associated with"},"subject_id":{"type":"string","format":"uuid","title":"Subject Id","description":"Unique id of the subject"},"relation_id":{"type":"string","format":"uuid","title":"Relation Id","description":"Unique id of the relation"},"object_id":{"type":"string","format":"uuid","title":"Object Id","description":"Unique id of the object"},"tenant_id":{"type":"string","format":"uuid","title":"Tenant Id","description":"Unique id of the tenant"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id","description":"Unique id of the organization that the relationship tuple belongs to."},"project_id":{"type":"string","format":"uuid","title":"Project Id","description":"Unique id of the project that the relationship tuple belongs to."},"environment_id":{"type":"string","format":"uuid","title":"Environment Id","description":"Unique id of the environment that the relationship tuple belongs to."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Date and time when the relationship tuple was created (ISO_8601 format)."},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"Date and time when the relationship tuple was created (ISO_8601 format)."},"subject_details":{"allOf":[{"$ref":"#/components/schemas/ResourceInstanceBlockRead"}],"title":"Subject Details","description":"The subject details of the relationship tuple"},"relation_details":{"allOf":[{"$ref":"#/components/schemas/StrippedRelationBlockRead"}],"title":"Relation Details","description":"The relation details of the relationship tuple"},"object_details":{"allOf":[{"$ref":"#/components/schemas/ResourceInstanceBlockRead"}],"title":"Object Details","description":"The object details of the relationship tuple"},"tenant_details":{"allOf":[{"$ref":"#/components/schemas/TenantBlockRead"}],"title":"Tenant Details","description":"The tenant details of the relationship tuple"}},"additionalProperties":false,"type":"object","required":["subject","relation","object","id","tenant","subject_id","relation_id","object_id","tenant_id","organization_id","project_id","environment_id","created_at","updated_at"],"title":"RelationshipTupleRead","examples":[{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","subject":"organization:permitio","relation":"owner","object":"repo:opal","tenant":"stripe-inc","subject_id":"7c60d51f-b44e-4682-87d6-449835ea4d11","relation_id":"405d8375-3514-403b-8c43-83ae74cfe022","object_id":"12f84e49-af17-4b0c-8cd7-01258769c2ba","tenant_id":"40ef0e48-a11f-4963-a229-e396c9f7e733","organization_id":"7c60d51f-b44e-4682-87d6-449835ea4de6","project_id":"405d8375-3514-403b-8c43-83ae74cfe0e9","environment_id":"40ef0e48-a11f-4963-a229-e396c9f7e7c4","created_at":"2019-08-24T14:15:22Z","updated_at":"2019-08-24T14:15:22Z"},{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","subject":"organization:permitio","relation":"owner","object":"repo:opal","tenant":"stripe-inc","subject_id":"7c60d51f-b44e-4682-87d6-449835ea4d11","relation_id":"405d8375-3514-403b-8c43-83ae74cfe022","object_id":"12f84e49-af17-4b0c-8cd7-01258769c2ba","tenant_id":"40ef0e48-a11f-4963-a229-e396c9f7e733","organization_id":"7c60d51f-b44e-4682-87d6-449835ea4de6","project_id":"405d8375-3514-403b-8c43-83ae74cfe0e9","environment_id":"40ef0e48-a11f-4963-a229-e396c9f7e7c4","created_at":"2019-08-24T14:15:22Z","updated_at":"2019-08-24T14:15:22Z","subject_details":{"key":"permitio","resource":"organization","tenant":"default","attributes":{}},"relation_details":{"key":"owner","name":"owner","description":"owner relation"},"object_details":{"key":"opal","resource":"repo","tenant":"default","attributes":{"private":"false","owner":"permitio"}},"tenant_details":{"key":"github","name":"GitHub","description":"A code hosting platform for version control and collaboration","attributes":{"allowed_locations":["US","CA"]}}}]},"RemoteConfig":{"properties":{"opal_common":{"$ref":"#/components/schemas/OPALCommon"},"opal_client":{"$ref":"#/components/schemas/OPALClient"},"pdp":{"allOf":[{"$ref":"#/components/schemas/PdpValues"}],"title":"Pdp","default":{}},"context":{"$ref":"#/components/schemas/PDPContext"}},"additionalProperties":false,"type":"object","required":["opal_common","opal_client","context"],"title":"RemoteConfig"},"RemoveRolePermissions":{"properties":{"permissions":{"items":{"type":"string"},"type":"array","title":"Permissions","description":"List of permissions to remove from the role. If a permission is not found it is skipped. Each permission can be either a resource action id, or `{resource_key}:{action_key}`,i.e: the \"permission name\"."}},"additionalProperties":false,"type":"object","required":["permissions"],"title":"RemoveRolePermissions","example":{"permissions":["document:share"]}},"RequestStatus":{"type":"string","enum":["pending","approved","denied","canceled"],"title":"RequestStatus","description":"An enumeration."},"RequestType":{"type":"string","enum":["access_request","operation_approval"],"title":"RequestType","description":"An enumeration."},"ResourceActionCreate":{"properties":{"key":{"type":"string","pattern":"^[A-Za-z0-9\\-_]+$","title":"Key","description":"A URL-friendly name of the action (i.e: slug). You will be able to query later using this key instead of the id (UUID) of the action."},"name":{"type":"string","title":"Name","description":"The name of the action"},"description":{"type":"string","title":"Description","description":"An optional longer description of what this action respresents in your system"},"attributes":{"type":"object","title":"Attributes","description":"optional dictionary of key-value pairs that can be used to store arbitrary metadata about this action. This metadata can be used to filter actions using query parameters with attr_ prefix"},"v1compat_path":{"type":"string","title":"V1Compat Path","hidden_from_schema":true},"v1compat_is_built_in":{"type":"boolean","title":"V1Compat Is Built In","hidden_from_schema":true},"v1compat_name":{"type":"string","title":"V1Compat Name","hidden_from_schema":true}},"additionalProperties":false,"type":"object","required":["key","name"],"title":"ResourceActionCreate","example":{"key":"read","name":"read","description":"read a document"}},"ResourceActionGroupCreate":{"properties":{"key":{"type":"string","pattern":"^[A-Za-z0-9\\-_]+$","title":"Key","description":"A URL-friendly name of the action group (i.e: slug). You will be able to query later using this key instead of the id (UUID) of the action group."},"name":{"type":"string","title":"Name","description":"The name of the action group"},"description":{"type":"string","title":"Description","description":"An optional longer description of what this action group represents in your system"},"attributes":{"type":"object","title":"Attributes","description":"optional dictionary of key-value pairs that can be used to store arbitrary metadata about this action group. This metadata can be used to filter action groups using query parameters with attr_ prefix"},"actions":{"items":{"type":"string"},"type":"array","title":"Actions","default":[]}},"additionalProperties":false,"type":"object","required":["key","name"],"title":"ResourceActionGroupCreate","example":{"key":"writer","name":"Writer","actions":["read","update"],"description":"Writer Action Group"}},"ResourceActionGroupRead":{"properties":{"name":{"type":"string","title":"Name","description":"The name of the action group"},"description":{"type":"string","title":"Description","description":"An optional longer description of what this action group represents in your system"},"attributes":{"type":"object","title":"Attributes","description":"optional dictionary of key-value pairs that can be used to store arbitrary metadata about this action group. This metadata can be used to filter action groups using query parameters with attr_ prefix"},"actions":{"items":{"type":"string"},"type":"array","title":"Actions","default":[]},"key":{"type":"string","pattern":"^[A-Za-z0-9\\-_]+$","title":"Key","description":"A URL-friendly name of the action group (i.e: slug). You will be able to query later using this key instead of the id (UUID) of the action group."},"id":{"type":"string","format":"uuid","title":"Id","description":"Unique id of the action group"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id","description":"Unique id of the organization that the action group belongs to."},"project_id":{"type":"string","format":"uuid","title":"Project Id","description":"Unique id of the project that the action group belongs to."},"environment_id":{"type":"string","format":"uuid","title":"Environment Id","description":"Unique id of the environment that the action group belongs to."},"resource_id":{"type":"string","format":"uuid","title":"Resource Id","description":"Unique id of the resource that the action group belongs to."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Date and time when the action group was created (ISO_8601 format)."},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"Date and time when the action group was last updated/modified (ISO_8601 format)."}},"additionalProperties":false,"type":"object","required":["name","key","id","organization_id","project_id","environment_id","resource_id","created_at","updated_at"],"title":"ResourceActionGroupRead","example":{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","key":"writer","name":"Writer","actions":["read","update"],"description":"Writer Action Group","organization_id":"7c60d51f-b44e-4682-87d6-449835ea4de6","project_id":"405d8375-3514-403b-8c43-83ae74cfe0e9","environment_id":"40ef0e48-a11f-4963-a229-e396c9f7e7c4","resource_id":"40ef0e48-a11f-4963-a229-e396c9f7e7dd","created_at":"2019-08-24T14:15:22Z","updated_at":"2019-08-24T14:15:22Z"}},"ResourceActionGroupUpdate":{"properties":{"name":{"type":"string","title":"Name","description":"The name of the action group"},"description":{"type":"string","title":"Description","description":"An optional longer description of what this action group represents in your system"},"attributes":{"type":"object","title":"Attributes","description":"optional dictionary of key-value pairs that can be used to store arbitrary metadata about this action group. This metadata can be used to filter action groups using query parameters with attr_ prefix"},"actions":{"items":{"type":"string"},"type":"array","title":"Actions","default":[]}},"additionalProperties":false,"type":"object","title":"ResourceActionGroupUpdate"},"ResourceActionRead":{"properties":{"name":{"type":"string","title":"Name","description":"The name of the action"},"description":{"type":"string","title":"Description","description":"An optional longer description of what this action respresents in your system"},"attributes":{"type":"object","title":"Attributes","description":"optional dictionary of key-value pairs that can be used to store arbitrary metadata about this action. This metadata can be used to filter actions using query parameters with attr_ prefix"},"v1compat_path":{"type":"string","title":"V1Compat Path","hidden_from_schema":true},"v1compat_is_built_in":{"type":"boolean","title":"V1Compat Is Built In","hidden_from_schema":true},"v1compat_name":{"type":"string","title":"V1Compat Name","hidden_from_schema":true},"key":{"type":"string","title":"Key","description":"A URL-friendly name of the action (i.e: slug). You will be able to query later using this key instead of the id (UUID) of the action."},"id":{"type":"string","format":"uuid","title":"Id","description":"Unique id of the action"},"permission_name":{"type":"string","title":"Permission Name","description":"The name of the action, prefixed by the resource the action is acting upon."},"organization_id":{"type":"string","format":"uuid","title":"Organization Id","description":"Unique id of the organization that the action belongs to."},"project_id":{"type":"string","format":"uuid","title":"Project Id","description":"Unique id of the project that the action belongs to."},"environment_id":{"type":"string","format":"uuid","title":"Environment Id","description":"Unique id of the environment that the action belongs to."},"resource_id":{"type":"string","format":"uuid","title":"Resource Id","description":"Unique id of the resource that the action belongs to."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Date and time when the action was created (ISO_8601 format)."},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"Date and time when the action was last updated/modified (ISO_8601 format)."}},"additionalProperties":false,"type":"object","required":["name","key","id","permission_name","organization_id","project_id","environment_id","resource_id","created_at","updated_at"],"title":"ResourceActionRead","example":{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","key":"read","name":"read","permission_name":"document:read","description":"read a document","organization_id":"7c60d51f-b44e-4682-87d6-449835ea4de6","project_id":"405d8375-3514-403b-8c43-83ae74cfe0e9","environment_id":"40ef0e48-a11f-4963-a229-e396c9f7e7c4","resource_id":"40ef0e48-a11f-4963-a229-e396c9f7e7dd","created_at":"2019-08-24T14:15:22Z","updated_at":"2019-08-24T14:15:22Z"}},"ResourceActionUpdate":{"properties":{"name":{"type":"string","title":"Name","description":"The name of the action"},"description":{"type":"string","title":"Description","description":"An optional longer description of what this action respresents in your system"},"attributes":{"type":"object","title":"Attributes","description":"optional dictionary of key-value pairs that can be used to store arbitrary metadata about this action. This metadata can be used to filter actions using query parameters with attr_ prefix"},"v1compat_path":{"type":"string","title":"V1Compat Path","hidden_from_schema":true},"v1compat_is_built_in":{"type":"boolean","title":"V1Compat Is Built In","hidden_from_schema":true},"v1compat_name":{"type":"string","title":"V1Compat Name","hidden_from_schema":true}},"additionalProperties":false,"type":"object","title":"ResourceActionUpdate","example":{"description":"read a document"}},"ResourceAttributeCreate":{"properties":{"key":{"type":"string","pattern":"^[A-Za-z0-9\\-_]+$","title":"Key","description":"A URL-friendly name of the attribute (i.e: slug). You will be able to query later using this key instead of the id (UUID) of the attribute."},"type":{"allOf":[{"$ref":"#/components/schemas/AttributeType"}],"description":"The type of the attribute, we currently support: `bool`, `number` (ints, floats), `time` (a timestamp), `string`, and `json`."},"description":{"type":"string","title":"Description","description":"An optional longer description of what this attribute respresents in your system"}},"additionalProperties":false,"type":"object","required":["key","type"],"title":"ResourceAttributeCreate","example":{"key":"private","type":"bool","description":"whether or not the github repository is private"}},"ResourceAttributeRead":{"properties":{"type":{"allOf":[{"$ref":"#/components/schemas/AttributeType"}],"description":"The type of the attribute, we currently support: `bool`, `number` (ints, floats), `time` (a timestamp), `string`, and `json`."},"description":{"type":"string","title":"Description","description":"An optional longer description of what this attribute respresents in your system"},"key":{"type":"string","title":"Key","description":"A URL-friendly name of the attribute (i.e: slug). You will be able to query later using this key instead of the id (UUID) of the attribute."},"id":{"type":"string","format":"uuid","title":"Id","description":"Unique id of the attribute"},"resource_id":{"type":"string","format":"uuid","title":"Resource Id","description":"Unique id of the resource that the attribute belongs to."},"resource_key":{"type":"string","title":"Resource Key","description":"A URL-friendly name of the resource (i.e: slug). You will be able to query later using this key instead of the id (UUID) of the resource."},"organization_id":{"type":"string","format":"uuid","title":"Organization Id","description":"Unique id of the organization that the attribute belongs to."},"project_id":{"type":"string","format":"uuid","title":"Project Id","description":"Unique id of the project that the attribute belongs to."},"environment_id":{"type":"string","format":"uuid","title":"Environment Id","description":"Unique id of the environment that the attribute belongs to."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Date and time when the attribute was created (ISO_8601 format)."},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"Date and time when the attribute was last updated/modified (ISO_8601 format)."},"built_in":{"type":"boolean","title":"Built In","description":"Whether the attribute is built-in, and managed by the Permit system."}},"additionalProperties":false,"type":"object","required":["type","key","id","resource_id","resource_key","organization_id","project_id","environment_id","created_at","updated_at","built_in"],"title":"ResourceAttributeRead","example":{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","key":"private","type":"bool","description":"whether or not the github repository is private","resource_id":"40ef0e48-a11f-4963-a229-e396c9f7e7dd","resource_key":"repository","organization_id":"7c60d51f-b44e-4682-87d6-449835ea4de6","project_id":"405d8375-3514-403b-8c43-83ae74cfe0e9","environment_id":"40ef0e48-a11f-4963-a229-e396c9f7e7c4","created_at":"2019-08-24T14:15:22Z","updated_at":"2019-08-24T14:15:22Z","built_in":false}},"ResourceAttributeUpdate":{"properties":{"type":{"allOf":[{"$ref":"#/components/schemas/AttributeType"}],"description":"The type of the attribute, we currently support: `bool`, `number` (ints, floats), `time` (a timestamp), `string`, and `json`."},"description":{"type":"string","title":"Description","description":"An optional longer description of what this attribute respresents in your system"}},"additionalProperties":false,"type":"object","title":"ResourceAttributeUpdate","example":{"description":"whether or not the github repository is private"}},"ResourceAttributes":{"properties":{"type":{"$ref":"#/components/schemas/AttributeType"},"key":{"type":"string","title":"Key"}},"type":"object","required":["type","key"],"title":"ResourceAttributes"},"ResourceCreate":{"properties":{"key":{"type":"string","pattern":"^[A-Za-z0-9\\-_]+$","title":"Key","description":"A URL-friendly name of the resource (i.e: slug). You will be able to query later using this key instead of the id (UUID) of the resource."},"name":{"type":"string","title":"Name","description":"The name of the resource"},"urn":{"type":"string","title":"Urn","description":"The [URN](https://en.wikipedia.org/wiki/Uniform_Resource_Name) (Uniform Resource Name) of the resource"},"description":{"type":"string","title":"Description","description":"An optional longer description of what this resource respresents in your system"},"actions":{"additionalProperties":{"$ref":"#/components/schemas/ActionBlockEditable"},"type":"object","title":"Actions","description":"\n A actions definition block, typically contained within a resource type definition block.\n The actions represents the ways you can interact with a protected resource.\n "},"type_attributes":{"type":"object","title":"Type Attributes","description":"optional dictionary of key-value pairs that can be used to store arbitrary metadata about this resource. This metadata can be used to filter resource using query parameters with attr_ prefix"},"attributes":{"additionalProperties":{"$ref":"#/components/schemas/AttributeBlockEditable"},"type":"object","title":"Attributes","description":"Attributes that each resource of this type defines, and can be used in your ABAC policies."},"roles":{"patternProperties":{"^[A-Za-z0-9\\-_]+$":{"$ref":"#/components/schemas/RoleBlockEditable"}},"additionalProperties":{"$ref":"#/components/schemas/RoleBlockEditable"},"type":"object","title":"Roles","description":"Roles defined on this resource. The key is the role name, and the value contains the role properties such as granted permissions, base roles, etc."},"relations":{"patternProperties":{"^[A-Za-z0-9\\-_]+$":{"type":"string","pattern":"^[A-Za-z0-9\\-_]+$"}},"additionalProperties":{"type":"string","pattern":"^[A-Za-z0-9\\-_]+$"},"type":"object","title":"Relations","description":"Relations to other resources. The key is the relation key, and the value is the related resource."},"v1compat_path":{"type":"string","title":"V1Compat Path","hidden_from_schema":true},"v1compat_type":{"type":"string","title":"V1Compat Type","hidden_from_schema":true},"v1compat_name":{"type":"string","title":"V1Compat Name","hidden_from_schema":true}},"additionalProperties":false,"type":"object","required":["key","name","actions"],"title":"ResourceCreate","example":{"key":"repository","name":"Repository","actions":{"clone":{},"read":{},"push":{}},"roles":{"contributor":{"name":"contributor","permissions":["read"],"description":"the contributor role can only read from the repo"},"maintainer":{"name":"maintainer","permissions":["push"]}},"relations":{"parent":"Organization"},"attributes":{"created":{"type":"time","description":"the time (timestamp) the repository was created"},"private":{"type":"bool","description":"whether the repo is private (if false, the repo is public)"}}}},"ResourceInstanceBlockRead":{"properties":{"key":{"type":"string","title":"Key","description":"A unique identifier by which Permit will identify the resource instance for permission checks. You will later pass this identifier to the `permit.check()` API. A key can be anything: for example the resource db id, a url slug, a UUID or anything else as long as it's unique on your end. The resource instance key must be url-friendly."},"tenant":{"type":"string","title":"Tenant","description":"the *key* of the tenant that this resource belongs to, used to enforce tenant boundaries in multi-tenant apps."},"resource":{"type":"string","title":"Resource","description":"the *key* of the resource (type) of this resource instance. For example: if this resource instance is the annual budget document, the key of the resource might be `document`."},"attributes":{"type":"object","title":"Attributes","description":"Arbitrary resource attributes that will be used to enforce attribute-based access control policies.","default":{}}},"additionalProperties":false,"type":"object","required":["key","tenant","resource"],"title":"ResourceInstanceBlockRead","example":{"attributes":{"private":"false","owner":"facebook"},"key":"react","resource":"repository","tenant":"default"}},"ResourceInstanceCreate":{"properties":{"key":{"type":"string","pattern":"^[A-Za-z0-9\\-_]+$","title":"Key","description":"A unique identifier by which Permit will identify the resource instance for permission checks. You will later pass this identifier to the `permit.check()` API. A key can be anything: for example the resource db id, a url slug, a UUID or anything else as long as it's unique on your end. The resource instance key must be url-friendly."},"tenant":{"type":"string","title":"Tenant","description":"the *key* of the tenant that this resource belongs to, used to enforce tenant boundaries in multi-tenant apps."},"resource":{"type":"string","title":"Resource","description":"the *key* of the resource (type) of this resource instance. For example: if this resource instance is the annual budget document, the key of the resource might be `document`."},"attributes":{"type":"object","title":"Attributes","description":"Arbitrary resource attributes that will be used to enforce attribute-based access control policies.","default":{}}},"additionalProperties":false,"type":"object","required":["key","tenant","resource"],"title":"ResourceInstanceCreate","example":{"key":"react","resource":"repository","tenant":"default","attributes":{"private":"false","owner":"facebook"}}},"ResourceInstanceCreateBulkOperation":{"properties":{"operations":{"items":{"$ref":"#/components/schemas/ResourceInstanceCreate"},"type":"array","title":"Operations"}},"additionalProperties":false,"type":"object","required":["operations"],"title":"ResourceInstanceCreateBulkOperation","example":{"operations":[{"key":"react","resource":"repository","tenant":"default","attributes":{"private":"false","owner":"facebook"}},{"key":"deployment","resource":"repository","tenant":"default","attributes":{"private":"true","owner":"facebook"}}]}},"ResourceInstanceCreateBulkOperationResult":{"properties":{},"additionalProperties":false,"type":"object","title":"ResourceInstanceCreateBulkOperationResult"},"ResourceInstanceDeleteBulkOperation":{"properties":{"idents":{"items":{"type":"string"},"type":"array","title":"Idents","description":"List of resource instance idents to delete. Either the unique id of the resource instance, or the URL-friendly key of the (i.e: file:my_file)"}},"additionalProperties":false,"type":"object","required":["idents"],"title":"ResourceInstanceDeleteBulkOperation","example":{"idents":["repository:react","repository:deployment"]}},"ResourceInstanceDeleteBulkOperationResult":{"properties":{},"additionalProperties":false,"type":"object","title":"ResourceInstanceDeleteBulkOperationResult"},"ResourceInstanceDetailedRead":{"properties":{"key":{"type":"string","title":"Key","description":"A unique identifier by which Permit will identify the resource instance for permission checks. You will later pass this identifier to the `permit.check()` API. A key can be anything: for example the resource db id, a url slug, a UUID or anything else as long as it's unique on your end. The resource instance key must be url-friendly."},"tenant":{"type":"string","title":"Tenant","description":"the *key* of the tenant that this resource belongs to, used to enforce tenant boundaries in multi-tenant apps."},"resource":{"type":"string","title":"Resource","description":"the *key* of the resource (type) of this resource instance. For example: if this resource instance is the annual budget document, the key of the resource might be `document`."},"id":{"type":"string","format":"uuid","title":"Id","description":"Unique id of the resource instance"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id","description":"Unique id of the organization that the resource instance belongs to."},"project_id":{"type":"string","format":"uuid","title":"Project Id","description":"Unique id of the project that the resource instance belongs to."},"environment_id":{"type":"string","format":"uuid","title":"Environment Id","description":"Unique id of the environment that the resource instance belongs to."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Date and time when the resource instance was created (ISO_8601 format)."},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"Date and time when the resource instance was created (ISO_8601 format)."},"resource_id":{"type":"string","format":"uuid","title":"Resource Id","description":"Unique id of the resource"},"tenant_id":{"type":"string","format":"uuid","title":"Tenant Id","description":"Unique id of the tenant"},"attributes":{"type":"object","title":"Attributes","description":"Arbitrary resource attributes that will be used to enforce attribute-based access control policies.","default":{}},"relationships":{"items":{"$ref":"#/components/schemas/RelationshipTupleBlockRead"},"type":"array","title":"Relationships","description":"The relationships of the resource instance."}},"additionalProperties":false,"type":"object","required":["key","tenant","resource","id","organization_id","project_id","environment_id","created_at","updated_at","resource_id","tenant_id","relationships","project_id"],"title":"ResourceInstanceDetailedRead","example":{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","organization_id":"7c60d51f-b44e-4682-87d6-449835ea4de6","project_id":"405d8375-3514-403b-8c43-83ae74cfe0e9","environment_id":"40ef0e48-a11f-4963-a229-e396c9f7e7c4","resource_id":"40ef0e48-a11f-4963-a229-e396c9f7e7c5","relationships":[],"tenant_id":"40ef0e48-a11f-4963-a229-e396c9f7e7c3","created_at":"2019-08-24T14:15:22Z","updated_at":"2019-08-24T14:15:22Z","key":"react","resource":"repository","tenant":"default","attributes":{"private":"false","owner":"facebook"}}},"ResourceInstanceRead":{"properties":{"key":{"type":"string","title":"Key","description":"A unique identifier by which Permit will identify the resource instance for permission checks. You will later pass this identifier to the `permit.check()` API. A key can be anything: for example the resource db id, a url slug, a UUID or anything else as long as it's unique on your end. The resource instance key must be url-friendly."},"tenant":{"type":"string","title":"Tenant","description":"the *key* of the tenant that this resource belongs to, used to enforce tenant boundaries in multi-tenant apps."},"resource":{"type":"string","title":"Resource","description":"the *key* of the resource (type) of this resource instance. For example: if this resource instance is the annual budget document, the key of the resource might be `document`."},"id":{"type":"string","format":"uuid","title":"Id","description":"Unique id of the resource instance"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id","description":"Unique id of the organization that the resource instance belongs to."},"project_id":{"type":"string","format":"uuid","title":"Project Id","description":"Unique id of the project that the resource instance belongs to."},"environment_id":{"type":"string","format":"uuid","title":"Environment Id","description":"Unique id of the environment that the resource instance belongs to."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Date and time when the resource instance was created (ISO_8601 format)."},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"Date and time when the resource instance was last updated/modified (ISO_8601 format)."},"resource_id":{"type":"string","format":"uuid","title":"Resource Id","description":"the id of the resource (type) of this resource instance."},"tenant_id":{"type":"string","format":"uuid","title":"Tenant Id","description":"the id of the tenant of this resource instance."},"attributes":{"type":"object","title":"Attributes","description":"Arbitrary resource attributes that will be used to enforce attribute-based access control policies.","default":{}},"relationships":{"items":{"$ref":"#/components/schemas/RelationshipTupleBlockRead"},"type":"array","title":"Relationships","description":"The relationships of the resource instance."}},"additionalProperties":false,"type":"object","required":["key","tenant","resource","id","organization_id","project_id","environment_id","created_at","updated_at","resource_id","tenant_id"],"title":"ResourceInstanceRead","example":{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","organization_id":"7c60d51f-b44e-4682-87d6-449835ea4de6","project_id":"405d8375-3514-403b-8c43-83ae74cfe0e9","environment_id":"40ef0e48-a11f-4963-a229-e396c9f7e7c4","resource_id":"40ef0e48-a11f-4963-a229-e396c9f7e7c5","tenant_id":"40ef0e48-a11f-4963-a229-e396c9f7e7c3","created_at":"2019-08-24T14:15:22Z","updated_at":"2019-08-24T14:15:22Z","key":"react","resource":"repository","tenant":"default","attributes":{"private":"false","owner":"facebook"}}},"ResourceInstanceUpdate":{"properties":{"attributes":{"type":"object","title":"Attributes","description":"Arbitrary resource attributes that will be used to enforce attribute-based access control policies.","default":{}}},"additionalProperties":false,"type":"object","title":"ResourceInstanceUpdate","example":{"attributes":{"private":"false","owner":"facebook"}}},"ResourceRead":{"properties":{"key":{"type":"string","title":"Key","description":"A URL-friendly name of the resource (i.e: slug). You will be able to query later using this key instead of the id (UUID) of the resource."},"id":{"type":"string","format":"uuid","title":"Id","description":"Unique id of the resource"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id","description":"Unique id of the organization that the resource belongs to."},"project_id":{"type":"string","format":"uuid","title":"Project Id","description":"Unique id of the project that the resource belongs to."},"environment_id":{"type":"string","format":"uuid","title":"Environment Id","description":"Unique id of the environment that the resource belongs to."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Date and time when the resource was created (ISO_8601 format)."},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"Date and time when the resource was last updated/modified (ISO_8601 format)."},"name":{"type":"string","title":"Name","description":"The name of the resource"},"urn":{"type":"string","title":"Urn","description":"The [URN](https://en.wikipedia.org/wiki/Uniform_Resource_Name) (Uniform Resource Name) of the resource"},"description":{"type":"string","title":"Description","description":"An optional longer description of what this resource respresents in your system"},"actions":{"additionalProperties":{"$ref":"#/components/schemas/ActionBlockRead"},"type":"object","title":"Actions","description":"\n A actions definition block, typically contained within a resource type definition block.\n The actions represents the ways you can interact with a protected resource.\n ","default":{}},"type_attributes":{"type":"object","title":"Type Attributes","description":"optional dictionary of key-value pairs that can be used to store arbitrary metadata about this resource. This metadata can be used to filter resource using query parameters with attr_ prefix"},"attributes":{"additionalProperties":{"$ref":"#/components/schemas/AttributeBlockRead"},"type":"object","title":"Attributes","description":"Attributes that each resource of this type defines, and can be used in your ABAC policies."},"roles":{"patternProperties":{"^[A-Za-z0-9\\-_]+$":{"$ref":"#/components/schemas/ResourceRoleRead"}},"additionalProperties":{"$ref":"#/components/schemas/ResourceRoleRead"},"type":"object","title":"Roles","description":"Roles defined on this resource. The key is the role name, and the value contains the role properties such as granted permissions, etc."},"relations":{"additionalProperties":{"$ref":"#/components/schemas/RelationBlockRead"},"type":"object","title":"Relations","description":"\n A relations definition block, typically contained within a resource type definition block.\n The relations represents the ways you can interact with a protected resource.\n ","default":{}},"v1compat_path":{"type":"string","title":"V1Compat Path","hidden_from_schema":true},"v1compat_type":{"type":"string","title":"V1Compat Type","hidden_from_schema":true},"v1compat_name":{"type":"string","title":"V1Compat Name","hidden_from_schema":true},"action_groups":{"additionalProperties":{"items":{"type":"string"},"type":"array"},"type":"object","title":"Action Groups","default":{}}},"additionalProperties":false,"type":"object","required":["key","id","organization_id","project_id","environment_id","created_at","updated_at","name"],"title":"ResourceRead","example":{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","organization_id":"7c60d51f-b44e-4682-87d6-449835ea4de6","project_id":"405d8375-3514-403b-8c43-83ae74cfe0e9","environment_id":"40ef0e48-a11f-4963-a229-e396c9f7e7c4","created_at":"2019-08-24T14:15:22Z","updated_at":"2019-08-24T14:15:22Z","key":"repository","name":"Repository","urn":"prn:github:scm:repository","description":"a git repository stored on github","actions":{"clone":{"id":"90e21d70-2b1b-42f0-b492-8fd69c1d79d1"},"read":{"id":"2bc27751-6115-43c0-b68c-928cb46e34bc"},"push":{"id":"e06da336-6e03-41d6-a495-40b0d7537b2a"}},"roles":{"maintainer":{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","key":"maintainer","name":"Maintainer","description":"the maintainer role can read from the repo and push changes","permissions":["push"],"extends":["contributor"],"resource":"repo","granted_to":{"id":"970eb6a2-af5a-4173-b291-dbbc00d8b5e3","users_with_role":[{"role":"Admin","on_resource":"organization","linked_by_relation":"owner","role_id":"7a972455-b010-4649-badb-08fe265490a0","resource_id":"12359938-c5ff-42ca-af2d-3024f92bd0be","relation_id":"fe1ea573-34ef-4969-a3c4-284ae998045f"}]},"organization_id":"7c60d51f-b44e-4682-87d6-449835ea4de6","project_id":"405d8375-3514-403b-8c43-83ae74cfe0e9","environment_id":"40ef0e48-a11f-4963-a229-e396c9f7e7c4","resource_id":"40ef0e48-a11f-4963-a229-e396c9f7e7dd","created_at":"2019-08-24T14:15:22Z","updated_at":"2019-08-24T14:15:22Z"}},"relations":{"parent":{"resource_id":"3cb94048-6459-49c0-a895-a8202de7390c","relation_name":"parent","resource":"parent-resource"}},"attributes":{"created":{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f11","type":"time","description":"the time (timestamp) the repository was created"},"private":{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f22","type":"bool","description":"whether the repo is private (if false, the repo is public)"}}}},"ResourceReplace":{"properties":{"name":{"type":"string","title":"Name","description":"The name of the resource"},"urn":{"type":"string","title":"Urn","description":"The [URN](https://en.wikipedia.org/wiki/Uniform_Resource_Name) (Uniform Resource Name) of the resource"},"description":{"type":"string","title":"Description","description":"An optional longer description of what this resource respresents in your system"},"actions":{"additionalProperties":{"$ref":"#/components/schemas/ActionBlockEditable"},"type":"object","title":"Actions","description":"\n A actions definition block, typically contained within a resource type definition block.\n The actions represents the ways you can interact with a protected resource.\n "},"type_attributes":{"type":"object","title":"Type Attributes","description":"optional dictionary of key-value pairs that can be used to store arbitrary metadata about this resource. This metadata can be used to filter resource using query parameters with attr_ prefix"},"attributes":{"additionalProperties":{"$ref":"#/components/schemas/AttributeBlockEditable"},"type":"object","title":"Attributes","description":"Attributes that each resource of this type defines, and can be used in your ABAC policies."},"roles":{"patternProperties":{"^[A-Za-z0-9\\-_]+$":{"$ref":"#/components/schemas/RoleBlockEditable"}},"additionalProperties":{"$ref":"#/components/schemas/RoleBlockEditable"},"type":"object","title":"Roles","description":"Roles defined on this resource. The key is the role name, and the value contains the role properties such as granted permissions, base roles, etc."},"relations":{"patternProperties":{"^[A-Za-z0-9\\-_]+$":{"type":"string","pattern":"^[A-Za-z0-9\\-_]+$"}},"additionalProperties":{"type":"string","pattern":"^[A-Za-z0-9\\-_]+$"},"type":"object","title":"Relations","description":"Relations to other resources. The key is the relation key, and the value is the related resource."},"v1compat_path":{"type":"string","title":"V1Compat Path","hidden_from_schema":true},"v1compat_type":{"type":"string","title":"V1Compat Type","hidden_from_schema":true},"v1compat_name":{"type":"string","title":"V1Compat Name","hidden_from_schema":true}},"additionalProperties":false,"type":"object","required":["name","actions"],"title":"ResourceReplace"},"ResourceRoleCreate":{"properties":{"key":{"type":"string","pattern":"^[A-Za-z0-9\\-_]+$","title":"Key","description":"A URL-friendly name of the role (i.e: slug). You will be able to query later using this key instead of the id (UUID) of the role."},"name":{"type":"string","title":"Name","description":"The name of the role"},"description":{"type":"string","title":"Description","description":"optional description string explaining what this role represents, or what permissions are granted to it."},"permissions":{"items":{"type":"string"},"type":"array","title":"Permissions","description":"list of action keys that define what actions this resource role is permitted to do"},"attributes":{"type":"object","title":"Attributes","description":"optional dictionary of key-value pairs that can be used to store arbitrary metadata about this role. This metadata can be used to filter role using query parameters with attr_ prefix, currently supports only 'equals' operator"},"extends":{"items":{"type":"string"},"type":"array","title":"Extends","description":"list of role keys that define what roles this role extends. In other words: this role will automatically inherit all the permissions of the given roles in this list."},"granted_to":{"allOf":[{"$ref":"#/components/schemas/DerivedRoleBlockEdit"}],"title":"Granted To","description":"Derived role that inherit will be applied on this role"},"v1compat_settings":{"type":"object","title":"V1Compat Settings","hidden_from_schema":true},"v1compat_attributes":{"type":"object","title":"V1Compat Attributes","hidden_from_schema":true}},"additionalProperties":false,"type":"object","required":["key","name"],"title":"ResourceRoleCreate","example":{"key":"maintainer","name":"Maintainer","description":"the maintainer role can read from the repo and push changes","permissions":["push"],"extends":["contributor"],"granted_to":{"users_with_role":[{"role":"Admin","on_resource":"organization","linked_by_relation":"owner"}]}}},"ResourceRoleList":{"properties":{"roles":{"anyOf":[{"items":{"$ref":"#/components/schemas/ResourceRoleRead"},"type":"array"},{"$ref":"#/components/schemas/PaginatedResult_ResourceRoleRead_"}],"title":"Roles"}},"additionalProperties":false,"type":"object","required":["roles"],"title":"ResourceRoleList"},"ResourceRoleRead":{"properties":{"name":{"type":"string","title":"Name","description":"The name of the role"},"description":{"type":"string","title":"Description","description":"optional description string explaining what this role represents, or what permissions are granted to it."},"permissions":{"items":{"type":"string"},"type":"array","title":"Permissions","description":"list of action keys that define what actions this resource role is permitted to do"},"attributes":{"type":"object","title":"Attributes","description":"optional dictionary of key-value pairs that can be used to store arbitrary metadata about this role. This metadata can be used to filter role using query parameters with attr_ prefix, currently supports only 'equals' operator"},"extends":{"items":{"type":"string"},"type":"array","title":"Extends","description":"list of role keys that define what roles this role extends. In other words: this role will automatically inherit all the permissions of the given roles in this list.","default":[]},"granted_to":{"allOf":[{"$ref":"#/components/schemas/DerivedRoleBlockRead"}],"title":"Granted To","description":"Derived role that inherit will be applied on this role"},"key":{"type":"string","title":"Key","description":"A URL-friendly name of the role (i.e: slug). You will be able to query later using this key instead of the id (UUID) of the role."},"id":{"type":"string","format":"uuid","title":"Id","description":"Unique id of the role"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id","description":"Unique id of the organization that the role belongs to."},"project_id":{"type":"string","format":"uuid","title":"Project Id","description":"Unique id of the project that the role belongs to."},"environment_id":{"type":"string","format":"uuid","title":"Environment Id","description":"Unique id of the environment that the role belongs to."},"resource_id":{"type":"string","format":"uuid","title":"Resource Id","description":"Unique id of the resource that the role belongs to."},"resource":{"type":"string","title":"Resource","description":"The unique resource key that the role belongs to."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Date and time when the role was created (ISO_8601 format)."},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"Date and time when the role was last updated/modified (ISO_8601 format)."}},"additionalProperties":false,"type":"object","required":["name","key","id","organization_id","project_id","environment_id","resource_id","resource","created_at","updated_at"],"title":"ResourceRoleRead","example":{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","key":"maintainer","name":"Maintainer","description":"the maintainer role can read from the repo and push changes","permissions":["push"],"extends":["contributor"],"resource":"repo","granted_to":{"id":"970eb6a2-af5a-4173-b291-dbbc00d8b5e3","users_with_role":[{"role":"Admin","on_resource":"organization","linked_by_relation":"owner","role_id":"7a972455-b010-4649-badb-08fe265490a0","resource_id":"12359938-c5ff-42ca-af2d-3024f92bd0be","relation_id":"fe1ea573-34ef-4969-a3c4-284ae998045f"}]},"organization_id":"7c60d51f-b44e-4682-87d6-449835ea4de6","project_id":"405d8375-3514-403b-8c43-83ae74cfe0e9","environment_id":"40ef0e48-a11f-4963-a229-e396c9f7e7c4","resource_id":"40ef0e48-a11f-4963-a229-e396c9f7e7dd","created_at":"2019-08-24T14:15:22Z","updated_at":"2019-08-24T14:15:22Z"}},"ResourceRoleUpdate":{"properties":{"name":{"type":"string","title":"Name","description":"The name of the role"},"description":{"type":"string","title":"Description","description":"optional description string explaining what this role represents, or what permissions are granted to it."},"permissions":{"items":{"type":"string"},"type":"array","title":"Permissions","description":"list of action keys that define what actions this resource role is permitted to do"},"attributes":{"type":"object","title":"Attributes","description":"optional dictionary of key-value pairs that can be used to store arbitrary metadata about this role. This metadata can be used to filter role using query parameters with attr_ prefix, currently supports only 'equals' operator"},"extends":{"items":{"type":"string"},"type":"array","title":"Extends","description":"list of role keys that define what roles this role extends. In other words: this role will automatically inherit all the permissions of the given roles in this list.","default":[]},"granted_to":{"allOf":[{"$ref":"#/components/schemas/DerivedRoleBlockEdit"}],"title":"Granted To","description":"Derived role that inherit will be applied on this role"}},"additionalProperties":false,"type":"object","title":"ResourceRoleUpdate","example":{"description":"the maintainer role can read from the repo and push changes","permissions":["push"]}},"ResourceTypeObj":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"key":{"type":"string","title":"Key"},"name":{"type":"string","title":"Name"},"attributes":{"items":{"$ref":"#/components/schemas/ResourceAttributes"},"type":"array","title":"Attributes"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","key","created_at","updated_at"],"title":"ResourceTypeObj"},"ResourceUpdate":{"properties":{"name":{"type":"string","title":"Name","description":"The name of the resource"},"urn":{"type":"string","title":"Urn","description":"The [URN](https://en.wikipedia.org/wiki/Uniform_Resource_Name) (Uniform Resource Name) of the resource"},"description":{"type":"string","title":"Description","description":"An optional longer description of what this resource respresents in your system"},"actions":{"additionalProperties":{"$ref":"#/components/schemas/ActionBlockEditable"},"type":"object","title":"Actions","description":"\n A actions definition block, typically contained within a resource type definition block.\n The actions represents the ways you can interact with a protected resource.\n "},"type_attributes":{"type":"object","title":"Type Attributes","description":"optional dictionary of key-value pairs that can be used to store arbitrary metadata about this resource. This metadata can be used to filter resource using query parameters with attr_ prefix"},"attributes":{"additionalProperties":{"$ref":"#/components/schemas/AttributeBlockEditable"},"type":"object","title":"Attributes","description":"Attributes that each resource of this type defines, and can be used in your ABAC policies."},"roles":{"patternProperties":{"^[A-Za-z0-9\\-_]+$":{"$ref":"#/components/schemas/RoleBlockEditable"}},"additionalProperties":{"$ref":"#/components/schemas/RoleBlockEditable"},"type":"object","title":"Roles","description":"Roles defined on this resource. The key is the role name, and the value contains the role properties such as granted permissions, base roles, etc."},"relations":{"patternProperties":{"^[A-Za-z0-9\\-_]+$":{"type":"string","pattern":"^[A-Za-z0-9\\-_]+$"}},"additionalProperties":{"type":"string","pattern":"^[A-Za-z0-9\\-_]+$"},"type":"object","title":"Relations","description":"Relations to other resources. The key is the relation key, and the value is the related resource."},"v1compat_path":{"type":"string","title":"V1Compat Path","hidden_from_schema":true},"v1compat_type":{"type":"string","title":"V1Compat Type","hidden_from_schema":true},"v1compat_name":{"type":"string","title":"V1Compat Name","hidden_from_schema":true}},"additionalProperties":false,"type":"object","title":"ResourceUpdate"},"RoleAssignmentCreate":{"properties":{"role":{"type":"string","title":"Role","description":"the role that will be assigned (accepts either the role id or the role key)"},"tenant":{"type":"string","title":"Tenant","description":"the tenant the role is associated with (accepts either the tenant id or the tenant key)"},"resource_instance":{"type":"string","title":"Resource Instance","description":"the resource instance the role is associated with (accepts either the resource instance id or key using this format resource_type:resource_instance)The resource instance will be implicitly created if the tenant parameter is specified and the resource instance does not exist."},"user":{"type":"string","title":"User","description":"the user the role will be assigned to (accepts either the user id or the user key)"}},"additionalProperties":false,"type":"object","required":["role","user"],"title":"RoleAssignmentCreate","example":{"user":"jane@coolcompany.com","role":"admin","tenant":"stripe-inc"}},"RoleAssignmentDetailedRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id","description":"Unique id of the role assignment"},"role":{"allOf":[{"$ref":"#/components/schemas/RoleAssignmentRole"}],"title":"Role","description":"the role that is assigned"},"user":{"allOf":[{"$ref":"#/components/schemas/RoleAssignmentUser"}],"title":"User","description":"the user the role is assigned to"},"tenant":{"allOf":[{"$ref":"#/components/schemas/RoleAssignmentTenant"}],"title":"Tenant","description":"the tenant the role is associated with"},"resource_instance":{"$ref":"#/components/schemas/RoleAssignmentResourceInstance"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id","description":"Unique id of the organization that the role assignment belongs to."},"project_id":{"type":"string","format":"uuid","title":"Project Id","description":"Unique id of the project that the role assignment belongs to."},"environment_id":{"type":"string","format":"uuid","title":"Environment Id","description":"Unique id of the environment that the role assignment belongs to."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Date and time when the role assignment was created (ISO_8601 format)."}},"additionalProperties":false,"type":"object","required":["id","role","user","tenant","organization_id","project_id","environment_id","created_at"],"title":"RoleAssignmentDetailedRead"},"RoleAssignmentRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id","description":"Unique id of the role assignment"},"user":{"type":"string","title":"User","description":"the user the role is assigned to"},"role":{"type":"string","title":"Role","description":"the role that is assigned"},"tenant":{"type":"string","title":"Tenant","description":"the tenant the role is associated with"},"resource_instance":{"type":"string","title":"Resource Instance","description":"the resource instance the role is associated with"},"resource_instance_id":{"type":"string","format":"uuid","title":"Resource Instance Id","description":"Unique id of the resource instance"},"user_id":{"type":"string","format":"uuid","title":"User Id","description":"Unique id of the user"},"role_id":{"type":"string","format":"uuid","title":"Role Id","description":"Unique id of the role"},"tenant_id":{"type":"string","format":"uuid","title":"Tenant Id","description":"Unique id of the tenant"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id","description":"Unique id of the organization that the role assignment belongs to."},"project_id":{"type":"string","format":"uuid","title":"Project Id","description":"Unique id of the project that the role assignment belongs to."},"environment_id":{"type":"string","format":"uuid","title":"Environment Id","description":"Unique id of the environment that the role assignment belongs to."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Date and time when the role assignment was created (ISO_8601 format)."}},"additionalProperties":false,"type":"object","required":["id","user","role","user_id","role_id","tenant_id","organization_id","project_id","environment_id","created_at"],"title":"RoleAssignmentRead","example":{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","user":"jane@coolcompany.com","role":"admin","tenant":"stripe-inc","user_id":"7c60d51f-b44e-4682-87d6-449835ea4d11","role_id":"405d8375-3514-403b-8c43-83ae74cfe022","tenant_id":"40ef0e48-a11f-4963-a229-e396c9f7e733","organization_id":"7c60d51f-b44e-4682-87d6-449835ea4de6","project_id":"405d8375-3514-403b-8c43-83ae74cfe0e9","environment_id":"40ef0e48-a11f-4963-a229-e396c9f7e7c4","created_at":"2019-08-24T14:15:22Z"}},"RoleAssignmentRemove":{"properties":{"role":{"type":"string","title":"Role","description":"the role that will be unassigned (accepts either the role id or the role key)"},"tenant":{"type":"string","title":"Tenant","description":"the tenant the role is associated with (accepts either the tenant id or the tenant key)"},"resource_instance":{"type":"string","title":"Resource Instance","description":"the resource instance the role is associated with (accepts either the resource instance id or key using this format resource_type:resource_instance)"},"user":{"type":"string","title":"User","description":"the user the role will be unassigned from (accepts either the user id or the user key)"}},"additionalProperties":false,"type":"object","required":["role","tenant","user"],"title":"RoleAssignmentRemove","example":{"user":"jane@coolcompany.com","role":"editor","tenant":"google-inc"}},"RoleAssignmentResourceInstance":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"key":{"type":"string","title":"Key"},"resource":{"type":"string","title":"Resource"},"attributes":{"type":"object","title":"Attributes","default":{}}},"additionalProperties":false,"type":"object","required":["id","key","resource"],"title":"RoleAssignmentResourceInstance"},"RoleAssignmentRole":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"key":{"type":"string","title":"Key"},"name":{"type":"string","title":"Name"},"permissions":{"items":{"type":"string"},"type":"array","title":"Permissions"}},"additionalProperties":false,"type":"object","required":["id","key","name"],"title":"RoleAssignmentRole"},"RoleAssignmentTenant":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"key":{"type":"string","title":"Key"},"name":{"type":"string","title":"Name"},"attributes":{"type":"object","title":"Attributes","default":{}}},"additionalProperties":false,"type":"object","required":["id","key","name"],"title":"RoleAssignmentTenant"},"RoleAssignmentUser":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"key":{"type":"string","title":"Key"},"email":{"type":"string","title":"Email"},"first_name":{"type":"string","title":"First Name"},"last_name":{"type":"string","title":"Last Name"},"attributes":{"type":"object","title":"Attributes","default":{}}},"additionalProperties":false,"type":"object","required":["id","key"],"title":"RoleAssignmentUser"},"RoleBlockEditable":{"properties":{"name":{"type":"string","title":"Name","description":"The name of the role"},"description":{"type":"string","title":"Description","description":"optional description string explaining what this role represents, or what permissions are granted to it."},"permissions":{"items":{"type":"string"},"type":"array","title":"Permissions","description":"list of action keys that define what actions this resource role is permitted to do"},"attributes":{"type":"object","title":"Attributes","description":"optional dictionary of key-value pairs that can be used to store arbitrary metadata about this role. This metadata can be used to filter role using query parameters with attr_ prefix, currently supports only 'equals' operator"},"extends":{"items":{"type":"string"},"type":"array","title":"Extends","description":"list of role keys that define what roles this role extends. In other words: this role will automatically inherit all the permissions of the given roles in this list."},"granted_to":{"allOf":[{"$ref":"#/components/schemas/DerivedRoleBlockEdit"}],"title":"Granted To","description":"Derived role that inherit will be applied on this role"},"v1compat_settings":{"type":"object","title":"V1Compat Settings","hidden_from_schema":true},"v1compat_attributes":{"type":"object","title":"V1Compat Attributes","hidden_from_schema":true}},"additionalProperties":false,"type":"object","required":["name"],"title":"RoleBlockEditable"},"RoleCreate":{"properties":{"key":{"type":"string","pattern":"^[A-Za-z0-9\\-_]+$","title":"Key","description":"A URL-friendly name of the role (i.e: slug). You will be able to query later using this key instead of the id (UUID) of the role."},"name":{"type":"string","title":"Name","description":"The name of the role"},"description":{"type":"string","title":"Description","description":"optional description string explaining what this role represents, or what permissions are granted to it."},"permissions":{"items":{"type":"string"},"type":"array","title":"Permissions","description":"list of action keys that define what actions this resource role is permitted to do"},"attributes":{"type":"object","title":"Attributes","description":"optional dictionary of key-value pairs that can be used to store arbitrary metadata about this role. This metadata can be used to filter role using query parameters with attr_ prefix, currently supports only 'equals' operator"},"extends":{"items":{"type":"string"},"type":"array","title":"Extends","description":"list of role keys that define what roles this role extends. In other words: this role will automatically inherit all the permissions of the given roles in this list."},"granted_to":{"allOf":[{"$ref":"#/components/schemas/DerivedRoleBlockEdit"}],"title":"Granted To","description":"Derived role that inherit will be applied on this role"},"v1compat_settings":{"type":"object","title":"V1Compat Settings","hidden_from_schema":true},"v1compat_attributes":{"type":"object","title":"V1Compat Attributes","hidden_from_schema":true},"v1compat_is_built_in":{"type":"boolean","title":"V1Compat Is Built In","hidden_from_schema":true}},"additionalProperties":false,"type":"object","required":["key","name"],"title":"RoleCreate","example":{"key":"editor","name":"Editor","description":"the editor role can read and write to documents","permissions":["document:write"],"extends":["viewer"]}},"RoleCreateBulk":{"properties":{"name":{"type":"string","title":"Name","description":"The name of the role"},"description":{"type":"string","title":"Description","description":"optional description string explaining what this role represents, or what permissions are granted to it."},"permissions":{"items":{"type":"string"},"type":"array","title":"Permissions","description":"list of action keys that define what actions this resource role is permitted to do"},"attributes":{"type":"object","title":"Attributes","description":"optional dictionary of key-value pairs that can be used to store arbitrary metadata about this role. This metadata can be used to filter role using query parameters with attr_ prefix, currently supports only 'equals' operator"},"extends":{"items":{"type":"string"},"type":"array","title":"Extends","description":"list of role keys that define what roles this role extends. In other words: this role will automatically inherit all the permissions of the given roles in this list."},"granted_to":{"allOf":[{"$ref":"#/components/schemas/DerivedRoleBlockEdit"}],"title":"Granted To","description":"Derived role that inherit will be applied on this role"},"v1compat_settings":{"type":"object","title":"V1Compat Settings","hidden_from_schema":true},"v1compat_attributes":{"type":"object","title":"V1Compat Attributes","hidden_from_schema":true},"key":{"type":"string","pattern":"^[A-Za-z0-9\\-_]+$","title":"Key","description":"A URL-friendly name of the Role (i.e: slug). You will be able to query later using this key instead of the id (UUID) of the Role."},"resource":{"type":"string","title":"Resource","description":"The resource key for the role. Optional; for tenant roles, leave empty."}},"additionalProperties":false,"type":"object","required":["name","key"],"title":"RoleCreateBulk"},"RoleCreateBulkOperation":{"properties":{"operations":{"items":{"$ref":"#/components/schemas/RoleCreateBulk"},"type":"array","title":"Operations"}},"additionalProperties":false,"type":"object","required":["operations"],"title":"RoleCreateBulkOperation"},"RoleCreateBulkOperationResult":{"properties":{"created":{"items":{"type":"string"},"type":"array","title":"Created"},"updated":{"items":{"type":"string"},"type":"array","title":"Updated"}},"additionalProperties":false,"type":"object","required":["created","updated"],"title":"RoleCreateBulkOperationResult"},"RoleList":{"properties":{"roles":{"anyOf":[{"items":{"$ref":"#/components/schemas/RoleRead"},"type":"array"},{"$ref":"#/components/schemas/PaginatedResult_RoleRead_"}],"title":"Roles"}},"additionalProperties":false,"type":"object","required":["roles"],"title":"RoleList"},"RoleRead":{"properties":{"name":{"type":"string","title":"Name","description":"The name of the role"},"description":{"type":"string","title":"Description","description":"optional description string explaining what this role represents, or what permissions are granted to it."},"permissions":{"items":{"type":"string"},"type":"array","title":"Permissions","description":"list of action keys that define what actions this resource role is permitted to do"},"attributes":{"type":"object","title":"Attributes","description":"optional dictionary of key-value pairs that can be used to store arbitrary metadata about this role. This metadata can be used to filter role using query parameters with attr_ prefix, currently supports only 'equals' operator"},"extends":{"items":{"type":"string"},"type":"array","title":"Extends","description":"list of role keys that define what roles this role extends. In other words: this role will automatically inherit all the permissions of the given roles in this list."},"granted_to":{"allOf":[{"$ref":"#/components/schemas/DerivedRoleBlockRead"}],"title":"Granted To","description":"\n A derived role defintion block, typically contained whithin a role definition.\n The derived role is a role that is derived from the role definition.\n ","default":{}},"v1compat_settings":{"type":"object","title":"V1Compat Settings","hidden_from_schema":true},"v1compat_attributes":{"type":"object","title":"V1Compat Attributes","hidden_from_schema":true},"key":{"type":"string","title":"Key","description":"A URL-friendly name of the role (i.e: slug). You will be able to query later using this key instead of the id (UUID) of the role."},"id":{"type":"string","format":"uuid","title":"Id","description":"Unique id of the role"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id","description":"Unique id of the organization that the role belongs to."},"project_id":{"type":"string","format":"uuid","title":"Project Id","description":"Unique id of the project that the role belongs to."},"environment_id":{"type":"string","format":"uuid","title":"Environment Id","description":"Unique id of the environment that the role belongs to."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Date and time when the role was created (ISO_8601 format)."},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"Date and time when the role was last updated/modified (ISO_8601 format)."}},"additionalProperties":false,"type":"object","required":["name","key","id","organization_id","project_id","environment_id","created_at","updated_at"],"title":"RoleRead","example":{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","key":"editor","name":"Editor","description":"the editor role can read and write to documents","permissions":["document:write"],"extends":["viewer"],"organization_id":"7c60d51f-b44e-4682-87d6-449835ea4de6","project_id":"405d8375-3514-403b-8c43-83ae74cfe0e9","environment_id":"40ef0e48-a11f-4963-a229-e396c9f7e7c4","created_at":"2019-08-24T14:15:22Z","updated_at":"2019-08-24T14:15:22Z"}},"RoleUpdate":{"properties":{"name":{"type":"string","title":"Name","description":"The name of the role"},"description":{"type":"string","title":"Description","description":"optional description string explaining what this role represents, or what permissions are granted to it."},"permissions":{"items":{"type":"string"},"type":"array","title":"Permissions","description":"list of action keys that define what actions this resource role is permitted to do"},"attributes":{"type":"object","title":"Attributes","description":"optional dictionary of key-value pairs that can be used to store arbitrary metadata about this role. This metadata can be used to filter role using query parameters with attr_ prefix, currently supports only 'equals' operator"},"extends":{"items":{"type":"string"},"type":"array","title":"Extends","description":"list of role keys that define what roles this role extends. In other words: this role will automatically inherit all the permissions of the given roles in this list."},"granted_to":{"allOf":[{"$ref":"#/components/schemas/DerivedRoleBlockEdit"}],"title":"Granted To","description":"Derived role that inherit will be applied on this role"},"v1compat_settings":{"type":"object","title":"V1Compat Settings","hidden_from_schema":true},"v1compat_attributes":{"type":"object","title":"V1Compat Attributes","hidden_from_schema":true}},"additionalProperties":false,"type":"object","title":"RoleUpdate","example":{"description":"the editor role can read and write to documents","permissions":["document:write"]}},"SMTPEmailConfigurationCreate":{"properties":{"host":{"type":"string","title":"Host","description":"The host of the SMTP provider"},"from_address":{"type":"string","format":"email","title":"From Address","description":"The from address the mails will be sent from"},"port":{"type":"integer","title":"Port","description":"The port of the SMTP provider"},"username":{"type":"string","title":"Username","description":"The username of the SMTP provider"},"password":{"type":"string","title":"Password","description":"The password of the SMTP provider"},"email_provider_type":{"type":"string","enum":["smtp"],"title":"Email Provider Type","description":"The type of the email provider","default":"smtp"}},"additionalProperties":false,"type":"object","required":["host","from_address","port","username","password"],"title":"SMTPEmailConfigurationCreate"},"SMTPEmailConfigurationRead":{"properties":{"host":{"type":"string","title":"Host","description":"The host of the SMTP provider"},"from_address":{"type":"string","format":"email","title":"From Address","description":"The from address the mails will be sent from"},"port":{"type":"integer","title":"Port","description":"The port of the SMTP provider"},"username":{"type":"string","title":"Username","description":"The username of the SMTP provider"},"password":{"type":"string","title":"Password","description":"The password of the SMTP provider"},"email_provider_type":{"type":"string","enum":["smtp"],"title":"Email Provider Type","description":"The type of the email provider","default":"smtp"},"id":{"type":"string","format":"uuid","title":"Id","description":"Unique id of the email_configuration"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id","description":"Unique id of the organization that the email_configuration belongs to."},"project_id":{"type":"string","format":"uuid","title":"Project Id","description":"Unique id of the project that the email_configuration belongs to."},"environment_id":{"type":"string","format":"uuid","title":"Environment Id","description":"Unique id of the environment that the email_configuration belongs to."}},"additionalProperties":false,"type":"object","required":["host","from_address","port","username","password","id","organization_id","project_id","environment_id"],"title":"SMTPEmailConfigurationRead"},"SSHAuthData":{"properties":{"auth_type":{"type":"string","enum":["ssh"],"title":"Auth Type","default":"ssh"},"username":{"type":"string","title":"Username","description":"SSH username"},"public_key":{"type":"string","title":"Public Key","description":"SSH public key"},"private_key":{"type":"string","title":"Private Key","description":"SSH private key"}},"type":"object","required":["username","private_key"],"title":"SSHAuthData"},"SSHAuthDataRead":{"properties":{"auth_type":{"type":"string","enum":["ssh"],"title":"Auth Type","default":"ssh"},"username":{"type":"string","title":"Username","description":"SSH username"},"public_key":{"type":"string","title":"Public Key","description":"SSH public key"},"private_key":{"type":"string","title":"Private Key","description":"SSH private key"}},"type":"object","required":["username","private_key"],"title":"SSHAuthDataRead"},"ScopeConfigRead":{"properties":{"data":{"$ref":"#/components/schemas/DataSourceConfig"},"id":{"type":"string","format":"uuid","title":"Id","description":"Unique id of the ScopeConfig"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id","description":"Unique id of the organization that the ScopeConfig belongs to."},"project_id":{"type":"string","format":"uuid","title":"Project Id","description":"Unique id of the project that the ScopeConfig belongs to."},"environment_id":{"type":"string","format":"uuid","title":"Environment Id","description":"Unique id of the environment that the ScopeConfig belongs to."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Date and time when the ScopeConfig was created (ISO_8601 format)."},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"Date and time when the ScopeConfig was last updated/modified (ISO_8601 format)."}},"additionalProperties":false,"type":"object","required":["id","organization_id","project_id","environment_id","created_at","updated_at"],"title":"ScopeConfigRead"},"ScopeConfigSet":{"properties":{"data":{"$ref":"#/components/schemas/DataSourceConfig"}},"additionalProperties":false,"type":"object","title":"ScopeConfigSet"},"SearchOperator":{"type":"string","enum":["startswith","endswith","contains"],"title":"SearchOperator","description":"An enumeration."},"StrippedRelationBlockRead":{"properties":{"key":{"type":"string","title":"Key","description":"A URL-friendly name of the relation (i.e: slug). You will be able to query later using this key instead of the id (UUID) of the relation."},"name":{"type":"string","title":"Name","description":"The name of the relation"},"description":{"type":"string","title":"Description","description":"An optional longer description of what this relation represents in your system"}},"additionalProperties":false,"type":"object","required":["key","name"],"title":"StrippedRelationBlockRead","example":{"description":"parent relation","key":"parent","name":"parent"}},"TaskResult_EnvironmentRead_":{"properties":{"task_id":{"type":"string","title":"Task Id","description":"The unique id of the task."},"status":{"allOf":[{"$ref":"#/components/schemas/TaskStatus"}],"description":"The status of the task."},"result":{"allOf":[{"$ref":"#/components/schemas/EnvironmentRead"}],"title":"Result","description":"The result of the task when the task finished."},"error":{"allOf":[{"$ref":"#/components/schemas/ErrorDetails"}],"title":"Error","description":"The error details when the task failed."}},"additionalProperties":false,"type":"object","required":["task_id","status"],"title":"TaskResult[EnvironmentRead]"},"TaskResult_PolicyGuardScopeRead_":{"properties":{"task_id":{"type":"string","title":"Task Id","description":"The unique id of the task."},"status":{"allOf":[{"$ref":"#/components/schemas/TaskStatus"}],"description":"The status of the task."},"result":{"allOf":[{"$ref":"#/components/schemas/PolicyGuardScopeRead"}],"title":"Result","description":"The result of the task when the task finished."},"error":{"allOf":[{"$ref":"#/components/schemas/ErrorDetails"}],"title":"Error","description":"The error details when the task failed."}},"additionalProperties":false,"type":"object","required":["task_id","status"],"title":"TaskResult[PolicyGuardScopeRead]"},"TaskStatus":{"type":"string","enum":["processing","success","failure","cancelled"],"title":"TaskStatus","description":"An enumeration."},"TenantBlockRead":{"properties":{"key":{"type":"string","title":"Key","description":"A unique id by which Permit will identify the tenant. The tenant key must be url-friendly (slugified)."},"name":{"type":"string","title":"Name","description":"A descriptive name for the tenant"},"description":{"type":"string","title":"Description","description":"an optional longer description of the tenant"},"attributes":{"type":"object","title":"Attributes","description":"Arbitraty tenant attributes that will be used to enforce attribute-based access control policies.","default":{}}},"additionalProperties":false,"type":"object","required":["key","name"],"title":"TenantBlockRead","example":{"name":"Stripe Inc","description":"A payment processing company","attributes":{"allowed_locations":["US","CA"]},"key":"stripeinc"}},"TenantCreate":{"properties":{"key":{"type":"string","pattern":"^[A-Za-z0-9\\-_]+$","title":"Key","description":"A unique id by which Permit will identify the tenant. The tenant key must be url-friendly (slugified)."},"name":{"type":"string","title":"Name","description":"A descriptive name for the tenant"},"description":{"type":"string","title":"Description","description":"an optional longer description of the tenant"},"attributes":{"type":"object","title":"Attributes","description":"Arbitraty tenant attributes that will be used to enforce attribute-based access control policies.","default":{}}},"additionalProperties":false,"type":"object","required":["key","name"],"title":"TenantCreate","example":{"key":"stripeinc","name":"Stripe Inc","attributes":{"allowed_locations":["US","CA"]}}},"TenantCreateBulkOperation":{"properties":{"operations":{"items":{"$ref":"#/components/schemas/TenantCreate"},"type":"array","title":"Operations"}},"additionalProperties":false,"type":"object","required":["operations"],"title":"TenantCreateBulkOperation"},"TenantCreateBulkOperationResult":{"properties":{},"additionalProperties":false,"type":"object","title":"TenantCreateBulkOperationResult"},"TenantDeleteBulkOperation":{"properties":{"idents":{"items":{"type":"string"},"type":"array","title":"Idents","description":"List of tenant idents to delete. Either the unique id or the key of the tenants."}},"additionalProperties":false,"type":"object","required":["idents"],"title":"TenantDeleteBulkOperation","example":{"idents":["default","dev"]}},"TenantDeleteBulkOperationResult":{"properties":{},"additionalProperties":false,"type":"object","title":"TenantDeleteBulkOperationResult"},"TenantObj":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"key":{"type":"string","title":"Key"},"name":{"type":"string","title":"Name"},"attributes":{"type":"object","title":"Attributes"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","key","created_at","updated_at"],"title":"TenantObj"},"TenantRead":{"properties":{"key":{"type":"string","title":"Key","description":"A unique id by which Permit will identify the tenant. The tenant key must be url-friendly (slugified)."},"id":{"type":"string","format":"uuid","title":"Id","description":"Unique id of the tenant"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id","description":"Unique id of the organization that the tenant belongs to."},"project_id":{"type":"string","format":"uuid","title":"Project Id","description":"Unique id of the project that the tenant belongs to."},"environment_id":{"type":"string","format":"uuid","title":"Environment Id","description":"Unique id of the environment that the tenant belongs to."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Date and time when the tenant was created (ISO_8601 format)."},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"Date and time when the tenant was last updated/modified (ISO_8601 format)."},"last_action_at":{"type":"string","format":"date-time","title":"Last Action At","description":"Date and time when the tenant was last active (ISO_8601 format). In other words, this is the last time a permission check was done on a resource belonging to this tenant."},"name":{"type":"string","title":"Name","description":"A descriptive name for the tenant"},"description":{"type":"string","title":"Description","description":"an optional longer description of the tenant"},"attributes":{"type":"object","title":"Attributes","description":"Arbitraty tenant attributes that will be used to enforce attribute-based access control policies.","default":{}}},"additionalProperties":false,"type":"object","required":["key","id","organization_id","project_id","environment_id","created_at","updated_at","last_action_at","name"],"title":"TenantRead","example":{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","organization_id":"7c60d51f-b44e-4682-87d6-449835ea4de6","project_id":"405d8375-3514-403b-8c43-83ae74cfe0e9","environment_id":"40ef0e48-a11f-4963-a229-e396c9f7e7c4","created_at":"2019-08-24T14:15:22Z","updated_at":"2019-08-24T14:15:22Z","last_action_at":"2019-08-24T14:15:22Z","key":"stripeinc","name":"Stripe Inc","attributes":{"allowed_locations":["US","CA"]}}},"TenantUpdate":{"properties":{"name":{"type":"string","title":"Name","description":"A descriptive name for the tenant"},"description":{"type":"string","title":"Description","description":"an optional longer description of the tenant"},"attributes":{"type":"object","title":"Attributes","description":"Arbitraty tenant attributes that will be used to enforce attribute-based access control policies.","default":{}}},"additionalProperties":false,"type":"object","title":"TenantUpdate","example":{"name":"Stripe Inc","description":"A payment processing company","attributes":{"allowed_locations":["US","CA"]}}},"UsageLimits":{"properties":{"mau":{"type":"integer","title":"Mau","description":"Monthly active users limit. Default for trial is 5000.","default":5000},"tenants":{"type":"integer","title":"Tenants","description":"Number of tenants limit. Default for trial is 50.","default":50},"billing_tier":{"allOf":[{"$ref":"#/components/schemas/BillingTierType"}],"description":"Billing tier. Default is trial.","default":"trial"}},"additionalProperties":false,"type":"object","title":"UsageLimits"},"UserCreate":{"properties":{"key":{"type":"string","pattern":"^[A-Za-z0-9|@+\\-\\._]+$","title":"Key","description":"A unique id by which Permit will identify the user for permission checks."},"email":{"type":"string","format":"email","title":"Email","description":"The email of the user. If synced, will be unique inside the environment."},"first_name":{"type":"string","title":"First Name","description":"First name of the user."},"last_name":{"type":"string","title":"Last Name","description":"Last name of the user."},"attributes":{"type":"object","title":"Attributes","description":"Arbitrary user attributes that will be used to enforce attribute-based access control policies.","default":{}},"role_assignments":{"items":{"$ref":"#/components/schemas/UserRoleCreate"},"type":"array","title":"Role Assignments","description":"List of roles to assign to the user in the environment."}},"additionalProperties":false,"type":"object","required":["key"],"title":"UserCreate","example":{"key":"user|892179821739812389327","email":"jane@coolcompany.com","first_name":"Jane","last_name":"Doe","attributes":{"department":"marketing","age":30,"subscription":{"tier":"pro","expired":false}},"role_assignments":[{"role":"admin","tenant":"stripe-inc"},{"role":"viewer","tenant":"othercompany.com"}]}},"UserCreateBulkOperation":{"properties":{"operations":{"items":{"$ref":"#/components/schemas/UserCreate"},"type":"array","title":"Operations"}},"additionalProperties":false,"type":"object","required":["operations"],"title":"UserCreateBulkOperation"},"UserCreateBulkOperationResult":{"properties":{},"additionalProperties":false,"type":"object","title":"UserCreateBulkOperationResult"},"UserDeleteBulkOperation":{"properties":{"idents":{"items":{"type":"string"},"type":"array","title":"Idents","description":"List of user idents to delete. Either the unique id or the key of the users."}},"additionalProperties":false,"type":"object","required":["idents"],"title":"UserDeleteBulkOperation","example":{"idents":["jane_doe","john_doe"]}},"UserDeleteBulkOperationResult":{"properties":{},"additionalProperties":false,"type":"object","title":"UserDeleteBulkOperationResult"},"UserInTenant":{"properties":{"tenant":{"type":"string","title":"Tenant","description":"The tenant key which the user is associated with"},"roles":{"items":{"type":"string"},"type":"array","title":"Roles","description":"List of roles assigned to the user in that tenant"},"status":{"allOf":[{"$ref":"#/components/schemas/UserStatus"}],"description":"Whether the user has signed in or not"},"resource_instance_roles":{"items":{"$ref":"#/components/schemas/UserResourceInstanceRole"},"type":"array","title":"Resource Instance Roles","default":[]}},"additionalProperties":false,"type":"object","required":["tenant","roles","status"],"title":"UserInTenant"},"UserInviteStatus":{"type":"string","enum":["pending","approved"],"title":"UserInviteStatus","description":"An enumeration."},"UserObj":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"key":{"type":"string","title":"Key"},"email":{"type":"string","title":"Email"},"first_name":{"type":"string","title":"First Name"},"last_name":{"type":"string","title":"Last Name"},"attributes":{"type":"object","title":"Attributes"},"roles":{"items":{"$ref":"#/components/schemas/RelationshipTupleObj"},"type":"array","title":"Roles","hidden_from_schema":true},"assigned_roles":{"items":{"type":"string"},"type":"array","title":"Assigned Roles"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","key","created_at","updated_at"],"title":"UserObj"},"UserRead":{"properties":{"key":{"type":"string","title":"Key","description":"A unique id by which Permit will identify the user for permission checks."},"id":{"type":"string","format":"uuid","title":"Id","description":"Unique id of the user"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id","description":"Unique id of the organization that the user belongs to."},"project_id":{"type":"string","format":"uuid","title":"Project Id","description":"Unique id of the project that the user belongs to."},"environment_id":{"type":"string","format":"uuid","title":"Environment Id","description":"Unique id of the environment that the user belongs to."},"associated_tenants":{"items":{"$ref":"#/components/schemas/UserInTenant"},"type":"array","title":"Associated Tenants","default":[]},"roles":{"items":{"$ref":"#/components/schemas/UserRole"},"type":"array","title":"Roles","default":[],"deprecated":true},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Date and time when the user was created (ISO_8601 format)."},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"Date and time when the user was last updated/modified (ISO_8601 format)."},"email":{"type":"string","format":"email","title":"Email","description":"The email of the user. If synced, will be unique inside the environment."},"first_name":{"type":"string","title":"First Name","description":"First name of the user."},"last_name":{"type":"string","title":"Last Name","description":"Last name of the user."},"attributes":{"type":"object","title":"Attributes","description":"Arbitrary user attributes that will be used to enforce attribute-based access control policies.","default":{}}},"additionalProperties":false,"type":"object","required":["key","id","organization_id","project_id","environment_id","created_at","updated_at"],"title":"UserRead","example":{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","organization_id":"7c60d51f-b44e-4682-87d6-449835ea4de6","project_id":"405d8375-3514-403b-8c43-83ae74cfe0e9","environment_id":"40ef0e48-a11f-4963-a229-e396c9f7e7c4","key":"user|892179821739812389327","email":"jane@coolcompany.com","created_at":"2019-08-24T14:15:22Z","updated_at":"2019-08-24T14:15:22Z","first_name":"Jane","last_name":"Doe","attributes":{"department":"marketing","age":30,"subscription":{"tier":"pro","expired":false}},"associated_tenants":[{"tenant":"stripe-inc","roles":["admin"],"status":"active"},{"tenant":"othercompany.com","roles":["viewer"],"status":"pending"}],"roles":[{"role":"admin","tenant":"stripe-inc"},{"role":"viewer","tenant":"othercompany.com"}]}},"UserReplaceBulkOperation":{"properties":{"operations":{"items":{"$ref":"#/components/schemas/UserCreate"},"type":"array","title":"Operations"}},"additionalProperties":false,"type":"object","required":["operations"],"title":"UserReplaceBulkOperation"},"UserReplaceBulkOperationResult":{"properties":{},"additionalProperties":false,"type":"object","title":"UserReplaceBulkOperationResult"},"UserResourceInstanceRole":{"properties":{"resource_instance":{"type":"string","title":"Resource Instance","description":"The resource instance key which the role is associated with"},"resource":{"type":"string","title":"Resource","description":"The resource type which the role is associated with"},"role":{"type":"string","title":"Role","description":"The role key of this resource role"}},"additionalProperties":false,"type":"object","required":["resource_instance","resource","role"],"title":"UserResourceInstanceRole"},"UserRole":{"properties":{"role":{"type":"string","title":"Role","description":"the role that is assigned"},"tenant":{"type":"string","title":"Tenant","description":"the tenant the role is associated with"}},"additionalProperties":false,"type":"object","required":["role","tenant"],"title":"UserRole"},"UserRoleCreate":{"properties":{"role":{"type":"string","title":"Role","description":"the role that will be assigned (accepts either the role id or the role key)"},"tenant":{"type":"string","title":"Tenant","description":"the tenant the role is associated with (accepts either the tenant id or the tenant key)"},"resource_instance":{"type":"string","title":"Resource Instance","description":"the resource instance the role is associated with (accepts either the resource instance id or key using this format resource_type:resource_instance)The resource instance will be implicitly created if the tenant parameter is specified and the resource instance does not exist."}},"additionalProperties":false,"type":"object","required":["role"],"title":"UserRoleCreate","example":{"role":"admin","tenant":"stripe-inc"}},"UserRoleRemove":{"properties":{"role":{"type":"string","title":"Role","description":"the role that will be unassigned (accepts either the role id or the role key)"},"tenant":{"type":"string","title":"Tenant","description":"the tenant the role is associated with (accepts either the tenant id or the tenant key)"},"resource_instance":{"type":"string","title":"Resource Instance","description":"the resource instance the role is associated with (accepts either the resource instance id or key using this format resource_type:resource_instance)"}},"additionalProperties":false,"type":"object","required":["role","tenant"],"title":"UserRoleRemove","example":{"role":"editor","tenant":"google-inc"}},"UserStatus":{"type":"string","enum":["active","pending"],"title":"UserStatus","description":"An enumeration."},"UserUpdate":{"properties":{"email":{"type":"string","format":"email","title":"Email","description":"The email of the user. If synced, will be unique inside the environment."},"first_name":{"type":"string","title":"First Name","description":"First name of the user."},"last_name":{"type":"string","title":"Last Name","description":"Last name of the user."},"attributes":{"type":"object","title":"Attributes","description":"Arbitrary user attributes that will be used to enforce attribute-based access control policies.","default":{}}},"additionalProperties":false,"type":"object","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"},"WebhookCreateWithElements":{"properties":{"type":{"type":"string","enum":["elements"],"title":"Type","default":"elements"},"url":{"type":"string","title":"Url","description":"The url to POST the webhook to"},"bearer_token":{"type":"string","title":"Bearer Token","description":"An optional bearer token to use to authenticate the request"}},"additionalProperties":false,"type":"object","required":["url"],"title":"WebhookCreateWithElements"},"WebhookRead":{"properties":{"type":{"$ref":"#/components/schemas/WebhookType"},"id":{"type":"string","format":"uuid","title":"Id","description":"Unique id of the webhook"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id","description":"Unique id of the organization that the webhook belongs to."},"project_id":{"type":"string","format":"uuid","title":"Project Id","description":"Unique id of the project that the webhook belongs to."},"environment_id":{"type":"string","format":"uuid","title":"Environment Id","description":"Unique id of the environment that the webhook belongs to."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Date and time when the webhook was created (ISO_8601 format)."},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"Date and time when the webhook was last updated/modified (ISO_8601 format)."},"url":{"type":"string","title":"Url","description":"The url to POST the webhook to"}},"additionalProperties":false,"type":"object","required":["type","id","organization_id","project_id","environment_id","created_at","updated_at","url"],"title":"WebhookRead"},"WebhookType":{"type":"string","enum":["elements","pdp_sync_error"],"title":"WebhookType","description":"An enumeration."},"WebhookUpdate":{"properties":{"url":{"type":"string","title":"Url","description":"The url to POST the webhook to"},"bearer_token":{"type":"string","title":"Bearer Token","description":"An optional bearer token to use to authenticate the request"}},"additionalProperties":false,"type":"object","title":"WebhookUpdate"},"data_generator_lib__schemas__schema_opal_data__ConditionSetData":{"properties":{"type":{"allOf":[{"$ref":"#/components/schemas/ConditionSetType"}],"description":"The type of the condition set."},"key":{"type":"string","title":"Key","description":"The key of the condition set."}},"type":"object","required":["type","key"],"title":"ConditionSetData","description":"This is the data of a specific condition set in the system"},"data_generator_lib__schemas__schema_opal_data__DerivationSettings":{"properties":{"superseded_by_direct_role":{"type":"boolean","title":"Superseded By Direct Role","description":"If True, the derived role is superseded by a direct role.meaning role derivation is not considered if the user has a direct role.","default":false}},"type":"object","title":"DerivationSettings","description":"Settings for the derived role"},"data_generator_lib__schemas__schema_opal_data__DerivedRole":{"properties":{"conditions":{"type":"string","title":"Conditions"},"settings":{"allOf":[{"$ref":"#/components/schemas/data_generator_lib__schemas__schema_opal_data__DerivationSettings"}],"title":"Settings","description":"Settings for the derived role."},"rules":{"items":{"$ref":"#/components/schemas/data_generator_lib__schemas__schema_opal_data__DerivedRoleRule"},"type":"array","title":"Rules","description":"List of rules for the derived role."}},"type":"object","required":["settings","rules"],"title":"DerivedRole","description":"This is the data of a specific derived role in the system"},"data_generator_lib__schemas__schema_opal_data__DerivedRoleRule":{"properties":{"relation":{"type":"string","title":"Relation","description":"The relation between the resource and the related resource."},"related_resource":{"type":"string","title":"Related Resource","description":"The related resource type key."},"related_role":{"type":"string","title":"Related Role","description":"The related role key."},"settings":{"allOf":[{"$ref":"#/components/schemas/data_generator_lib__schemas__schema_opal_data__DerivationSettings"}],"title":"Settings","description":"Settings for the derived role rule."}},"type":"object","required":["relation","related_resource","related_role","settings"],"title":"DerivedRoleRule","description":"This is the data of a specific derived role rule in the system"},"data_generator_lib__schemas__schema_opal_data__FullData":{"properties":{"use_debugger":{"type":"boolean","title":"Use Debugger","default":true},"users":{"additionalProperties":{"$ref":"#/components/schemas/data_generator_lib__schemas__schema_opal_data__UserData"},"type":"object","title":"Users","description":"Key-Value mapping of the users in the system.\nThe key is the user key and the value contains some details about the user."},"tenants":{"additionalProperties":{"$ref":"#/components/schemas/data_generator_lib__schemas__schema_opal_data__TenantData"},"type":"object","title":"Tenants","description":"Key-Value mapping of the tenants in the system.\nThe key is the tenant key and the value contains some details about the tenant."},"roles":{"additionalProperties":{"$ref":"#/components/schemas/data_generator_lib__schemas__schema_opal_data__RoleData"},"type":"object","title":"Roles","description":"Key-Value mapping of the roles in the system.\nThe key is the role key and the value contains some details about the role.","deprecated":true},"condition_set_rules":{"additionalProperties":{"additionalProperties":{"additionalProperties":{"items":{"type":"string"},"type":"array"},"type":"object"},"type":"object"},"type":"object","title":"Condition Set Rules","description":"Key-Value mapping of the permissions for each condition set.\nThe key is the user-set key and the value is Key-Value mapping of resource-set key to the permissions for that user-set & resource-set.The key is the resource key and the value is list of actions that the user-set can perform on that resource-set"},"condition_set_rules_expand":{"additionalProperties":{"additionalProperties":{"additionalProperties":{"items":{"type":"string"},"type":"array"},"type":"object"},"type":"object"},"type":"object","title":"Condition Set Rules Expand","description":"Sanitized Key-Value mapping of the permissions for each condition set.\n(Equal to condition_set_rules but user_set_key and resource_set_key are sanitized)The key is the user-set key and the value is Key-Value mapping of resource-set key to the permissions for that user-set & resource-set.The key is the resource key and the value is list of actions that the user-set can perform on that resource-set","default":{}},"relationships":{"additionalProperties":{"additionalProperties":{"additionalProperties":{"items":{"type":"string"},"type":"array"},"type":"object"},"type":"object"},"type":"object","title":"Relationships","description":"Key-Value mapping of the relationships between resources.\nThe key is the resource instance key and the value is Key-Value mapping of relation key to a Key-Value mapping of resource ( type ) to list of instances keys."},"resource_types":{"additionalProperties":{"$ref":"#/components/schemas/data_generator_lib__schemas__schema_opal_data__ResourceTypeData"},"type":"object","title":"Resource Types","description":"Key-Value mapping of the resource types in the system.\nThe key is the resource type key and the value contains some details about the resource type."},"condition_sets":{"additionalProperties":{"$ref":"#/components/schemas/data_generator_lib__schemas__schema_opal_data__ConditionSetData"},"type":"object","title":"Condition Sets","description":"Key-Value mapping of the condition sets in the system.\nThe key is the formatted condition set key and the value contains some details about the condition set."},"role_assignments":{"additionalProperties":{"additionalProperties":{"items":{"type":"string"},"type":"array"},"type":"object"},"type":"object","title":"Role Assignments","description":"Key-Value mapping of the role assignments for the users.\nThe key is the user key and the value is Key-Value mapping of resource instance key or tenant key to list of role keys assigned to the user in that resource instance."},"role_permissions":{"additionalProperties":{"additionalProperties":{"$ref":"#/components/schemas/data_generator_lib__schemas__schema_opal_data__RoleData"},"type":"object"},"type":"object","title":"Role Permissions","description":"Key-Value mapping of the permissions for each role.\nThe key is the resource key and the value is Key-Value mapping of role key to details on the role permissions."},"mapping_rules":{"additionalProperties":{"items":{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"object"},"type":"array"},"type":"object","title":"Mapping Rules","description":"Key-Value mapping of groups of mapping rules in the system.\nThe key is the mapping rule group and the value is a list of mapping rules objects.We currently have only one group named 'all' which contains all the mapping rules.A mapping rule object contains, action, http_method, resource and url - all strings.","default":{}},"resource_instances":{"additionalProperties":{"$ref":"#/components/schemas/data_generator_lib__schemas__schema_opal_data__ResourceInstanceAttributeData"},"type":"object","title":"Resource Instances","description":"Key-Value mapping of the resource instances in the system.\nThe key is the resource instance key and the value contains some details about the resource instance.","default":{}}},"type":"object","required":["users","tenants","roles","condition_set_rules","relationships","resource_types","condition_sets","role_assignments","role_permissions"],"title":"FullData","description":"This is the data structure that is used by the PDP in a manged Permit environment.\nThe code Permit generates uses this data structure to enforce the policy and make decisions.","example":{"use_debugger":true,"mapping_rules":{"all":[{"action":"read","http_method":"get","resource":"document","url":"https://example.com/{var}/resources/{var2}"}]},"users":{"user1":{"roleAssignments":{"default":["viewer"]},"attributes":{"email":"user1@permit.io","key":"user1"}}},"tenants":{"default":{"attributes":{"attr1":"value1"}}},"role_permissions":{"community":{"admin":{"grants":{}},"viewer":{"grants":{}}},"document":{"editor":{"grants":{"document":["update","read"]}},"viewer":{"grants":{"document":["read"]}}}},"roles":{"viewer":{"grants":{"document":["read"]}}},"condition_sets":{"resourceset_big_5ffiles":{"type":"resourceset","key":"big_files"},"userset_permit_57users":{"type":"userset","key":"permit_users"}},"condition_set_rules":{"permit_users":{"big_files":{"document":["read","update"]}}},"resource_instances":{"community:community-0":{"attributes":{}},"document:document-0":{"attributes":{}},"document:document-1":{"attributes":{}}},"relationships":{"document:document-0":{"relation:community":{"community":["community-0"]}},"document:document-1":{"relation:community":{"community":["community-0"]}}},"resource_types":{"__tenant":{"actions":[],"derived_roles":{}},"__user":{"actions":[],"derived_roles":{}},"community":{"actions":[],"derived_roles":{}},"document":{"actions":["read","update"],"derived_roles":{"editor":{"rules":[{"related_resource":"community","related_role":"admin","relation":"community","settings":{"superseded_by_direct_role":false}}],"settings":{"superseded_by_direct_role":false}},"viewer":{"rules":[{"related_resource":"community","related_role":"admin","relation":"community","settings":{"superseded_by_direct_role":false}},{"related_resource":"community","related_role":"viewer","relation":"community","settings":{"superseded_by_direct_role":false}}],"settings":{"superseded_by_direct_role":false}}}}},"role_assignments":{"user:user1":{"__tenant:default":["viewer"],"document:document-1":["editor"]}}}},"data_generator_lib__schemas__schema_opal_data__ResourceInstanceAttributeData":{"properties":{"tenant":{"type":"string","title":"Tenant","description":"The tenant key that this resource instance belongs to."},"attributes":{"type":"object","title":"Attributes","description":"Key-Value mapping of the attributes of the resource instance.\nThe key is the attribute key and the value is the attribute value.","default":{}}},"type":"object","title":"ResourceInstanceAttributeData","description":"This is the data of a specific resource instance in the system"},"data_generator_lib__schemas__schema_opal_data__ResourceTypeData":{"properties":{"actions":{"items":{"type":"string"},"type":"array","title":"Actions","description":"List of actions that can be performed on the resource."},"derived_roles":{"additionalProperties":{"$ref":"#/components/schemas/data_generator_lib__schemas__schema_opal_data__DerivedRole"},"type":"object","title":"Derived Roles","description":"Key-Value mapping of the derived roles for the resource type.\nThe key is the derived role key and the value is the details and conditions for the role derivation."}},"type":"object","required":["actions","derived_roles"],"title":"ResourceTypeData","description":"This is the data of a specific resource type in the system"},"data_generator_lib__schemas__schema_opal_data__RoleData":{"properties":{"grants":{"additionalProperties":{"items":{"type":"string"},"type":"array"},"type":"object","title":"Grants","description":"Key-Value mapping of the resources and actions that the role can perform.\nThe key is the resource key and the value is a list of actions that the role can perform on that resource."},"attributes":{"type":"object","title":"Attributes","description":"Key-Value mapping of the attributes of the role.\nThe key is the attribute key and the value is the attribute value.","default":{}}},"type":"object","required":["grants"],"title":"RoleData","description":"This is the data of a specific role in the system"},"data_generator_lib__schemas__schema_opal_data__TenantData":{"properties":{"roleAssignments":{"additionalProperties":{"items":{"type":"string"},"type":"array"},"type":"object","title":"Roleassignments","deprecated":true},"attributes":{"type":"object","title":"Attributes","description":"Key-Value mapping of the attributes of the tenant.\nThe key is the attribute key and the value is the attribute value."}},"type":"object","required":["attributes"],"title":"TenantData","description":"This is the data of a specific tenant in the system"},"data_generator_lib__schemas__schema_opal_data__UserData":{"properties":{"roleAssignments":{"additionalProperties":{"items":{"type":"string"},"type":"array"},"type":"object","title":"Roleassignments","description":"Key-Value mapping of the roles assigned to the user.\nThe key is the tenant key and the value is a list of role keys assigned to the user in that tenant.","deprecated":true},"attributes":{"type":"object","title":"Attributes","description":"Key-Value mapping of the attributes of the user.\nThe key is the attribute key and the value is the attribute value."}},"type":"object","required":["roleAssignments","attributes"],"title":"UserData","description":"This is the data of a specific user in the system"},"permit_backend__schemas__schema_derived_role_rule__DerivationSettings":{"properties":{"no_direct_roles_on_object":{"type":"boolean","title":"No Direct Roles On Object","description":"If true, the derived role or the specific rule will not apply if the resource has any direct role","default":false}},"additionalProperties":false,"type":"object","title":"DerivationSettings","description":"Settings for a derived role or a derived role rule"},"permit_backend__schemas__schema_opal_data__ConditionSetData":{"properties":{"type":{"allOf":[{"$ref":"#/components/schemas/ConditionSetType"}],"description":"The type of the condition set."},"key":{"type":"string","title":"Key","description":"The key of the condition set."}},"type":"object","required":["type","key"],"title":"ConditionSetData","description":"This is the data of a specific condition set in the system"},"permit_backend__schemas__schema_opal_data__DerivationSettings":{"properties":{"superseded_by_direct_role":{"type":"boolean","title":"Superseded By Direct Role","description":"If True, the derived role is superseded by a direct role.meaning role derivation is not considered if the user has a direct role.","default":false}},"type":"object","title":"DerivationSettings","description":"Settings for the derived role"},"permit_backend__schemas__schema_opal_data__DerivedRole":{"properties":{"conditions":{"type":"string","title":"Conditions"},"settings":{"allOf":[{"$ref":"#/components/schemas/permit_backend__schemas__schema_opal_data__DerivationSettings"}],"title":"Settings","description":"Settings for the derived role."},"rules":{"items":{"$ref":"#/components/schemas/permit_backend__schemas__schema_opal_data__DerivedRoleRule"},"type":"array","title":"Rules","description":"List of rules for the derived role."}},"type":"object","required":["settings","rules"],"title":"DerivedRole","description":"This is the data of a specific derived role in the system"},"permit_backend__schemas__schema_opal_data__DerivedRoleRule":{"properties":{"relation":{"type":"string","title":"Relation","description":"The relation between the resource and the related resource."},"related_resource":{"type":"string","title":"Related Resource","description":"The related resource type key."},"related_role":{"type":"string","title":"Related Role","description":"The related role key."},"settings":{"allOf":[{"$ref":"#/components/schemas/permit_backend__schemas__schema_opal_data__DerivationSettings"}],"title":"Settings","description":"Settings for the derived role rule."}},"type":"object","required":["relation","related_resource","related_role","settings"],"title":"DerivedRoleRule","description":"This is the data of a specific derived role rule in the system"},"permit_backend__schemas__schema_opal_data__FullData":{"properties":{"use_debugger":{"type":"boolean","title":"Use Debugger","default":true},"users":{"additionalProperties":{"$ref":"#/components/schemas/permit_backend__schemas__schema_opal_data__UserData"},"type":"object","title":"Users","description":"Key-Value mapping of the users in the system.\nThe key is the user key and the value contains some details about the user."},"tenants":{"additionalProperties":{"$ref":"#/components/schemas/permit_backend__schemas__schema_opal_data__TenantData"},"type":"object","title":"Tenants","description":"Key-Value mapping of the tenants in the system.\nThe key is the tenant key and the value contains some details about the tenant."},"roles":{"additionalProperties":{"$ref":"#/components/schemas/permit_backend__schemas__schema_opal_data__RoleData"},"type":"object","title":"Roles","description":"Key-Value mapping of the roles in the system.\nThe key is the role key and the value contains some details about the role.","deprecated":true},"condition_set_rules":{"additionalProperties":{"additionalProperties":{"additionalProperties":{"items":{"type":"string"},"type":"array"},"type":"object"},"type":"object"},"type":"object","title":"Condition Set Rules","description":"Key-Value mapping of the permissions for each condition set.\nThe key is the user-set key and the value is Key-Value mapping of resource-set key to the permissions for that user-set & resource-set.The key is the resource key and the value is list of actions that the user-set can perform on that resource-set"},"condition_set_rules_expand":{"additionalProperties":{"additionalProperties":{"additionalProperties":{"items":{"type":"string"},"type":"array"},"type":"object"},"type":"object"},"type":"object","title":"Condition Set Rules Expand","description":"Sanitized Key-Value mapping of the permissions for each condition set.\n(Equal to condition_set_rules but user_set_key and resource_set_key are sanitized)The key is the user-set key and the value is Key-Value mapping of resource-set key to the permissions for that user-set & resource-set.The key is the resource key and the value is list of actions that the user-set can perform on that resource-set","default":{}},"relationships":{"additionalProperties":{"additionalProperties":{"additionalProperties":{"items":{"type":"string"},"type":"array"},"type":"object"},"type":"object"},"type":"object","title":"Relationships","description":"Key-Value mapping of the relationships between resources.\nThe key is the resource instance key and the value is Key-Value mapping of relation key to a Key-Value mapping of resource ( type ) to list of instances keys."},"resource_types":{"additionalProperties":{"$ref":"#/components/schemas/permit_backend__schemas__schema_opal_data__ResourceTypeData"},"type":"object","title":"Resource Types","description":"Key-Value mapping of the resource types in the system.\nThe key is the resource type key and the value contains some details about the resource type."},"condition_sets":{"additionalProperties":{"$ref":"#/components/schemas/permit_backend__schemas__schema_opal_data__ConditionSetData"},"type":"object","title":"Condition Sets","description":"Key-Value mapping of the condition sets in the system.\nThe key is the formatted condition set key and the value contains some details about the condition set."},"role_assignments":{"additionalProperties":{"additionalProperties":{"items":{"type":"string"},"type":"array"},"type":"object"},"type":"object","title":"Role Assignments","description":"Key-Value mapping of the role assignments for the users.\nThe key is the user key and the value is Key-Value mapping of resource instance key or tenant key to list of role keys assigned to the user in that resource instance."},"role_permissions":{"additionalProperties":{"additionalProperties":{"$ref":"#/components/schemas/permit_backend__schemas__schema_opal_data__RoleData"},"type":"object"},"type":"object","title":"Role Permissions","description":"Key-Value mapping of the permissions for each role.\nThe key is the resource key and the value is Key-Value mapping of role key to details on the role permissions."},"mapping_rules":{"additionalProperties":{"items":{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"object"},"type":"array"},"type":"object","title":"Mapping Rules","description":"Key-Value mapping of groups of mapping rules in the system.\nThe key is the mapping rule group and the value is a list of mapping rules objects.We currently have only one group named 'all' which contains all the mapping rules.A mapping rule object contains, action, http_method, resource and url - all strings.","default":{}},"resource_instances":{"additionalProperties":{"$ref":"#/components/schemas/permit_backend__schemas__schema_opal_data__ResourceInstanceAttributeData"},"type":"object","title":"Resource Instances","description":"Key-Value mapping of the resource instances in the system.\nThe key is the resource instance key and the value contains some details about the resource instance.","default":{}}},"type":"object","required":["users","tenants","roles","condition_set_rules","relationships","resource_types","condition_sets","role_assignments","role_permissions"],"title":"FullData","description":"This is the data structure that is used by the PDP in a manged Permit environment.\nThe code Permit generates uses this data structure to enforce the policy and make decisions.","example":{"use_debugger":true,"mapping_rules":{"all":[{"action":"read","http_method":"get","resource":"document","url":"https://example.com/{var}/resources/{var2}"}]},"users":{"user1":{"roleAssignments":{"default":["viewer"]},"attributes":{"email":"user1@permit.io","key":"user1"}}},"tenants":{"default":{"attributes":{"attr1":"value1"}}},"role_permissions":{"community":{"admin":{"grants":{}},"viewer":{"grants":{}}},"document":{"editor":{"grants":{"document":["update","read"]}},"viewer":{"grants":{"document":["read"]}}}},"roles":{"viewer":{"grants":{"document":["read"]}}},"condition_sets":{"resourceset_big_5ffiles":{"type":"resourceset","key":"big_files"},"userset_permit_57users":{"type":"userset","key":"permit_users"}},"condition_set_rules":{"permit_users":{"big_files":{"document":["read","update"]}}},"resource_instances":{"community:community-0":{"attributes":{}},"document:document-0":{"attributes":{}},"document:document-1":{"attributes":{}}},"relationships":{"document:document-0":{"relation:community":{"community":["community-0"]}},"document:document-1":{"relation:community":{"community":["community-0"]}}},"resource_types":{"__tenant":{"actions":[],"derived_roles":{}},"__user":{"actions":[],"derived_roles":{}},"community":{"actions":[],"derived_roles":{}},"document":{"actions":["read","update"],"derived_roles":{"editor":{"rules":[{"related_resource":"community","related_role":"admin","relation":"community","settings":{"superseded_by_direct_role":false}}],"settings":{"superseded_by_direct_role":false}},"viewer":{"rules":[{"related_resource":"community","related_role":"admin","relation":"community","settings":{"superseded_by_direct_role":false}},{"related_resource":"community","related_role":"viewer","relation":"community","settings":{"superseded_by_direct_role":false}}],"settings":{"superseded_by_direct_role":false}}}}},"role_assignments":{"user:user1":{"__tenant:default":["viewer"],"document:document-1":["editor"]}}}},"permit_backend__schemas__schema_opal_data__ResourceInstanceAttributeData":{"properties":{"tenant":{"type":"string","title":"Tenant","description":"The tenant key that this resource instance belongs to."},"attributes":{"type":"object","title":"Attributes","description":"Key-Value mapping of the attributes of the resource instance.\nThe key is the attribute key and the value is the attribute value.","default":{}}},"type":"object","title":"ResourceInstanceAttributeData","description":"This is the data of a specific resource instance in the system"},"permit_backend__schemas__schema_opal_data__ResourceTypeData":{"properties":{"actions":{"items":{"type":"string"},"type":"array","title":"Actions","description":"List of actions that can be performed on the resource."},"derived_roles":{"additionalProperties":{"$ref":"#/components/schemas/permit_backend__schemas__schema_opal_data__DerivedRole"},"type":"object","title":"Derived Roles","description":"Key-Value mapping of the derived roles for the resource type.\nThe key is the derived role key and the value is the details and conditions for the role derivation."}},"type":"object","required":["actions","derived_roles"],"title":"ResourceTypeData","description":"This is the data of a specific resource type in the system"},"permit_backend__schemas__schema_opal_data__RoleData":{"properties":{"grants":{"additionalProperties":{"items":{"type":"string"},"type":"array"},"type":"object","title":"Grants","description":"Key-Value mapping of the resources and actions that the role can perform.\nThe key is the resource key and the value is a list of actions that the role can perform on that resource."},"attributes":{"type":"object","title":"Attributes","description":"Key-Value mapping of the attributes of the role.\nThe key is the attribute key and the value is the attribute value.","default":{}}},"type":"object","required":["grants"],"title":"RoleData","description":"This is the data of a specific role in the system"},"permit_backend__schemas__schema_opal_data__TenantData":{"properties":{"roleAssignments":{"additionalProperties":{"items":{"type":"string"},"type":"array"},"type":"object","title":"Roleassignments","deprecated":true},"attributes":{"type":"object","title":"Attributes","description":"Key-Value mapping of the attributes of the tenant.\nThe key is the attribute key and the value is the attribute value."}},"type":"object","required":["attributes"],"title":"TenantData","description":"This is the data of a specific tenant in the system"},"permit_backend__schemas__schema_opal_data__UserData":{"properties":{"roleAssignments":{"additionalProperties":{"items":{"type":"string"},"type":"array"},"type":"object","title":"Roleassignments","description":"Key-Value mapping of the roles assigned to the user.\nThe key is the tenant key and the value is a list of role keys assigned to the user in that tenant.","deprecated":true},"attributes":{"type":"object","title":"Attributes","description":"Key-Value mapping of the attributes of the user.\nThe key is the attribute key and the value is the attribute value."}},"type":"object","required":["roleAssignments","attributes"],"title":"UserData","description":"This is the data of a specific user in the system"}},"securitySchemes":{"HTTPBearer":{"type":"http","description":"Authorization header, we support the bearer authentication scheme (see: RFC 6750)","scheme":"bearer","bearerFormat":"JWT"}}},"tags":[{"name":"Organizations","description":"\nThe Organizations API gives you access to control and manage your Permit organizations.\n\nAn organization represents a **single billable account** (i.e: a company using Permit).\nYou may invite your team members to your Permit account, and thus multiple team members\nmay control an organization simultaniously (each member has access according to his role).\n"},{"name":"Projects","description":"\nProjects let you manage permissions for different business objectives from a single Permit account.\n\nFor example, you can create one project called \"Billing App\" and another project called \"Web App\".\nEvery project is a separate silo, and has its own unique set of environments and policies.\n"},{"name":"Environments","description":"\nEnvironments are silos contained within projects that enables you to safely iterate on changes.\n\nEnvironments allow you to manage your policy throughout your entire development lifecycle,\nfrom dev to production. Typical environments within a project could be `production`, `staging`,\nor individual environments.\n\nEach project must contain at least one environment.\nYou may clone an environment from a base environment, similar to git branches.\nYou can later safely merge the changes, after you tested them.\n"},{"name":"Bulk Operations","description":"None"},{"name":"Condition Sets","description":"\nCondition sets are sets of objects that are dynamically defined based on conditions on the objects' attributes.\nConditions sets allows you the flexibility of ABAC with the simplicity of RBAC.\n\nThere are currently two types of condition sets at the moment:\n1) user set = the set of users that match all the specified conditions.\n2) resource set = the set of resources that match all the specified conditions.\n\nExamples:\n\n- `us_based_employees` = {U1, ..., Un} = {all **users** who are *located in the US* and are *assigned the employee role*}\n- `private_repos` = {R1, ..., Rn} = {all **resources** *of type repository* that *are private*}\n\nWe can then picture a **matrix** of assignment between *user sets* and *resource sets*.\n\nExample:\nIf we check the checkbox where `us_based_employees` and `private_repos->clone` action intersect, we are setting a rule:\n*all US based employees can clone private repos*.\n"},{"name":"Resource Action Groups","description":"\nResource Action Groups are groups of actions that are assigned\nto a role as one action.\n"},{"name":"Resource Actions","description":"\nActions are the various ways you can interact with a resource or affect the resource.\nEach (resource, action) pair defines a unique permission level.\n"},{"name":"Resource Attributes","description":"\nResource attributes allow you to specify an arbitrary schema attributes that are part\nof the definition of resource and must be included in any of its instances.\n\nAttributes are used to enforce attribute-based access control policies.\n\nFor example, if we are building the github's permissions system, we might want to know\non the `Repository` resource whether the repo is private or now. In such case we will\ndefine a boolean `private` attributes that we can now use in our policies.\n"},{"name":"Resource Roles","description":"\nRoles allow you to associate permissions indirectly via a job function.\n\nResource roles allow you to grant roles that are scoped to a resource, thus\nexpressing ownership or arbitrary relationships between an actor (i.e: user) and\na specific object.\n\nThis API allows you to manipulate roles: assign or unassign permissions to a role,\ndefine hierarchy (inheritance) between two roles or define relationships between two roles.\n"},{"name":"Resources","description":"\nResources are *types* of objects or feature names that you wish to protect (or gate) with permissions.\n\nFor example, if you build a document-sharing app like google docs, you might want to define a \"document\" resource.\n\nA resource definition block typically contains **actions**.\nActions are the various ways you can interact with the object / feature. Each (resource, action) pair defines a unique permission level.\n\nA resource may also contain:\n- roles (if you wish to define resource-bound roles or if your permissions model is relational)\n- relations to other resources (if your permissions model is relational, i.e: you work with a ReBAC model)\n- attributes (attributes that are typically defined on the resource, typically used in ABAC models)\n"},{"name":"Roles","description":"\nRoles allow you to associate permissions indirectly via a job function.\n\nThe Roles API allows you to manipulate roles: assign or unassign permissions to a role,\ndefine hierarchy between roles or define relationships between resource roles.\n\nRoles manipulated by this API are **tenant roles**, meaning when they are assigned, they are\nassigned on a tenant.\n"},{"name":"User Attributes","description":"\nUser attributes allow you to specify an arbitrary schema attributes that are part\nof the definition of the User resource.\n\nAttributes are used to enforce attribute-based access control policies.\n\n*NOTE: A User is a Resource by itself, so basically a user's attribute is an attribute that assigned to the resource called \"user\".*\n\nFor example, if we are building the github's permissions system, we might want to know\nwhether the user is an owner of the organization or not. In such case we will\ndefine a string `owner` attribute that we can now use in our policies.\n"},{"name":"Users","description":"\nUsers represent human end-users of your applications that you'd like to enforce permissions on.\n\nYou must create a user object in Permit.io prior to trying to enforce permissions for that user.\nA user is identified by its key, and you can only create one user with the same key inside a Permit environment.\nYou can place users within tenants via role assignments in order to enforce multi-tenancy in your app.\n\nYou may create users via the API (shown below), with one of the SDKs, or via the Permit cloud console.\n"},{"name":"Tenants","description":"\nA tenant is a group of users that share a common organizational identity.\n\nEach tenant is a silo that can enforce strict boundaries between your customers.\nYou can associate your protected objects with a specific tenant, and only users\nbelonging to that tenant may access these resources (pending on adequate permissions).\n\nUsually, each tenant will represent one of the end-customer companies in your product\n(i.e. the company that you sell to). Through the tenant feature we enable you to have\nmulti-tenancy straight out of the box.\n"},{"name":"Role Assignments","description":"\nRole Assignments are RBAC-constructs that state that a actor (i.e: user) is assigned a role within a tenant.\n\nWith role assignments you can assign or unassign roles to a user.\nRole assignment define the relationship between users and tenants.\n"},{"name":"Condition Set Rules","description":"\nRepresents a \"mini\" ABAC rule comprised of (UserSet, Action, ResourceSet).\n\nIf such tuple exists, it means all users matching the UserSet\ncan perform the Action on the resources matching ResourceSet.\n\nExample:\n(`us_based_employees`, `repository:clone`, `private_repos`) where:\n- `us_based_employees` is a user set\n- `repository:clone` is an action\n- `private_repos` is a resource set\n"},{"name":"Resource Instances","description":"\nResource instances are instances of resource types.\n\nAn instance represents **a single object** in your system on which you'd want to enforce authorization.\nYou can use this API to store tenancy data (tenant) and arbitraty data (attributes).\n"},{"name":"Proxy Config","description":"\nProxy Config is set to enable the Permit Proxy to make proxied requests as part of the Frontend AuthZ.\n"},{"name":"Bulk Operations","description":"None"},{"name":"Email Configurations","description":"None"},{"name":"Email Templates","description":"None"},{"name":"Access Requests (EAP)","description":"None"}]}