diff --git a/.github/workflows/star-check.yml b/.github/workflows/star-check.yml
index 8534348..24d6c17 100644
--- a/.github/workflows/star-check.yml
+++ b/.github/workflows/star-check.yml
@@ -26,8 +26,7 @@ jobs:
test_query: |
SELECT repo, count(*) as has_starred
FROM github.activity.repo_stargazers
- WHERE (owner = 'stackql' and repo = 'stackql')
- OR (owner = '${{ env.current_owner }}' and repo = '${{ env.current_repo }}')
+ WHERE owner = '${{ env.current_owner }}' and repo IN ('stackql','${{ env.current_repo }}')
AND login = '${{ env.username }}'
GROUP BY repo;
expected_results_str: '[{"has_starred":"1","repo":"stackql"},{"has_starred":"1","repo":"${{ env.current_repo }}"}]'
diff --git a/README.md b/README.md
index 457c158..32d4a18 100644
--- a/README.md
+++ b/README.md
@@ -63,7 +63,7 @@ This step analyzes the service specs and creates a CSV mapping file that defines
- Flag operations with incomplete mappings (missing resource, method, or SQL verb)
- Skip operations that are already fully mapped
-After running this command, you should review and edit the generated `all_services.csv` file to ensure all operations are properly mapped to appropriate resources.
+Update the resultant `provider-dev/config/all_services.csv` to add the `stackql_resource_name`, `stackql_method_name`, `stackql_verb` values for each operation.
### 4. Generate Provider
@@ -80,8 +80,11 @@ npm run generate-provider -- \
--skip-files _well_known.yaml \
--overwrite
```
+Make necessary updates to the output docs:
-sh provider-dev/scripts/fix_mappings_issue.sh
+```bash
+sh provider-dev/scripts/post_processing.sh
+```
The `--servers` parameter defines the base URL pattern for API requests, with variables that users can customize. For Okta, this allows specifying different subdomains for different Okta instances.
@@ -105,12 +108,6 @@ PROVIDER_REGISTRY_ROOT_DIR="$(pwd)/provider-dev/openapi"
npm run start-server -- --provider okta --registry $PROVIDER_REGISTRY_ROOT_DIR
```
-```bash
-PROVIDER_REGISTRY_ROOT_DIR="$(pwd)/provider-dev/openapi"
-REG_STR='{"url": "file://'${PROVIDER_REGISTRY_ROOT_DIR}'", "localDocRoot": "'${PROVIDER_REGISTRY_ROOT_DIR}'", "verifyConfig": {"nopVerify": true}}'
-./stackql shell --registry="${REG_STR}"
-```
-
#### Test Meta Routes
Test all metadata routes (services, resources, methods) in the provider:
@@ -118,109 +115,31 @@ Test all metadata routes (services, resources, methods) in the provider:
```bash
npm run test-meta-routes -- okta --verbose
```
-
When you're done testing, stop the StackQL server:
-npm run server-status
-
```bash
npm run stop-server
```
-npm run server-status
-
-npm run test-meta-routes -- okta --verbose
-
-
-
-### 5. Generate Provider Docs
-
-
-
-
-
-These should include:
-
-- how to get the providers Open API spec (download these to the [`provider-dev/source`](provider-dev/source) dir)
-- if and how to pre process the spec if required
-- how to analyze routes and generate a mapping csv in the [`provider-dev/config`](provider-dev/config) dir
-- how to generate `stackql` extensions referencing the mapping csv using the included `openapi_to_stackql` python module
-- if an how to post process the spec if required
-
-### Steps to test the provider
-
-Steps to inspect and test the provider, such as:
-
-
-
-Provide some reference queries for the provider.
+use this command to view the server status:
```bash
-bash ./bin/openapi-to-stackql.sh analyze \
---input provider-dev/source/snowflake-rest-api-specs-main/specifications \
---output provider-dev/config
-```
-
-update the resultant `provider-dev/config/all_services.csv` to add the `stackql_resource_name`, `stackql_method_name`, `stackql_verb` values for each operation, save the file as `provider-dev/config/snowflake.csv`
-
-### 3. Pre process the specs
-
-The `common.yaml` contains schemas to be injected into all other service specs, use the following code to do this...
-
-```bash
-bash ./provider-dev/scripts/pre_process.sh provider-dev/source/snowflake-rest-api-specs-main/specifications
-```
-
-### 4. Generate the provider
-
-Run the following code to generate the `snowflake` stackql provider:
-
-```bash
-bash ./bin/openapi-to-stackql.sh convert \
---input provider-dev/source/snowflake-rest-api-specs-main/specifications \
---output provider-dev/src/snowflake \
---config provider-dev/config/snowflake.csv \
---provider snowflake \
---servers '[{"url":"https://{endpoint}.snowflakecomputing.com","description":"Multi-tenant Snowflake endpoint","variables":{"endpoint":{"default":"orgid-acctid","description":"Organization and Account Name"}}}]' \
---provider-config '{"auth":{"type":"bearer","credentialsenvvar":"SNOWFLAKE_PAT" }}' \
---skip common.yaml
-```
-
-### 5. Post process the specs
-Post process the specs to remove redundant reference paths:
-
-```bash
-python3 ./provider-dev/scripts/post_process.py provider-dev/src/snowflake/v00.00.00000/services
+npm run server-status
```
-### 6. Test the provider locally
-
-Download `stackql`:
-
-```bash
-curl -L https://bit.ly/stackql-zip -O \
-&& unzip stackql-zip
-```
+#### Run test queries
-Test the provider locally:
+Run some test queries against the provider using the `stackql shell`:
```bash
-PROVIDER_REGISTRY_ROOT_DIR="$(pwd)"
-REG_STR='{"url": "file://'${PROVIDER_REGISTRY_ROOT_DIR}/provider-dev'", "localDocRoot": "'${PROVIDER_REGISTRY_ROOT_DIR}/provider-dev'", "verifyConfig": {"nopVerify": true}}'
+PROVIDER_REGISTRY_ROOT_DIR="$(pwd)/provider-dev/openapi"
+REG_STR='{"url": "file://'${PROVIDER_REGISTRY_ROOT_DIR}'", "localDocRoot": "'${PROVIDER_REGISTRY_ROOT_DIR}'", "verifyConfig": {"nopVerify": true}}'
./stackql shell --registry="${REG_STR}"
```
-```sql
-select name, owner from snowflake.database.databases where endpoint = 'OKXVNMC-VH34026';
-
-SELECT name, bytes, data_retention_time_in_days, table_type FROM snowflake.table.tables WHERE database_name = 'SNOWFLAKE_SAMPLE_DATA' AND schema_name = 'TPCH_SF10' AND endpoint = 'OKXVNMC-VH34026' order by bytes DESC;
-```
-
-### 5. Publish the provider
+### 6. Publish the provider
-To publish the provider push the `snowflake` dir to `providers/src` in a feature branch of the [`stackql-provider-registry`](https://github.com/stackql/stackql-provider-registry). Follow the [registry release flow](https://github.com/stackql/stackql-provider-registry/blob/dev/docs/build-and-deployment.md).
-
-### 6. Test the provider in the `dev` registry
+To publish the provider push the `okta` dir to `providers/src` in a feature branch of the [`stackql-provider-registry`](https://github.com/stackql/stackql-provider-registry). Follow the [registry release flow](https://github.com/stackql/stackql-provider-registry/blob/dev/docs/build-and-deployment.md).
Launch the StackQL shell:
@@ -229,10 +148,10 @@ export DEV_REG="{ \"url\": \"https://registry-dev.stackql.app/providers\" }"
./stackql --registry="${DEV_REG}" shell
```
-pull the latest dev `snowflake` provider:
+pull the latest dev `okta` provider:
```sql
-registry pull snowflake;
+registry pull okta;
```
Run some test queries
@@ -240,11 +159,9 @@ Run some test queries
### 7. Generate web docs
```bash
-rm -rf ./website/docs/*
-npm i
npm run generate-docs -- \
- --provider-name snowflake \
- --provider-dir ./provider-dev/src/snowflake/v00.00.00000 \
+ --provider-name okta \
+ --provider-dir ./provider-dev/openapi/src/okta/v00.00.00000 \
--output-dir ./website \
--provider-data-dir ./provider-dev/docgen/provider-data
```
@@ -254,4 +171,12 @@ npm run generate-docs -- \
```bash
cd website
yarn start
-```
\ No newline at end of file
+```
+
+## License
+
+MIT
+
+## Contributing
+
+Contributions to the Okta provider are welcome! Please feel free to submit a Pull Request.
\ No newline at end of file
diff --git a/bin/test-meta-routes.cjs b/bin/test-meta-routes.cjs
index 0f027ba..822a5c4 100644
--- a/bin/test-meta-routes.cjs
+++ b/bin/test-meta-routes.cjs
@@ -284,7 +284,7 @@ async function testMetaRoutes() {
if (!hasSelect) {
results.nonSelectableResourceCount++;
- results.nonSelectableResources.push(resourceName);
+ results.nonSelectableResources.push(`${resourceData.service}.${resourceName}`);
}
// Try DESCRIBE EXTENDED if available
diff --git a/package-lock.json b/package-lock.json
index 7fe0282..ba1a172 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -9,7 +9,7 @@
"version": "0.1.0",
"dependencies": {
"@stackql/pgwire-lite": "^1.0.1",
- "@stackql/provider-utils": "^0.3.8"
+ "@stackql/provider-utils": "^0.3.9"
},
"engines": {
"node": ">=14.16.0"
@@ -110,9 +110,9 @@
}
},
"node_modules/@stackql/provider-utils": {
- "version": "0.3.8",
- "resolved": "https://registry.npmjs.org/@stackql/provider-utils/-/provider-utils-0.3.8.tgz",
- "integrity": "sha512-JJXScxiyye8X2esphkRTZarIcJeE3Zi9rgzD7gTVvSOVbtwGLgp5vRKbYuO0mWXYPrxsPUx0r5sIBJwqMx7n8Q==",
+ "version": "0.3.9",
+ "resolved": "https://registry.npmjs.org/@stackql/provider-utils/-/provider-utils-0.3.9.tgz",
+ "integrity": "sha512-X17lR9/lwMkj2dwHJkahsIcxq1Wu6HiC4T8Y/vtu5sfwtfyhS2xT3lqYjmkwNkBnP9eU3ZDnF7sNOrRz8aBjIA==",
"license": "MIT",
"dependencies": {
"@apidevtools/swagger-parser": "^10.1.1",
diff --git a/package.json b/package.json
index b93bd63..7f1b1fa 100644
--- a/package.json
+++ b/package.json
@@ -15,7 +15,7 @@
},
"dependencies": {
"@stackql/pgwire-lite": "^1.0.1",
- "@stackql/provider-utils": "^0.3.9"
+ "@stackql/provider-utils": "^0.4.0"
},
"keywords": [
"stackql",
diff --git a/provider-dev/config/all_services.csv b/provider-dev/config/all_services.csv
index 7628102..53362b2 100644
--- a/provider-dev/config/all_services.csv
+++ b/provider-dev/config/all_services.csv
@@ -614,13 +614,13 @@ users.yaml,/api/v1/users/{userId}/authenticator-enrollments,listAuthenticatorEnr
users.yaml,/api/v1/users/{userId}/authenticator-enrollments/{enrollmentId},getAuthenticatorEnrollment,get_authenticator_enrollment,get,,UserAuthenticatorEnrollments,user_authenticator_enrollments,authenticator_enrollments,get_authenticator_enrollment,select
users.yaml,/api/v1/users/{userId}/classification,replaceUserClassification,replace_user_classification,put,UserClassification,UserClassification,user_classification,classifications,replace_user_classification,replace
users.yaml,/api/v1/users/{userId}/classification,getUserClassification,get_user_classification,get,UserClassification,UserClassification,user_classification,classifications,get_user_classification,select
-users.yaml,/api/v1/users/{id}/lifecycle/expire_password,expirePassword,expire_password,post,User,UserCred,user_cred,creds,expire_password,exec
-users.yaml,/api/v1/users/{id}/lifecycle/expire_password_with_temp_password,expirePasswordWithTempPassword,expire_password_with_temp_password,post,User,UserCred,user_cred,creds,expire_password_with_temp_password,exec
-users.yaml,/api/v1/users/{id}/lifecycle/reset_password,resetPassword,reset_password,post,ResetPasswordToken,UserCred,user_cred,creds,reset_password,exec
-users.yaml,/api/v1/users/{userId}/credentials/change_password,changePassword,change_password,post,UserCredentials,UserCred,user_cred,creds,change_password,exec
-users.yaml,/api/v1/users/{userId}/credentials/change_recovery_question,changeRecoveryQuestion,change_recovery_question,post,UserCredentials,UserCred,user_cred,creds,change_recovery_question,exec
-users.yaml,/api/v1/users/{userId}/credentials/forgot_password,forgotPassword,forgot_password,post,ForgotPasswordResponse,UserCred,user_cred,creds,forgot_password,exec
-users.yaml,/api/v1/users/{userId}/credentials/forgot_password_recovery_question,forgotPasswordSetNewPassword,forgot_password_set_new_password,post,UserCredentials,UserCred,user_cred,creds,forgot_password_set_new_password,exec
+users.yaml,/api/v1/users/{id}/lifecycle/expire_password,expirePassword,expire_password,post,User,UserCred,user_cred,users,expire_password,exec
+users.yaml,/api/v1/users/{id}/lifecycle/expire_password_with_temp_password,expirePasswordWithTempPassword,expire_password_with_temp_password,post,User,UserCred,user_cred,users,expire_password_with_temp_password,exec
+users.yaml,/api/v1/users/{id}/lifecycle/reset_password,resetPassword,reset_password,post,ResetPasswordToken,UserCred,user_cred,users,reset_password,exec
+users.yaml,/api/v1/users/{userId}/credentials/change_password,changePassword,change_password,post,UserCredentials,UserCred,user_cred,users,change_password,exec
+users.yaml,/api/v1/users/{userId}/credentials/change_recovery_question,changeRecoveryQuestion,change_recovery_question,post,UserCredentials,UserCred,user_cred,users,change_recovery_question,exec
+users.yaml,/api/v1/users/{userId}/credentials/forgot_password,forgotPassword,forgot_password,post,ForgotPasswordResponse,UserCred,user_cred,users,forgot_password,exec
+users.yaml,/api/v1/users/{userId}/credentials/forgot_password_recovery_question,forgotPasswordSetNewPassword,forgot_password_set_new_password,post,UserCredentials,UserCred,user_cred,users,forgot_password_set_new_password,exec
users.yaml,/api/v1/users/{userId}/factors/{factorId},unenrollFactor,unenroll_factor,delete,,UserFactor,user_factor,factors,unenroll_factor,delete
users.yaml,/api/v1/users/{userId}/factors/{factorId}/lifecycle/activate,activateFactor,activate_factor,post,UserFactorActivateResponse,UserFactor,user_factor,factors,activate_factor,exec
users.yaml,/api/v1/users/{userId}/factors/{factorId}/resend,resendEnrollFactor,resend_enroll_factor,post,ResendUserFactor,UserFactor,user_factor,factors,resend_enroll_factor,exec
@@ -654,7 +654,7 @@ users.yaml,/api/v1/users/{userId}/roles/{roleAssignmentId},getUserAssignedRole,g
users.yaml,/api/v1/users/{userId}/roles/{roleAssignmentId}/targets/groups/{groupId},unassignGroupTargetFromUserAdminRole,unassign_group_target_from_user_admin_role,delete,,RoleBTargetAdmin,role_btarget_admin,role_group_targets,unassign_group_target_from_user_admin_role,delete
users.yaml,/api/v1/users/{userId}/roles/{roleAssignmentId}/targets/groups/{groupId},assignGroupTargetToUserRole,assign_group_target_to_user_role,put,,RoleBTargetAdmin,role_btarget_admin,role_group_targets,assign_group_target_to_user_role,replace
users.yaml,/api/v1/users/{userId}/roles/{roleAssignmentId}/targets/groups,listGroupTargetsForRole,list_group_targets_for_role,get,Group,RoleBTargetAdmin,role_btarget_admin,role_group_targets,list_group_targets_for_role,select
-users.yaml,/api/v1/users/{userId}/roles/{roleAssignmentId}/targets/catalog/apps/{appName}/{appId},assignAppInstanceTargetToAppAdminRoleForUser,assign_app_instance_target_to_app_admin_role_for_user,put,,RoleBTargetAdmin,role_btarget_admin,role_target_admin,assign_app_instance_target_to_app_admin_role_for_user,replace
+users.yaml,/api/v1/users/{userId}/roles/{roleAssignmentId}/targets/catalog/apps/{appName}/{appId},assignAppInstanceTargetToAppAdminRoleForUser,assign_app_instance_target_to_app_admin_role_for_user,put,,RoleBTargetAdmin,role_btarget_admin,role_assignment_users,assign_app_instance_target_to_app_admin_role_for_user,exec
users.yaml,/api/v1/users/{userId}/roles/{roleIdOrEncodedRoleId}/targets,getRoleTargetsByUserIdAndRoleId,get_role_targets_by_user_id_and_role_id,get,RoleTarget,RoleBTargetAdmin,role_btarget_admin,role_targets,get_role_targets_by_user_id_and_role_id,select
users.yaml,/api/v1/users/{userId}/subscriptions/{notificationType}/subscribe,subscribeByNotificationTypeUser,subscribe_by_notification_type_user,post,,Subscription,subscription,subscriptions,subscribe_by_notification_type_user,exec
users.yaml,/api/v1/users/{userId}/subscriptions/{notificationType}/unsubscribe,unsubscribeByNotificationTypeUser,unsubscribe_by_notification_type_user,post,,Subscription,subscription,subscriptions,unsubscribe_by_notification_type_user,exec
@@ -669,8 +669,8 @@ users.yaml,/api/v1/users/{userId}/devices,listUserDevices,list_user_devices,get,
users.yaml,/api/v1/users/{id}/groups,listUserGroups,list_user_groups,get,Group,UserResources,user_resources,user_groups,list_user_groups,select
users.yaml,/api/v1/users/{userId}/risk,upsertUserRisk,upsert_user_risk,put,UserRiskPutResponse,UserRisk,user_risk,user_risk,upsert_user_risk,replace
users.yaml,/api/v1/users/{userId}/risk,getUserRisk,get_user_risk,get,UserRiskGetResponse,UserRisk,user_risk,user_risk,get_user_risk,select
-users.yaml,/api/v1/users/{userId}/sessions,revokeUserSessions,revoke_user_sessions,delete,,UserSessions,user_sessions,user_sessions,revoke_user_sessions,delete
-users.yaml,/api/v1/users/me/lifecycle/delete_sessions,endUserSessions,end_user_sessions,post,,UserSessions,user_sessions,user_sessions,end_user_sessions,exec
+users.yaml,/api/v1/users/{userId}/sessions,revokeUserSessions,revoke_user_sessions,delete,,UserSessions,user_sessions,users,revoke_user_sessions,exec
+users.yaml,/api/v1/users/me/lifecycle/delete_sessions,endUserSessions,end_user_sessions,post,,UserSessions,user_sessions,users,end_user_sessions,exec
users.yaml,/api/v1/users/{id},deleteUser,delete_user,delete,,User,user,users,delete_user,delete
users.yaml,/api/v1/users/{id}/lifecycle/activate,activateUser,activate_user,post,UserActivationToken,UserLifecycle,user_lifecycle,users,activate_user,exec
users.yaml,/api/v1/users/{id}/lifecycle/deactivate,deactivateUser,deactivate_user,post,,UserLifecycle,user_lifecycle,users,deactivate_user,exec
@@ -687,10 +687,10 @@ users.yaml,/api/v1/users/{id},updateUser,update_user,post,User,User,user,users,u
webauthn_registration.yaml,/webauthn-registration/api/v1/users/{userId}/enrollments/{authenticatorEnrollmentId},deleteWebAuthnPreregistrationFactor,delete_web_authn_preregistration_factor,delete,,WebAuthnPreregistration,web_authn_preregistration,enrollments,delete_web_authn_preregistration_factor,delete
webauthn_registration.yaml,/webauthn-registration/api/v1/users/{userId}/enrollments/{authenticatorEnrollmentId}/mark-error,assignFulfillmentErrorWebAuthnPreregistrationFactor,assign_fulfillment_error_web_authn_preregistration_factor,post,,WebAuthnPreregistration,web_authn_preregistration,enrollments,assign_fulfillment_error_web_authn_preregistration_factor,exec
webauthn_registration.yaml,/webauthn-registration/api/v1/users/{userId}/enrollments,listWebAuthnPreregistrationFactors,list_web_authn_preregistration_factors,get,WebAuthnPreregistrationFactor,WebAuthnPreregistration,web_authn_preregistration,enrollments,list_web_authn_preregistration_factors,select
-webauthn_registration.yaml,/webauthn-registration/api/v1/activate,activatePreregistrationEnrollment,activate_preregistration_enrollment,post,EnrollmentActivationResponse,WebAuthnPreregistration,web_authn_preregistration,preregistration_enrollments,activate_preregistration_enrollment,exec
-webauthn_registration.yaml,/webauthn-registration/api/v1/enroll,enrollPreregistrationEnrollment,enroll_preregistration_enrollment,post,EnrollmentInitializationResponse,WebAuthnPreregistration,web_authn_preregistration,preregistration_enrollments,enroll_preregistration_enrollment,exec
-webauthn_registration.yaml,/webauthn-registration/api/v1/initiate-fulfillment-request,generateFulfillmentRequest,generate_fulfillment_request,post,,WebAuthnPreregistration,web_authn_preregistration,preregistration_enrollments,generate_fulfillment_request,exec
-webauthn_registration.yaml,/webauthn-registration/api/v1/send-pin,sendPin,send_pin,post,,WebAuthnPreregistration,web_authn_preregistration,preregistration_enrollments,send_pin,exec
+webauthn_registration.yaml,/webauthn-registration/api/v1/activate,activatePreregistrationEnrollment,activate_preregistration_enrollment,post,EnrollmentActivationResponse,WebAuthnPreregistration,web_authn_preregistration,enrollments,activate_preregistration_enrollment,exec
+webauthn_registration.yaml,/webauthn-registration/api/v1/enroll,enrollPreregistrationEnrollment,enroll_preregistration_enrollment,post,EnrollmentInitializationResponse,WebAuthnPreregistration,web_authn_preregistration,enrollments,enroll_preregistration_enrollment,exec
+webauthn_registration.yaml,/webauthn-registration/api/v1/initiate-fulfillment-request,generateFulfillmentRequest,generate_fulfillment_request,post,,WebAuthnPreregistration,web_authn_preregistration,enrollments,generate_fulfillment_request,exec
+webauthn_registration.yaml,/webauthn-registration/api/v1/send-pin,sendPin,send_pin,post,,WebAuthnPreregistration,web_authn_preregistration,enrollments,send_pin,exec
zones.yaml,/api/v1/zones/{zoneId},deleteNetworkZone,delete_network_zone,delete,,NetworkZone,network_zone,network_zones,delete_network_zone,delete
zones.yaml,/api/v1/zones/{zoneId}/lifecycle/activate,activateNetworkZone,activate_network_zone,post,NetworkZone,NetworkZone,network_zone,network_zones,activate_network_zone,exec
zones.yaml,/api/v1/zones/{zoneId}/lifecycle/deactivate,deactivateNetworkZone,deactivate_network_zone,post,NetworkZone,NetworkZone,network_zone,network_zones,deactivate_network_zone,exec
@@ -698,3 +698,9 @@ zones.yaml,/api/v1/zones,createNetworkZone,create_network_zone,post,NetworkZone,
zones.yaml,/api/v1/zones/{zoneId},replaceNetworkZone,replace_network_zone,put,NetworkZone,NetworkZone,network_zone,network_zones,replace_network_zone,replace
zones.yaml,/api/v1/zones,listNetworkZones,list_network_zones,get,NetworkZone,NetworkZone,network_zone,network_zones,list_network_zones,select
zones.yaml,/api/v1/zones/{zoneId},getNetworkZone,get_network_zone,get,NetworkZone,NetworkZone,network_zone,network_zones,get_network_zone,select
+_well_known.yaml,/.well-known/app-authenticator-configuration,getWellKnownAppAuthenticatorConfiguration,get_well_known_app_authenticator_configuration,get,WellKnownAppAuthenticatorConfiguration,Authenticator,authenticator,,,
+_well_known.yaml,/.well-known/apple-app-site-association,getAppleAppSiteAssociationWellKnownURI,get_apple_app_site_association_well_known_uri,get,PublicAppleAppSiteWellKnownURI,AssociatedDomainCustomizations,associated_domain_customizations,,,
+_well_known.yaml,/.well-known/assetlinks.json,getAssetLinksWellKnownURI,get_asset_links_well_known_uri,get,PublicAssetLinksWellKnownURI,AssociatedDomainCustomizations,associated_domain_customizations,,,
+_well_known.yaml,/.well-known/okta-organization,getWellknownOrgMetadata,get_wellknown_org_metadata,get,WellKnownOrgMetadata,OrgSettingMetadata,org_setting_metadata,,,
+_well_known.yaml,/.well-known/ssf-configuration,getWellknownSsfMetadata,get_wellknown_ssf_metadata,get,WellKnownSSFMetadata,SSFTransmitter,ssftransmitter,,,
+_well_known.yaml,/.well-known/webauthn,getWebAuthnWellKnownURI,get_web_authn_well_known_uri,get,PublicWebauthnSiteWellKnownURI,AssociatedDomainCustomizations,associated_domain_customizations,,,
diff --git a/provider-dev/docgen/provider-data/headerContent1.txt b/provider-dev/docgen/provider-data/headerContent1.txt
index 77e66eb..dbdae8b 100644
--- a/provider-dev/docgen/provider-data/headerContent1.txt
+++ b/provider-dev/docgen/provider-data/headerContent1.txt
@@ -1,19 +1,19 @@
---
-title: snowflake
+title: okta
hide_title: false
hide_table_of_contents: false
keywords:
- - snowflake
+ - okta
- stackql
- infrastructure-as-code
- configuration-as-data
- cloud inventory
-description: Query, deploy and manage Snowflake resources using SQL
+description: Query, deploy and manage Okta resources using SQL
custom_edit_url: null
-image: /img/stackql-snowflake-provider-featured-image.png
+image: /img/stackql-okta-provider-featured-image.png
id: 'provider-intro'
---
import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
-Snowflake for managing data warehousing, analytics, and secure data sharing with scalable cloud-native architecture and pay-as-you-go pricing.
+Authentication and authorization services.
\ No newline at end of file
diff --git a/provider-dev/docgen/provider-data/headerContent2.txt b/provider-dev/docgen/provider-data/headerContent2.txt
index 10fb8d3..f28106a 100644
--- a/provider-dev/docgen/provider-data/headerContent2.txt
+++ b/provider-dev/docgen/provider-data/headerContent2.txt
@@ -4,10 +4,10 @@ See also:
## Installation
-To pull the latest version of the `snowflake` provider, run the following command:
+To pull the latest version of the `okta` provider, run the following command:
```bash
-REGISTRY PULL snowflake;
+REGISTRY PULL okta;
```
> To view previous provider versions or to pull a specific provider version, see [here](https://stackql.io/docs/language-spec/registry).
@@ -15,8 +15,8 @@ REGISTRY PULL snowflake;
The following system environment variables are used for authentication by default:
-- - Snowflake Programmatic Access Token (PAT) (see Using a programmatic access token (PAT))
-
+- - Okta API Token (see Creating an Okta API Token)
+
These variables are sourced at runtime (from the local machine or as CI variables/secrets).
@@ -27,7 +27,7 @@ To use different environment variables (instead of the defaults), use the `--aut
```bash
-AUTH='{ "snowflake": { "type": "bearer", "credentialsenvvar": "YOUR_SNOWFLAKE_PAT_VAR" }}'
+AUTH='{ "okta": { "type": "api_key", "valuePrefix": "SSWS ", "credentialsenvvar": "YOUR_OKTA_API_TOKEN_VAR" }}'
stackql shell --auth="${AUTH}"
```
@@ -35,8 +35,18 @@ or using PowerShell:
```powershell
-$Auth = "{ 'snowflake': { 'type': 'bearer', 'credentialsenvvar': 'YOUR_SNOWFLAKE_PAT_VAR' }}"
+$Auth = "{ 'okta': { 'type': 'api_key', 'valuePrefix': 'SSWS ', 'credentialsenvvar': 'YOUR_OKTA_API_TOKEN_VAR' }}"
stackql.exe shell --auth=$Auth
```
+
+
+## Server Parameters
+
+
+The following parameter is required for the `okta` provider:
+
+- - The Okta tenant domain, for example my-company would be supplied if your Okta domain is my-company.okta.com
+
+This parameter must be supplied to the `WHERE` clause of each `SELECT` statement.
\ No newline at end of file
diff --git a/provider-dev/openapi/src/okta/v00.00.00000/services/apps.yaml b/provider-dev/openapi/src/okta/v00.00.00000/services/apps.yaml
index 44ca8eb..cabb984 100644
--- a/provider-dev/openapi/src/okta/v00.00.00000/services/apps.yaml
+++ b/provider-dev/openapi/src/okta/v00.00.00000/services/apps.yaml
@@ -10,14 +10,14 @@ paths:
description: >-
Lists all apps in the org with pagination. A subset of apps can be
returned that match a supported filter expression or query. The results
- are [paginated](/#pagination) according to the `limit` parameter. If
+ are [paginated]https://developer.okta.com/docs/api#pagination according to the `limit` parameter. If
there are multiple pages of results, the header contains a `next` link.
Treat the link as an opaque value (follow it, don't parse it).
> **Note:** To list all of a member's assigned app links, use the [List
all assigned app links endpoint in the User Resources
- API](/openapi/okta-management/management/tag/UserResources/#tag/UserResources/operation/listAppLinks).
+ API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserResources/#tag/UserResources/operation/listAppLinks).
operationId: listApplications
parameters:
- name: q
@@ -31,7 +31,7 @@ paths:
- name: after
in: query
description: >-
- Specifies the [pagination](/#pagination) cursor for the next page of
+ Specifies the [pagination]https://developer.okta.com/docs/api#pagination cursor for the next page of
results. Treat this as an opaque value obtained through the `next`
link relationship.
schema:
@@ -123,11 +123,11 @@ paths:
* OIN app instances have prescribed `name` (key app definition) and
`signOnMode` options. See the [OIN
- schemas](/openapi/okta-management/management/tag/Application/#tag/Application/schema/GoogleApplication)
+ schemas](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Application/#tag/Application/schema/GoogleApplication)
for the request body.
* For custom app instances, select the
- [signOnMode](/openapi/okta-management/management/tag/Application/#tag/Application/operation/createApplication!path=0/signOnMode&t=request)
+ [signOnMode](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Application/#tag/Application/operation/createApplication!path=0/signOnMode&t=request)
that pertains to your app and specify the required parameters in the
request body.
operationId: createApplication
@@ -219,7 +219,7 @@ paths:
in: query
description: >-
An optional query parameter to return the specified [Application
- User](/openapi/okta-management/management/tag/ApplicationUsers/) in
+ User](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/ApplicationUsers/) in
the `_embedded` property.
Valid value: `expand=user/{userId}`
@@ -870,14 +870,14 @@ paths:
> **Note:** This API doesn't allow you to add a key if the existing key
doesn't have a `kid`. This is also consistent with how the [Dynamic
Client Registration](/openapi/okta-oauth/oauth/tag/Client/) or
- [Applications](/openapi/okta-management/management/tag/Application/)
+ [Applications](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Application/)
APIs behave, as they don't allow the creation of multiple keys without
`kids`. Use the [Replace an
- Application](/openapi/okta-management/management/tag/Application/#tag/Application/operation/replaceApplication)
+ Application](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Application/#tag/Application/operation/replaceApplication)
or the [Replace a Client
Application](/openapi/okta-oauth/oauth/tag/Client/#tag/Client/operation/replaceClient)
operation to update the JWKS or [Delete an OAuth 2.0 Client JSON Web
- Key](/openapi/okta-management/management/tag/ApplicationSSOPublicKeys/#tag/ApplicationSSOPublicKeys/operation/deletejwk)
+ Key](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/ApplicationSSOPublicKeys/#tag/ApplicationSSOPublicKeys/operation/deletejwk)
and re-add the key with a `kid`.
operationId: addJwk
requestBody:
@@ -1161,13 +1161,13 @@ paths:
> **Note:** To update an Application with the newly generated key
credential, use the [Replace an
- Application](/openapi/okta-management/management/tag/Application/#tag/Application/operation/replaceApplication)
+ Application](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Application/#tag/Application/operation/replaceApplication)
request with the new
- [credentials.signing.kid](/openapi/okta-management/management/tag/Application/#tag/Application/operation/replaceApplication!path=4/credentials/signing/kid&t=request)
+ [credentials.signing.kid](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Application/#tag/Application/operation/replaceApplication!path=4/credentials/signing/kid&t=request)
value in the request body. You can provide just the [Signing Credential
- object](/openapi/okta-management/management/tag/Application/#tag/Application/operation/replaceApplication!path=4/credentials/signing&t=request)
+ object](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Application/#tag/Application/operation/replaceApplication!path=4/credentials/signing&t=request)
instead of the entire [Application Credential
- object](/openapi/okta-management/management/tag/Application/#tag/Application/operation/replaceApplication!path=4/credentials&t=request).
+ object](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Application/#tag/Application/operation/replaceApplication!path=4/credentials&t=request).
operationId: generateApplicationKey
parameters:
- name: validityYears
@@ -1347,7 +1347,7 @@ paths:
you attempt to create more than two Secret objects.
> **Note:** This API lets you bring your own secret. If
- [token_endpoint_auth_method](/openapi/okta-management/management/tag/Application/#tag/Application/operation/createApplication!path=4/credentials/oauthClient/token_endpoint_auth_method&t=request)
+ [token_endpoint_auth_method](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Application/#tag/Application/operation/createApplication!path=4/credentials/oauthClient/token_endpoint_auth_method&t=request)
of the app is `client_secret_jwt`, then the minimum length of
`client_secret` is 32 characters. If no secret is specified in the
request, Okta adds a new system-generated secret.
@@ -1772,7 +1772,7 @@ paths:
for the app.
> To set up provisioning, see [Update the default provisioning
- connection](/openapi/okta-management/management/tag/ApplicationConnections/#tag/ApplicationConnections/operation/updateDefaultProvisioningConnectionForApplication).
+ connection](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/ApplicationConnections/#tag/ApplicationConnections/operation/updateDefaultProvisioningConnectionForApplication).
operationId: listFeaturesForApplication
responses:
'200':
@@ -2517,7 +2517,7 @@ paths:
This filter only supports the `startsWith` operation that matches
the `q` string against the beginning of the [group
- name](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/Group/#tag/Group/operation/listGroups!c=200&path=profile/name&t=response).
+ name](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Group/#tag/Group/operation/listGroups!c=200&path=profile/name&t=response).
schema:
type: string
example: test
@@ -2598,13 +2598,13 @@ paths:
summary: Assign an application group
description: >-
Assigns a
- [Group](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/Group/)
+ [Group](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Group/)
to an app, which in turn assigns the app to each
- [User](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/)
+ [User](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/)
that belongs to the group.
The resulting application user
- [scope](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/ApplicationUsers/#tag/ApplicationUsers/operation/listApplicationUsers!c=200&path=scope&t=response)
+ [scope](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/ApplicationUsers/#tag/ApplicationUsers/operation/listApplicationUsers!c=200&path=scope&t=response)
is `GROUP` since the assignment was from the group membership.
operationId: assignGroupToApplication
x-codegen-request-body-name: applicationGroupAssignment
@@ -2851,7 +2851,7 @@ paths:
summary: Assign an authentication policy
description: >-
Assigns an app to an [authentication
- policy](/openapi/okta-management/management/tag/Policy/), identified by
+ policy](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Policy/), identified by
`policyId`.
If the app was previously assigned to another policy, this operation
@@ -2984,7 +2984,7 @@ paths:
Lists all refresh tokens for an app
- > **Note:** The results are [paginated](/#pagination) according to the
+ > **Note:** The results are [paginated]https://developer.okta.com/docs/api#pagination according to the
`limit` parameter.
> If there are multiple pages of results, the Link header contains a
@@ -3394,7 +3394,7 @@ components:
Enabled app features
> **Note:** See [Application
- Features](/openapi/okta-management/management/tag/ApplicationFeatures/)
+ Features](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/ApplicationFeatures/)
for app provisioning features.
readOnly: true
items:
@@ -3590,14 +3590,14 @@ components:
Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06)
specification. If the `expand=user/{userId}` query parameter is
specified, then the assigned [Application
- User](/openapi/okta-management/management/tag/ApplicationUsers/) is
+ User](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/ApplicationUsers/) is
embedded.
properties:
user:
type: object
description: >-
The specified [Application
- User](/openapi/okta-management/management/tag/ApplicationUsers/)
+ User](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/ApplicationUsers/)
assigned to the app
additionalProperties:
type: object
@@ -4318,7 +4318,7 @@ components:
type: string
description: >-
ID of the
- [group](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/Group/)
+ [group](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Group/)
readOnly: true
example: 00g4hb1HChfUriNgW0g4
lastUpdated:
@@ -4331,7 +4331,7 @@ components:
Priority assigned to the group. If an app has more than one group
assigned to the same user, then the group with the higher priority
has its profile applied to the [application
- user](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/ApplicationUsers/).
+ user](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/ApplicationUsers/).
If a priority value isn't specified, then the next highest priority
is assigned by default.
@@ -4352,7 +4352,7 @@ components:
specification.
If the `expand=group` query parameter is specified, then the
- [group](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/Group/)
+ [group](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Group/)
object is embedded.
If the `expand=metadata` query parameter is specified, then the
@@ -5255,12 +5255,12 @@ components:
GroupAssignmentProfile:
description: >-
Specifies the profile properties applied to [application
- users](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/ApplicationUsers/)
+ users](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/ApplicationUsers/)
that are assigned to the app through group membership.
Some reference properties are imported from the target app and can't be
configured. See
- [profile](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#tag/User/operation/getUser!c=200&path=profile&t=response).
+ [profile](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#tag/User/operation/getUser!c=200&path=profile&t=response).
additionalProperties: true
type: object
HrefObjectAppLink:
@@ -5329,9 +5329,9 @@ components:
Specifies a user's credentials for the app.
This parameter can be omitted for apps with [sign-on
- mode](/openapi/okta-management/management/tag/Application/#tag/Application/operation/getApplication!c=200&path=0/signOnMode&t=response)
+ mode](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Application/#tag/Application/operation/getApplication!c=200&path=0/signOnMode&t=response)
(`signOnMode`) or [authentication
- schemes](/openapi/okta-management/management/tag/Application/#tag/Application/operation/getApplication!c=200&path=0/credentials/scheme&t=response)
+ schemes](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Application/#tag/Application/operation/getApplication!c=200&path=0/credentials/scheme&t=response)
(`credentials.scheme`) that don't require credentials.
type: object
properties:
@@ -5344,13 +5344,13 @@ components:
> **Note:** The
- [userNameTemplate](/openapi/okta-management/management/tag/Application/#tag/Application/operation/createApplication!path=0/credentials/userNameTemplate&t=request)
+ [userNameTemplate](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Application/#tag/Application/operation/createApplication!path=0/credentials/userNameTemplate&t=request)
in the application object defines the default username generated
when a user is assigned to that app.
> If you attempt to assign a username or password to an app with an
incompatible [authentication
- scheme](/openapi/okta-management/management/tag/Application/#tag/Application/operation/createApplication!path=0/credentials/scheme&t=request),
+ scheme](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Application/#tag/Application/operation/createApplication!path=0/credentials/scheme&t=request),
the following error is returned:
> "Credentials should not be set on this resource based on the
@@ -5369,7 +5369,7 @@ components:
target app and can't be configured.
See
- [profile](/openapi/okta-management/management/tag/User/#tag/User/operation/getUser!c=200&path=profile&t=response).
+ [profile](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#tag/User/operation/getUser!c=200&path=profile&t=response).
additionalProperties: true
type: object
AppUserStatus:
@@ -5501,7 +5501,7 @@ components:
conditional updates. As long as you're the only user updating the the
user profile, Okta recommends you fetch the most recent profile with
[Retrieve an Application
- User](/openapi/okta-management/management/tag/ApplicationUsers/#tag/ApplicationUsers/operation/getApplicationUser),
+ User](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/ApplicationUsers/#tag/ApplicationUsers/operation/getApplicationUser),
apply your profile update, and then `POST` back the updated profile.
type: object
properties:
@@ -5575,7 +5575,7 @@ components:
- $ref: '#/components/schemas/HrefObject'
- description: >-
Link to the [Application
- Groups](/openapi/okta-management/management/tag/ApplicationGroups/#tag/ApplicationGroups/operation/listApplicationGroupAssignments)
+ Groups](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/ApplicationGroups/#tag/ApplicationGroups/operation/listApplicationGroupAssignments)
resource
HelpLink:
allOf:
@@ -5586,7 +5586,7 @@ components:
- $ref: '#/components/schemas/HrefObject'
- description: >-
Link to the [SAML
- metadata](/openapi/okta-management/management/tag/ApplicationSSO/#tag/ApplicationSSO/operation/previewSAMLmetadataForApplication)
+ metadata](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/ApplicationSSO/#tag/ApplicationSSO/operation/previewSAMLmetadataForApplication)
for SSO
HrefObjectSelfLink:
allOf:
@@ -5597,7 +5597,7 @@ components:
- $ref: '#/components/schemas/HrefObject'
- description: >-
Link to the [Application
- Users](/openapi/okta-management/management/tag/ApplicationUsers/#tag/ApplicationUsers/operation/listApplicationUsers)
+ Users](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/ApplicationUsers/#tag/ApplicationUsers/operation/listApplicationUsers)
resource
ProvisioningConnectionAuthScheme:
description: Defines the method of authentication
@@ -5880,7 +5880,7 @@ components:
AUTO: >-
Okta manages key rotation for the provisioning connection. Use the
[Retrieve a JWKS for the default provisioning
- connection](/openapi/okta-management/management/tag/ApplicationConnections/#tag/ApplicationConnections/operation/getUserProvisioningConnectionJWKS)
+ connection](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/ApplicationConnections/#tag/ApplicationConnections/operation/getUserProvisioningConnectionJWKS)
endpoint for the latest key credentials.
MANUAL: >-
You need to rotate the keys for your provisioning connection manually
@@ -6044,7 +6044,7 @@ components:
eq "{userId}"` filter query for the same user.
Returns the assigned [application
- user](/openapi/okta-management/management/tag/ApplicationUsers/) in the
+ user](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/ApplicationUsers/) in the
`_embedded` property.
schema:
type: string
@@ -6147,7 +6147,7 @@ components:
`next` link that you need to use as an opaque value (follow it, don't
parse it).
- See [Pagination](/#pagination).
+ See [Pagination]https://developer.okta.com/docs/api#pagination.
examples:
min:
value: 20
@@ -6169,7 +6169,7 @@ components:
in: query
description: >-
An optional query parameter to return the corresponding assigned
- [group](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/Group/)
+ [group](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Group/)
or
the group assignment metadata details in the `_embedded` property.
@@ -6196,7 +6196,7 @@ components:
in: query
description: >-
An optional query parameter to return the corresponding assigned
- [group](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/Group/)
+ [group](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Group/)
or
the group assignment metadata details in the `_embedded` property.
@@ -6224,7 +6224,7 @@ components:
description: >-
Specifies the pagination cursor for the next page of results. Treat this
as an opaque value obtained through the next link relationship. See
- [Pagination](/#pagination).
+ [Pagination]https://developer.okta.com/docs/api#pagination.
schema:
type: string
example: 16275000448691
@@ -6261,7 +6261,7 @@ components:
`next` link that you need to use as an opaque value (follow it, don't
parse it).
- See [Pagination](/#pagination).
+ See [Pagination]https://developer.okta.com/docs/api#pagination.
queryAppUserQ:
name: q
in: query
@@ -6286,7 +6286,7 @@ components:
in: query
description: >-
An optional query parameter to return the corresponding
- [User](/openapi/okta-management/management/tag/User/) object in the
+ [User](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/) object in the
`_embedded` property.
Valid value: `user`
diff --git a/provider-dev/openapi/src/okta/v00.00.00000/services/authorizationservers.yaml b/provider-dev/openapi/src/okta/v00.00.00000/services/authorizationservers.yaml
index 8f5c939..d890bb4 100644
--- a/provider-dev/openapi/src/okta/v00.00.00000/services/authorizationservers.yaml
+++ b/provider-dev/openapi/src/okta/v00.00.00000/services/authorizationservers.yaml
@@ -556,7 +556,7 @@ paths:
> **Note:** To list a specific user's client resources for which they
have tokens or grants, use the [List all clients endpoint in the User
Resources
- API](/openapi/okta-management/management/tag/UserResources/#tag/UserResources/operation/listUserClients).
+ API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserResources/#tag/UserResources/operation/listUserClients).
operationId: listOAuth2ClientsForAuthorizationServer
responses:
'200':
@@ -1482,10 +1482,10 @@ paths:
> **Note:** This API doesn't allow you to add a key if the existing key
doesn't have a `kid`. Use the [Replace an Authorization
- Server](/openapi/okta-management/management/tag/AuthorizationServer/#tag/AuthorizationServer/operation/replaceAuthorizationServer)
+ Server](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/AuthorizationServer/#tag/AuthorizationServer/operation/replaceAuthorizationServer)
operation to update the JWKS or [Delete a Custom Authorization Server
Public JSON Web
- Key](/openapi/okta-management/management/tag/OAuth2ResourceServerCredentialsKeys/#tag/OAuth2ResourceServerCredentialsKeys/operation/deleteOAuth2ResourceServerJsonWebKey)
+ Key](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/OAuth2ResourceServerCredentialsKeys/#tag/OAuth2ResourceServerCredentialsKeys/operation/deleteOAuth2ResourceServerJsonWebKey)
and re-add the key with a `kid`.
> **Note:** This API doesn't allow you to add a key with an ACTIVE
diff --git a/provider-dev/openapi/src/okta/v00.00.00000/services/brands.yaml b/provider-dev/openapi/src/okta/v00.00.00000/services/brands.yaml
index 0244363..fa1dbda 100644
--- a/provider-dev/openapi/src/okta/v00.00.00000/services/brands.yaml
+++ b/provider-dev/openapi/src/okta/v00.00.00000/services/brands.yaml
@@ -894,7 +894,7 @@ paths:
type: string
description: >-
The pagination header containing links to the current and next
- page of results. See [Pagination](/#pagination) for more
+ page of results. See [Pagination]https://developer.okta.com/docs/api#pagination for more
information.
'403':
$ref: '#/components/responses/ErrorAccessDenied403'
diff --git a/provider-dev/openapi/src/okta/v00.00.00000/services/devices.yaml b/provider-dev/openapi/src/okta/v00.00.00000/services/devices.yaml
index 3013ee4..eb514ba 100644
--- a/provider-dev/openapi/src/okta/v00.00.00000/services/devices.yaml
+++ b/provider-dev/openapi/src/okta/v00.00.00000/services/devices.yaml
@@ -13,7 +13,7 @@ paths:
>**Note:** To list all devices enrolled by a user, use the [List all
devices endpoint in the User Resources
- API](/openapi/okta-management/management/tag/UserResources/#tag/UserResources/operation/listUserDevices).
+ API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserResources/#tag/UserResources/operation/listUserDevices).
You can return a subset of devices that match a supported search
@@ -53,7 +53,7 @@ paths:
description: >-
The cursor to use for pagination. It is an opaque string that
specifies your current location in the list and is obtained from
- the `Link` response header. See [Pagination](/#pagination) for
+ the `Link` response header. See [Pagination]https://developer.okta.com/docs/api#pagination for
more information.
example: 200u3des4afA47rYJu1d7
- name: limit
@@ -190,7 +190,7 @@ paths:
Deletes (permanently) a device by `deviceId` if it has a status of
`DEACTIVATED`. You can transition the device to `DEACTIVATED` status
using the [Deactivate a
- Device](/openapi/okta-management/management/tag/Device/#tag/Device/operation/deactivateDevice)
+ Device](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Device/#tag/Device/operation/deactivateDevice)
endpoint.
This request is destructive and deletes all of the profile data related
@@ -663,7 +663,7 @@ components:
type: string
description: >-
The ID of the realm in which the user is residing. See
- [Realms](/openapi/okta-management/management/tag/Realm/).
+ [Realms](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Realm/).
example: guo1bfiNtSnZYILxO0g4
readOnly: true
status:
@@ -690,7 +690,7 @@ components:
description: >-
The user type that determines the schema for the user's profile. The
`type` property is a map that identifies the [User
- Types](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserType/#tag/UserType).
+ Types](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserType/#tag/UserType).
Currently it contains a single element, `id`. It can be specified
@@ -728,9 +728,9 @@ components:
For a collection of users, the links object contains only the `self`
link. Operations that return a collection of users include [List all
- users](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#tag/User/operation/listUsers)
+ users](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#tag/User/operation/listUsers)
and [List all group member
- users](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/Group/#tag/Group/operation/listGroupUsers).
+ users](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Group/#tag/Group/operation/listGroupUsers).
allOf:
- $ref: '#/components/schemas/LinksSelf'
- type: object
@@ -908,7 +908,7 @@ components:
[pattern](https://developer.okta.com/docs/reference/api/schemas/#login-pattern-validation)
for `login`. You can use the Profile Editor in the Admin Console or the
[Schemas
- API](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/UISchema/#tag/UISchema)
+ API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UISchema/#tag/UISchema)
to make schema modifications.
@@ -916,7 +916,7 @@ components:
the custom property to the user profile schema before you reference it.
You can use the Profile Editor in the Admin Console or the [Schemas
- API](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/UISchema/#tag/UISchema)
+ API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UISchema/#tag/UISchema)
to manage schema extensions.
@@ -1023,7 +1023,7 @@ components:
that include @-signs. (By default, usernames must be formatted as
email addresses and thus always include @-signs. You can remove that
restriction using either the Admin Console or the [Schemas
- API](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/Schema/).
+ API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Schema/).
Users can sign in with their non-qualified short name (for example:
isaac.brock with username isaac.brock@example.com) as long as the
short name is still unique within the organization.
@@ -1264,7 +1264,7 @@ components:
from some other store. Okta supports the BCRYPT, SHA-512, SHA-256,
SHA-1, MD5, and PBKDF2 hash functions for password import.
A hashed password may be specified in a password object when creating or updating a user, but not for other operations.
- See the [Create user with imported hashed password](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#create-user-with-imported-hashed-password) description. When you update a user with a hashed password, the user must be in the `STAGED` status.
+ See the [Create user with imported hashed password](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#create-user-with-imported-hashed-password) description. When you update a user with a hashed password, the user must be in the `STAGED` status.
type: object
properties:
algorithm:
@@ -1322,7 +1322,7 @@ components:
PasswordCredentialHook:
description: >-
Specify a [password import inline
- hook](/openapi/okta-management/management/tag/InlineHook/#tag/InlineHook/operation/createPasswordImportInlineHook)
+ hook](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/InlineHook/#tag/InlineHook/operation/createPasswordImportInlineHook)
to trigger verification of the user's password the first time the user
signs in. This allows an existing password to be imported into Okta
directly from some other store.
diff --git a/provider-dev/openapi/src/okta/v00.00.00000/services/eventhooks.yaml b/provider-dev/openapi/src/okta/v00.00.00000/services/eventhooks.yaml
index 36d00b3..95a3ef1 100644
--- a/provider-dev/openapi/src/okta/v00.00.00000/services/eventhooks.yaml
+++ b/provider-dev/openapi/src/okta/v00.00.00000/services/eventhooks.yaml
@@ -516,7 +516,7 @@ components:
> **Note:** Event hook filters is a [self-service Early Access
- (EA)](/openapi/okta-management/guides/release-lifecycle/#early-access-ea)
+ (EA)](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/guides/release-lifecycle/#early-access-ea)
to enable.
If you want to disable this feature, it's recommended to first remove
diff --git a/provider-dev/openapi/src/okta/v00.00.00000/services/features.yaml b/provider-dev/openapi/src/okta/v00.00.00000/services/features.yaml
index 77b1e6d..bbc810f 100644
--- a/provider-dev/openapi/src/okta/v00.00.00000/services/features.yaml
+++ b/provider-dev/openapi/src/okta/v00.00.00000/services/features.yaml
@@ -179,7 +179,7 @@ paths:

operationId: updateFeatureLifecycle
parameters:
diff --git a/provider-dev/openapi/src/okta/v00.00.00000/services/groups.yaml b/provider-dev/openapi/src/okta/v00.00.00000/services/groups.yaml
index f835844..dd627ea 100644
--- a/provider-dev/openapi/src/okta/v00.00.00000/services/groups.yaml
+++ b/provider-dev/openapi/src/okta/v00.00.00000/services/groups.yaml
@@ -13,11 +13,11 @@ paths:
> **Note:** To list all groups belonging to a member, use the [List all
groups endpoint in the User Resources
- API](/openapi/okta-management/management/tag/UserResources/#tag/UserResources/operation/listUserGroups).
+ API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserResources/#tag/UserResources/operation/listUserGroups).
The number of groups returned depends on the specified
- [`limit`](/openapi/okta-management/management/tag/Group/#tag/Group/operation/listGroups!in=query&path=limit&t=request),
+ [`limit`](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Group/#tag/Group/operation/listGroups!in=query&path=limit&t=request),
if you have a search, filter, and/or query parameter set, and if that
parameter is not null. We recommend using a limit less than or equal to
200.
@@ -58,7 +58,7 @@ paths:
`lastMembershipUpdated`, `lastUpdated`, and `type`.
* The
- [source](/openapi/okta-management/management/tag/Group/#tag/Group/operation/listGroups!c=200&path=_links/source&t=response)
+ [source](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Group/#tag/Group/operation/listGroups!c=200&path=_links/source&t=response)
of groups with type of `APP_GROUP`, accessed as `source.id`.
@@ -193,7 +193,7 @@ paths:
If specified, additional metadata is included in the response.
Possible values are `stats` and `app`. This additional metadata is
listed in the
- [`_embedded`](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/Group/#tag/Group/operation/addGroup!c=200&path=_embedded&t=response)
+ [`_embedded`](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Group/#tag/Group/operation/addGroup!c=200&path=_embedded&t=response)
property of the response.
@@ -672,7 +672,7 @@ paths:
summary: List all assigned apps
description: >-
Lists all apps that are assigned to a group. See [Application Groups
- API](/openapi/okta-management/management/tag/ApplicationGroups/).
+ API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/ApplicationGroups/).
operationId: listAssignedApplicationsForGroup
parameters:
- name: after
@@ -885,14 +885,14 @@ paths:
summary: Assign a role to a group
description: >-
Assigns a [standard
- role](/openapi/okta-management/guides/roles/#standard-roles) to a group.
+ role](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/guides/roles/#standard-roles) to a group.
You can also assign a custom role to a group, but the preferred method
to assign a custom role to a group is to create a binding between the
custom role, the resource set, and the group. See [Create a role
resource set
- binding](/openapi/okta-management/management/tag/RoleDResourceSetBinding/#tag/RoleDResourceSetBinding/operation/createResourceSetBinding).
+ binding](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/RoleDResourceSetBinding/#tag/RoleDResourceSetBinding/operation/createResourceSetBinding).
> **Notes:**
@@ -1110,7 +1110,7 @@ paths:
> If you need a role assignment that applies to all apps, delete the
`APP_ADMIN` role assignment with the target and create another one. See
[Unassign a group
- role](/openapi/okta-management/management/tag/RoleAssignmentBGroup/#tag/RoleAssignmentBGroup/operation/unassignRoleFromGroup).
+ role](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/RoleAssignmentBGroup/#tag/RoleAssignmentBGroup/operation/unassignRoleFromGroup).
operationId: unassignAppTargetToAdminRoleForGroup
responses:
'204':
@@ -1187,7 +1187,7 @@ paths:
> If you need a role assignment that applies to all apps, delete the
`APP_ADMIN` role assignment with the target and create another one. See
[Unassign a group
- role](/openapi/okta-management/management/tag/RoleAssignmentBGroup/#tag/RoleAssignmentBGroup/operation/unassignRoleFromGroup).
+ role](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/RoleAssignmentBGroup/#tag/RoleAssignmentBGroup/operation/unassignRoleFromGroup).
operationId: unassignAppInstanceTargetToAppAdminRoleForGroup
responses:
'204':
@@ -1218,7 +1218,7 @@ paths:
summary: List all group role group targets
description: >-
Lists all group targets for a
- [`USER_ADMIN`](/openapi/okta-management/guides/roles/#standard-roles),
+ [`USER_ADMIN`](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/guides/roles/#standard-roles),
`HELP_DESK_ADMIN`, or `GROUP_MEMBERSHIP_ADMIN` role assignment to a
group.
@@ -1260,7 +1260,7 @@ paths:
summary: Assign a group role group target
description: >-
Assigns a group target to a
- [`USER_ADMIN`](/openapi/okta-management/guides/roles/#standard-roles),
+ [`USER_ADMIN`](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/guides/roles/#standard-roles),
`HELP_DESK_ADMIN`, or `GROUP_MEMBERSHIP_ADMIN` role assignment to a
group.
@@ -1291,7 +1291,7 @@ paths:
summary: Unassign a group role group target
description: >-
Unassigns a group target from a
- [`USER_ADMIN`](/openapi/okta-management/guides/roles/#standard-roles),
+ [`USER_ADMIN`](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/guides/roles/#standard-roles),
`HELP_DESK_ADMIN`, or `GROUP_MEMBERSHIP_ADMIN` role assignment to a
group.
operationId: unassignGroupTargetFromGroupAdminRole
@@ -1477,7 +1477,7 @@ components:
_links:
description: >-
[Discoverable
- resources](/openapi/okta-management/management/tag/Group/#tag/Group/operation/listGroups!c=200&path=_links&t=response)
+ resources](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Group/#tag/Group/operation/listGroups!c=200&path=_links&t=response)
related to the group
allOf:
- $ref: '#/components/schemas/LinksSelf'
@@ -1578,7 +1578,7 @@ components:
Enabled app features
> **Note:** See [Application
- Features](/openapi/okta-management/management/tag/ApplicationFeatures/)
+ Features](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/ApplicationFeatures/)
for app provisioning features.
readOnly: true
items:
@@ -1774,14 +1774,14 @@ components:
Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06)
specification. If the `expand=user/{userId}` query parameter is
specified, then the assigned [Application
- User](/openapi/okta-management/management/tag/ApplicationUsers/) is
+ User](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/ApplicationUsers/) is
embedded.
properties:
user:
type: object
description: >-
The specified [Application
- User](/openapi/okta-management/management/tag/ApplicationUsers/)
+ User](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/ApplicationUsers/)
assigned to the app
additionalProperties:
type: object
@@ -1946,7 +1946,7 @@ components:
type: string
description: >-
Specify the standard or IAM-based role type. See [standard
- roles](/openapi/okta-management/guides/roles/#standard-roles).
+ roles](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/guides/roles/#standard-roles).
CustomRoleAssignmentSchema:
title: Custom Role
type: object
@@ -1984,7 +1984,7 @@ components:
readOnly: true
description: >-
Features supported by the app. See app
- [features](/openapi/okta-management/management/tag/Application/#tag/Application/operation/listApplications!c=200&path=0/features&t=response).
+ [features](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Application/#tag/Application/operation/listApplications!c=200&path=0/features&t=response).
items:
type: string
id:
@@ -2008,7 +2008,7 @@ components:
type: array
description: >-
Authentication mode for the app. See app
- [signOnMode](/openapi/okta-management/management/tag/Application/#tag/Application/operation/listApplications!c=200&path=0/signOnMode&t=response).
+ [signOnMode](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Application/#tag/Application/operation/listApplications!c=200&path=0/signOnMode&t=response).
items:
type: string
status:
@@ -2080,7 +2080,7 @@ components:
type: string
description: >-
The ID of the realm in which the user is residing. See
- [Realms](/openapi/okta-management/management/tag/Realm/).
+ [Realms](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Realm/).
example: guo1bfiNtSnZYILxO0g4
readOnly: true
status:
@@ -2107,7 +2107,7 @@ components:
description: >-
The user type that determines the schema for the user's profile. The
`type` property is a map that identifies the [User
- Types](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserType/#tag/UserType).
+ Types](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserType/#tag/UserType).
Currently it contains a single element, `id`. It can be specified
@@ -2145,9 +2145,9 @@ components:
For a collection of users, the links object contains only the `self`
link. Operations that return a collection of users include [List all
- users](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#tag/User/operation/listUsers)
+ users](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#tag/User/operation/listUsers)
and [List all group member
- users](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/Group/#tag/Group/operation/listGroupUsers).
+ users](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Group/#tag/Group/operation/listGroupUsers).
allOf:
- $ref: '#/components/schemas/LinksSelf'
- type: object
@@ -2223,7 +2223,7 @@ components:
You can extend group profiles with custom properties, but you must first
add the properties to the group profile schema before you can reference
them. Use the Profile Editor in the Admin Console or the [Schemas
- API](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/Schema/)to
+ API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Schema/)to
manage schema extensions.
@@ -2681,7 +2681,7 @@ components:
[pattern](https://developer.okta.com/docs/reference/api/schemas/#login-pattern-validation)
for `login`. You can use the Profile Editor in the Admin Console or the
[Schemas
- API](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/UISchema/#tag/UISchema)
+ API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UISchema/#tag/UISchema)
to make schema modifications.
@@ -2689,7 +2689,7 @@ components:
the custom property to the user profile schema before you reference it.
You can use the Profile Editor in the Admin Console or the [Schemas
- API](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/UISchema/#tag/UISchema)
+ API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UISchema/#tag/UISchema)
to manage schema extensions.
@@ -2796,7 +2796,7 @@ components:
that include @-signs. (By default, usernames must be formatted as
email addresses and thus always include @-signs. You can remove that
restriction using either the Admin Console or the [Schemas
- API](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/Schema/).
+ API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Schema/).
Users can sign in with their non-qualified short name (for example:
isaac.brock with username isaac.brock@example.com) as long as the
short name is still unique within the organization.
@@ -3022,7 +3022,7 @@ components:
- $ref: '#/components/schemas/HrefObject'
- description: >-
Link to the [Application
- Groups](/openapi/okta-management/management/tag/ApplicationGroups/#tag/ApplicationGroups/operation/listApplicationGroupAssignments)
+ Groups](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/ApplicationGroups/#tag/ApplicationGroups/operation/listApplicationGroupAssignments)
resource
HelpLink:
allOf:
@@ -3033,14 +3033,14 @@ components:
- $ref: '#/components/schemas/HrefObject'
- description: >-
Link to the [SAML
- metadata](/openapi/okta-management/management/tag/ApplicationSSO/#tag/ApplicationSSO/operation/previewSAMLmetadataForApplication)
+ metadata](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/ApplicationSSO/#tag/ApplicationSSO/operation/previewSAMLmetadataForApplication)
for SSO
UsersLink:
allOf:
- $ref: '#/components/schemas/HrefObject'
- description: >-
Link to the [Application
- Users](/openapi/okta-management/management/tag/ApplicationUsers/#tag/ApplicationUsers/operation/listApplicationUsers)
+ Users](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/ApplicationUsers/#tag/ApplicationUsers/operation/listApplicationUsers)
resource
HrefObjectAssigneeLink:
allOf:
@@ -3167,7 +3167,7 @@ components:
from some other store. Okta supports the BCRYPT, SHA-512, SHA-256,
SHA-1, MD5, and PBKDF2 hash functions for password import.
A hashed password may be specified in a password object when creating or updating a user, but not for other operations.
- See the [Create user with imported hashed password](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#create-user-with-imported-hashed-password) description. When you update a user with a hashed password, the user must be in the `STAGED` status.
+ See the [Create user with imported hashed password](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#create-user-with-imported-hashed-password) description. When you update a user with a hashed password, the user must be in the `STAGED` status.
type: object
properties:
algorithm:
@@ -3225,7 +3225,7 @@ components:
PasswordCredentialHook:
description: >-
Specify a [password import inline
- hook](/openapi/okta-management/management/tag/InlineHook/#tag/InlineHook/operation/createPasswordImportInlineHook)
+ hook](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/InlineHook/#tag/InlineHook/operation/createPasswordImportInlineHook)
to trigger verification of the user's password the first time the user
signs in. This allows an existing password to be imported into Okta
directly from some other store.
diff --git a/provider-dev/openapi/src/okta/v00.00.00000/services/iam.yaml b/provider-dev/openapi/src/okta/v00.00.00000/services/iam.yaml
index fc7ca1c..51f2b4d 100644
--- a/provider-dev/openapi/src/okta/v00.00.00000/services/iam.yaml
+++ b/provider-dev/openapi/src/okta/v00.00.00000/services/iam.yaml
@@ -400,13 +400,13 @@ paths:
summary: Create a resource set
description: >-
Creates a new resource set. See [Supported
- resources](/openapi/okta-management/guides/roles/#supported-resources).
+ resources](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/guides/roles/#supported-resources).
> **Note:** The maximum number of `resources` allowed in a resource set
object is 1000. Resources are identified by either an Okta Resource Name
(ORN) or by a REST URL format. See [Okta Resource
- Name](/openapi/okta-management/guides/roles/#okta-resource-name-orn).
+ Name](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/guides/roles/#okta-resource-name-orn).
operationId: createResourceSet
x-codegen-request-body-name: instance
requestBody:
@@ -1657,7 +1657,7 @@ components:
The endpoint (URL) that references all resource objects included in
the resource set. Resources are identified by either an Okta
Resource Name (ORN) or by a REST URL format. See [Okta Resource
- Name](/openapi/okta-management/guides/roles/#okta-resource-name-orn).
+ Name](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/guides/roles/#okta-resource-name-orn).
maximum: 1000
items:
type: string
@@ -1920,7 +1920,7 @@ components:
type: array
description: >-
Array of permissions that the role grants. See
- [Permissions](/openapi/okta-management/guides/permissions).
+ [Permissions](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/guides/permissions).
required:
- label
- description
@@ -1978,7 +1978,7 @@ components:
type: array
description: >-
Array of permissions assigned to the role. See
- [Permissions](/openapi/okta-management/guides/permissions).
+ [Permissions](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/guides/permissions).
items:
$ref: '#/components/schemas/Permission'
Permission:
@@ -1995,7 +1995,7 @@ components:
type: string
description: >-
The assigned Okta
- [permission](/openapi/okta-management/guides/permissions)
+ [permission](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/guides/permissions)
readOnly: true
example: okta.users.read
lastUpdated:
@@ -2383,7 +2383,7 @@ components:
type: string
example: okta.users.manage
required: true
- description: An Okta [permission](/openapi/okta-management/guides/permissions)
+ description: An Okta [permission](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/guides/permissions)
examples:
RoleAssignedUsersResponseExample:
value:
diff --git a/provider-dev/openapi/src/okta/v00.00.00000/services/identity_sources.yaml b/provider-dev/openapi/src/okta/v00.00.00000/services/identity_sources.yaml
index c11a363..5172d62 100644
--- a/provider-dev/openapi/src/okta/v00.00.00000/services/identity_sources.yaml
+++ b/provider-dev/openapi/src/okta/v00.00.00000/services/identity_sources.yaml
@@ -384,7 +384,7 @@ components:
Contains a set of external user attributes and their values that are
mapped to Okta standard and custom profile properties. See the
[`profile`
- object](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#tag/User/operation/getUser!c=200&path=profile&t=response)
+ object](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#tag/User/operation/getUser!c=200&path=profile&t=response)
and Declaration of a Custom Identity Source Schema in [Using anything as
a
source](https://help.okta.com/okta_help.htm?type=oie&id=ext-anything-as-a-source).
diff --git a/provider-dev/openapi/src/okta/v00.00.00000/services/idps.yaml b/provider-dev/openapi/src/okta/v00.00.00000/services/idps.yaml
index 5397ccd..a684681 100644
--- a/provider-dev/openapi/src/okta/v00.00.00000/services/idps.yaml
+++ b/provider-dev/openapi/src/okta/v00.00.00000/services/idps.yaml
@@ -106,7 +106,7 @@ paths:
You need to upload the whole trust chain as a single key using the [Key
Store
- API](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/IdentityProviderKeys/#tag/IdentityProviderKeys/operation/createIdentityProviderKey).
+ API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/IdentityProviderKeys/#tag/IdentityProviderKeys/operation/createIdentityProviderKey).
Depending on the information stored in the smart card, select the proper
[template](https://developer.okta.com/docs/reference/okta-expression-language/#idp-user-profile)
@@ -533,7 +533,7 @@ paths:
> **Note:** The private key isn't listed in the [signing key credentials
for the identity provider
- (IdP)](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/IdentityProviderSigningKeys/#tag/IdentityProviderSigningKeys/operation/listIdentityProviderSigningKeys)
+ (IdP)](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/IdentityProviderSigningKeys/#tag/IdentityProviderSigningKeys/operation/listIdentityProviderSigningKeys)
until it's published.
operationId: generateCsrForIdentityProvider
x-codegen-request-body-name: metadata
@@ -799,9 +799,9 @@ paths:
> **Note:** To update an IdP with the newly generated key credential,
[update your
- IdP](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/IdentityProvider/#tag/IdentityProvider/operation/replaceIdentityProvider)
+ IdP](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/IdentityProvider/#tag/IdentityProvider/operation/replaceIdentityProvider)
using the returned key's `kid` in the [signing
- credential](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/IdentityProvider/#tag/IdentityProvider/operation/replaceIdentityProvider!path=protocol/0/credentials/signing/kid&t=request).
+ credential](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/IdentityProvider/#tag/IdentityProvider/operation/replaceIdentityProvider!path=protocol/0/credentials/signing/kid&t=request).
operationId: generateIdentityProviderSigningKey
parameters:
- name: validityYears
@@ -1071,7 +1071,7 @@ paths:
API.
The [Name Identifier
- Format](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/IdentityProvider/#tag/IdentityProvider/operation/replaceIdentityProvider!path=protocol/0/settings&t=request)
+ Format](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/IdentityProvider/#tag/IdentityProvider/operation/replaceIdentityProvider!path=protocol/0/settings&t=request)
of the incoming assertion must be
`urn:oasis:names:tc:SAML:2.0:nameid-format:persistent`.
operationId: linkUserToIdentityProvider
@@ -1196,7 +1196,7 @@ components:
`type`.
For policy actions supported by each IdP type, see [IdP type policy
- actions](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/IdentityProvider/#tag/IdentityProvider/operation/createIdentityProvider!path=policy&t=request).
+ actions](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/IdentityProvider/#tag/IdentityProvider/operation/createIdentityProvider!path=policy&t=request).
| Type |
@@ -1874,7 +1874,7 @@ components:
delegated access from the user
> **Note:** The [IdP
- type](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/IdentityProvider/#tag/IdentityProvider/operation/createIdentityProvider!path=type&t=request)
+ type](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/IdentityProvider/#tag/IdentityProvider/operation/createIdentityProvider!path=type&t=request)
table lists the scopes that are supported for each IdP.
items:
type: string
@@ -2204,7 +2204,7 @@ components:
The IdP Authorization Server (AS) endpoints are currently defined as
part of the [IdP
- provider]((https://developer.okta.com/docs/api/openapi/okta-management/management/tag/IdentityProvider/#tag/IdentityProvider/operation/createIdentityProvider!path=type&t=request))
+ provider]((https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/IdentityProvider/#tag/IdentityProvider/operation/createIdentityProvider!path=type&t=request))
and are read-only.
type: object
properties:
@@ -2224,7 +2224,7 @@ components:
user.
> **Note:** The [identity provider
- type](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/IdentityProvider/#tag/IdentityProvider/operation/createIdentityProvider!path=type&t=request)
+ type](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/IdentityProvider/#tag/IdentityProvider/operation/createIdentityProvider!path=type&t=request)
table lists the scopes that are supported for each IdP.
items:
type: string
@@ -2335,12 +2335,12 @@ components:
The IdP user is automatically linked to an Okta user when the
transformed IdP user matches an existing Okta user according to
[subject match
- rules](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/IdentityProvider/#tag/IdentityProvider/operation/createIdentityProvider!path=policy/subject&t=request).
+ rules](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/IdentityProvider/#tag/IdentityProvider/operation/createIdentityProvider!path=policy/subject&t=request).
DISABLED: >-
Okta never attempts to link the IdP user to an existing Okta user, but
may still attempt to provision a new Okta user according to the
[provisioning action
- type](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/IdentityProvider/#tag/IdentityProvider/operation/createIdentityProvider!path=policy/provisioning/action&t=request).
+ type](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/IdentityProvider/#tag/IdentityProvider/operation/createIdentityProvider!path=policy/provisioning/action&t=request).
PolicyAccountLinkFilter:
description: >-
Specifies filters on which users are available for account linking by an
@@ -2534,7 +2534,7 @@ components:
The `destination` property is required if request signatures are
specified. See [SAML 2.0 Request Algorithm
- object](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/IdentityProvider/#tag/IdentityProvider/operation/createIdentityProvider!path=protocol/0/algorithms/request&t=request).
+ object](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/IdentityProvider/#tag/IdentityProvider/operation/createIdentityProvider!path=protocol/0/algorithms/request&t=request).
maxLength: 512
example: https://idp.example.com/saml2/sso
url:
diff --git a/provider-dev/openapi/src/okta/v00.00.00000/services/inlinehooks.yaml b/provider-dev/openapi/src/okta/v00.00.00000/services/inlinehooks.yaml
index a577a2e..1b83a67 100644
--- a/provider-dev/openapi/src/okta/v00.00.00000/services/inlinehooks.yaml
+++ b/provider-dev/openapi/src/okta/v00.00.00000/services/inlinehooks.yaml
@@ -15,12 +15,12 @@ paths:
following types are currently supported:
| Type Value | Name |
|------------------------------------|----------------------------------------------------------------|
- | `com.okta.import.transform` | [User import inline hook](/openapi/okta-management/management/tag/InlineHook/#tag/InlineHook/operation/createUserImportInlineHook) |
- | `com.okta.oauth2.tokens.transform` | [Token inline hook](/openapi/okta-management/management/tag/InlineHook/#tag/InlineHook/operation/createTokenInlineHook) |
- | `com.okta.saml.tokens.transform` | [SAML assertion inline hook](/openapi/okta-management/management/tag/InlineHook/#tag/InlineHook/operation/createSAMLAssertionInlineHook) |
- | `com.okta.telephony.provider` | [Telephony inline hook](/openapi/okta-management/management/tag/InlineHook/#tag/InlineHook/operation/createTelephonyInlineHook) |
- | `com.okta.user.credential.password.import` | [Password import inline hook](/openapi/okta-management/management/tag/InlineHook/#tag/InlineHook/operation/createPasswordImportInlineHook)|
- | `com.okta.user.pre-registration` | [Registration inline hook](/openapi/okta-management/management/tag/InlineHook/#tag/InlineHook/operation/create-registration-hook) |
+ | `com.okta.import.transform` | [User import inline hook](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/InlineHook/#tag/InlineHook/operation/createUserImportInlineHook) |
+ | `com.okta.oauth2.tokens.transform` | [Token inline hook](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/InlineHook/#tag/InlineHook/operation/createTokenInlineHook) |
+ | `com.okta.saml.tokens.transform` | [SAML assertion inline hook](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/InlineHook/#tag/InlineHook/operation/createSAMLAssertionInlineHook) |
+ | `com.okta.telephony.provider` | [Telephony inline hook](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/InlineHook/#tag/InlineHook/operation/createTelephonyInlineHook) |
+ | `com.okta.user.credential.password.import` | [Password import inline hook](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/InlineHook/#tag/InlineHook/operation/createPasswordImportInlineHook)|
+ | `com.okta.user.pre-registration` | [Registration inline hook](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/InlineHook/#tag/InlineHook/operation/create-registration-hook) |
operationId: listInlineHooks
parameters:
- $ref: '#/components/parameters/inlineHookType'
diff --git a/provider-dev/openapi/src/okta/v00.00.00000/services/integrations.yaml b/provider-dev/openapi/src/okta/v00.00.00000/services/integrations.yaml
index b7a1f1b..b0c446e 100644
--- a/provider-dev/openapi/src/okta/v00.00.00000/services/integrations.yaml
+++ b/provider-dev/openapi/src/okta/v00.00.00000/services/integrations.yaml
@@ -349,7 +349,7 @@ components:
description: >-
The list of Okta management scopes granted to the API Service
Integration instance. See [Okta management OAuth 2.0
- scopes](/oauth2/#okta-admin-management).
+ scopes]https://developer.okta.com/docs/api/oauth2/#okta-admin-management.
items:
type: string
example:
@@ -387,7 +387,7 @@ components:
description: >-
The list of Okta management scopes granted to the API Service
Integration instance. See [Okta management OAuth 2.0
- scopes](/oauth2/#okta-admin-management).
+ scopes]https://developer.okta.com/docs/api/oauth2/#okta-admin-management.
items:
type: string
example:
diff --git a/provider-dev/openapi/src/okta/v00.00.00000/services/logs.yaml b/provider-dev/openapi/src/okta/v00.00.00000/services/logs.yaml
index ce9222d..0762262 100644
--- a/provider-dev/openapi/src/okta/v00.00.00000/services/logs.yaml
+++ b/provider-dev/openapi/src/okta/v00.00.00000/services/logs.yaml
@@ -320,7 +320,7 @@ components:
zone:
description: >-
The `name` of the
- [Zone](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/NetworkZone/#tag/NetworkZone/operation/getNetworkZone)
+ [Zone](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/NetworkZone/#tag/NetworkZone/operation/getNetworkZone)
that the client's location is mapped to
type: string
readOnly: true
diff --git a/provider-dev/openapi/src/okta/v00.00.00000/services/logstreams.yaml b/provider-dev/openapi/src/okta/v00.00.00000/services/logstreams.yaml
index ae0fb7c..4e004f4 100644
--- a/provider-dev/openapi/src/okta/v00.00.00000/services/logstreams.yaml
+++ b/provider-dev/openapi/src/okta/v00.00.00000/services/logstreams.yaml
@@ -18,7 +18,7 @@ paths:
- name: filter
in: query
description: >-
- An expression that [filters](/#filter) the returned objects. You can
+ An expression that [filters]https://developer.okta.com/docs/api#filter the returned objects. You can
only use the `eq` operator on either the `status` or `type`
properties in the filter expression.
schema:
@@ -141,7 +141,7 @@ paths:
properties can't be modified after the log stream is initially created.
Use the [Retrieve the log stream schema for the schema
- type](/openapi/okta-management/management/tag/Schema/#tag/Schema/operation/getLogStreamSchema)
+ type](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Schema/#tag/Schema/operation/getLogStreamSchema)
request to determine which properties you can update for the specific
log stream type.
diff --git a/provider-dev/openapi/src/okta/v00.00.00000/services/mappings.yaml b/provider-dev/openapi/src/okta/v00.00.00000/services/mappings.yaml
index 9b9b329..5262f21 100644
--- a/provider-dev/openapi/src/okta/v00.00.00000/services/mappings.yaml
+++ b/provider-dev/openapi/src/okta/v00.00.00000/services/mappings.yaml
@@ -14,7 +14,7 @@ paths:
and/or `targetId`.
- The results are [paginated](/#pagination) according to the `limit`
+ The results are [paginated]https://developer.okta.com/docs/api#pagination according to the `limit`
parameter. If there are multiple pages of results, the Link header
contains a `next` link that you should treat as an opaque value (follow
it, don't parse it). See [Link
diff --git a/provider-dev/openapi/src/okta/v00.00.00000/services/meta.yaml b/provider-dev/openapi/src/okta/v00.00.00000/services/meta.yaml
index b0a7628..6c60d02 100644
--- a/provider-dev/openapi/src/okta/v00.00.00000/services/meta.yaml
+++ b/provider-dev/openapi/src/okta/v00.00.00000/services/meta.yaml
@@ -21,7 +21,7 @@ paths:
The [User
- Types](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserType/)
+ Types](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserType/)
feature does not extend to apps. All users assigned to a given app use
the same app user schema. Therefore, unlike the user schema operations,
the app user schema operations all specify `default` and don't accept a
@@ -72,7 +72,7 @@ paths:
The [User
- Types](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserType/)
+ Types](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserType/)
feature does not extend to apps. All users assigned to a given app use
the same app user schema. Therefore, unlike the user schema operations,
the app user schema operations all specify `default` and don't accept a
@@ -131,7 +131,7 @@ paths:
The [User
- Types](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserType/)
+ Types](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserType/)
feature does not extend to groups. All groups use the same group schema.
Unlike user schema operations, group schema operations all specify
`default` and don't accept a schema ID.
@@ -179,7 +179,7 @@ paths:
The [User
- Types](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserType/)
+ Types](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserType/)
feature does not extend to groups. All groups use the same group schema.
Unlike user schema operations, group schema operations all specify
`default` and don't accept a schema ID.
@@ -503,7 +503,7 @@ paths:
You can't remove a property from the default schema if it's being
referenced as a
- [`matchAttribute`](/openapi/okta-management/management/tag/IdentityProvider/#tag/IdentityProvider/operation/createIdentityProvider!path=policy/subject/matchAttribute&t=request)
+ [`matchAttribute`](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/IdentityProvider/#tag/IdentityProvider/operation/createIdentityProvider!path=policy/subject/matchAttribute&t=request)
in `SAML2` IdPs.
Currently, all validation of SAML assertions are only performed against
@@ -1775,7 +1775,7 @@ components:
**Note:** The `userType` field is an arbitrary string value and
isn't related to the newer [User
- Types](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserType/)
+ Types](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserType/)
feature.
zipCode:
allOf:
@@ -3522,3 +3522,16 @@ servers:
The domain of your organization. This can be a provided subdomain of
an official okta domain (okta.com, oktapreview.com, etc) or one of
your configured custom domains.
+definitions:
+ base:
+ type: object
+ description: "Dummy base definition for parser compatibility"
+ properties:
+ id:
+ type: string
+ custom:
+ type: object
+ description: "Dummy custom definition for parser compatibility"
+ properties:
+ name:
+ type: string
diff --git a/provider-dev/openapi/src/okta/v00.00.00000/services/oauth2.yaml b/provider-dev/openapi/src/okta/v00.00.00000/services/oauth2.yaml
index bda0d1e..f67e164 100644
--- a/provider-dev/openapi/src/okta/v00.00.00000/services/oauth2.yaml
+++ b/provider-dev/openapi/src/okta/v00.00.00000/services/oauth2.yaml
@@ -44,7 +44,7 @@ paths:
summary: Assign a client role
description: >-
Assigns a [standard
- role](/openapi/okta-management/guides/roles/#standard-roles) to a client
+ role](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/guides/roles/#standard-roles) to a client
app.
@@ -52,7 +52,7 @@ paths:
method to assign a custom role to a client is to create a binding
between the custom role, the resource set, and the client app. See
[Create a role resource set
- binding](/openapi/okta-management/management/tag/RoleDResourceSetBinding/#tag/RoleDResourceSetBinding/operation/createResourceSetBinding).
+ binding](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/RoleDResourceSetBinding/#tag/RoleDResourceSetBinding/operation/createResourceSetBinding).
> **Notes:**
@@ -268,7 +268,7 @@ paths:
> If you need a role assignment that applies to all apps, delete the
role assignment with the target and create another one. See [Unassign a
client
- role](/openapi/okta-management/management/tag/RoleAssignmentClient/#tag/RoleAssignmentClient/operation/deleteRoleFromClient).
+ role](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/RoleAssignmentClient/#tag/RoleAssignmentClient/operation/deleteRoleFromClient).
operationId: removeAppTargetRoleFromClient
responses:
'204':
@@ -344,7 +344,7 @@ paths:
> If you need a role assignment that applies to all the apps, delete the
role assignment with the instance target and create another one. See
[Unassign a client
- role](/openapi/okta-management/management/tag/RoleAssignmentClient/#tag/RoleAssignmentClient/operation/deleteRoleFromClient).
+ role](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/RoleAssignmentClient/#tag/RoleAssignmentClient/operation/deleteRoleFromClient).
operationId: removeAppTargetInstanceRoleForClient
responses:
'204':
@@ -375,7 +375,7 @@ paths:
summary: List all client role group targets
description: >-
Lists all group targets for a
- [`USER_ADMIN`](/openapi/okta-management/guides/roles/#standard-roles),
+ [`USER_ADMIN`](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/guides/roles/#standard-roles),
`HELP_DESK_ADMIN`, or `GROUP_MEMBERSHIP_ADMIN` role assignment to a
client. If the role isn't scoped to specific group targets, Okta returns
an empty array `[]`.
@@ -415,7 +415,7 @@ paths:
summary: Assign a client role group target
description: >-
Assigns a group target to a
- [`USER_ADMIN`](/openapi/okta-management/guides/roles/#standard-roles),
+ [`USER_ADMIN`](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/guides/roles/#standard-roles),
`HELP_DESK_ADMIN`, or `GROUP_MEMBERSHIP_ADMIN` role assignment to a
client app. When you assign the first group target, you reduce the scope
of the role assignment. The role no longer applies to all targets, but
@@ -451,7 +451,7 @@ paths:
assignment. If you need a role assignment that applies to all groups,
delete the role assignment with the target and create another one. See
[Unassign a client
- role](/openapi/okta-management/management/tag/RoleAssignmentClient/#tag/RoleAssignmentClient/operation/deleteRoleFromClient).
+ role](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/RoleAssignmentClient/#tag/RoleAssignmentClient/operation/deleteRoleFromClient).
operationId: removeGroupTargetRoleFromClient
responses:
'204':
@@ -582,7 +582,7 @@ components:
type: string
description: >-
Specify the standard or IAM-based role type. See [standard
- roles](/openapi/okta-management/guides/roles/#standard-roles).
+ roles](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/guides/roles/#standard-roles).
CustomRoleAssignmentSchema:
title: Custom Role
type: object
@@ -620,7 +620,7 @@ components:
readOnly: true
description: >-
Features supported by the app. See app
- [features](/openapi/okta-management/management/tag/Application/#tag/Application/operation/listApplications!c=200&path=0/features&t=response).
+ [features](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Application/#tag/Application/operation/listApplications!c=200&path=0/features&t=response).
items:
type: string
id:
@@ -644,7 +644,7 @@ components:
type: array
description: >-
Authentication mode for the app. See app
- [signOnMode](/openapi/okta-management/management/tag/Application/#tag/Application/operation/listApplications!c=200&path=0/signOnMode&t=response).
+ [signOnMode](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Application/#tag/Application/operation/listApplications!c=200&path=0/signOnMode&t=response).
items:
type: string
status:
@@ -716,7 +716,7 @@ components:
_links:
description: >-
[Discoverable
- resources](/openapi/okta-management/management/tag/Group/#tag/Group/operation/listGroups!c=200&path=_links&t=response)
+ resources](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Group/#tag/Group/operation/listGroups!c=200&path=_links&t=response)
related to the group
allOf:
- $ref: '#/components/schemas/LinksSelf'
@@ -863,7 +863,7 @@ components:
You can extend group profiles with custom properties, but you must first
add the properties to the group profile schema before you can reference
them. Use the Profile Editor in the Admin Console or the [Schemas
- API](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/Schema/)to
+ API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Schema/)to
manage schema extensions.
diff --git a/provider-dev/openapi/src/okta/v00.00.00000/services/org.yaml b/provider-dev/openapi/src/okta/v00.00.00000/services/org.yaml
index ceb0bb5..9424617 100644
--- a/provider-dev/openapi/src/okta/v00.00.00000/services/org.yaml
+++ b/provider-dev/openapi/src/okta/v00.00.00000/services/org.yaml
@@ -495,7 +495,7 @@ paths:
- name: expand
in: query
description: >-
- Embeds the [user](/openapi/okta-management/management/tag/User/)
+ Embeds the [user](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/)
resource if the YubiKey token is assigned to a user and `expand` is
set to `user`
schema:
@@ -1173,7 +1173,7 @@ paths:
> **Note:** This resource is deprecated. Use the [Update an Okta Support
- case](/openapi/okta-management/management/tag/OrgSettingSupport/#tag/OrgSettingSupport/operation/updateOktaSupportCase)
+ case](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/OrgSettingSupport/#tag/OrgSettingSupport/operation/updateOktaSupportCase)
resource to extend Okta Support access for a support case.
> For the corresponding Okta Admin Console feature, see [Give access to
@@ -1205,7 +1205,7 @@ paths:
> **Note:** This resource is deprecated. Use the [Update an Okta Support
- case](/openapi/okta-management/management/tag/OrgSettingSupport/#tag/OrgSettingSupport/operation/updateOktaSupportCase)
+ case](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/OrgSettingSupport/#tag/OrgSettingSupport/operation/updateOktaSupportCase)
resource to grant Okta Support access for a support case.
> For the corresponding Okta Admin Console feature, see [Give access to
@@ -1236,7 +1236,7 @@ paths:
> **Note:** This resource is deprecated. Use the [Update an Okta Support
- case](/openapi/okta-management/management/tag/OrgSettingSupport/#tag/OrgSettingSupport/operation/updateOktaSupportCase)
+ case](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/OrgSettingSupport/#tag/OrgSettingSupport/operation/updateOktaSupportCase)
resource to revoke Okta Support access for a support case.
> For the corresponding Okta Admin Console feature, see [Give access to
@@ -1719,31 +1719,31 @@ components:
- $ref: '#/components/schemas/HrefObject'
- description: >-
Link to [extend Okta Support
- Access](/openapi/okta-management/management/tag/OrgSettingSupport/#tag/OrgSettingSupport/operation/extendOktaSupport)
+ Access](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/OrgSettingSupport/#tag/OrgSettingSupport/operation/extendOktaSupport)
revoke:
allOf:
- $ref: '#/components/schemas/HrefObject'
- description: >-
Link to [revoke Okta Support
- Access](/openapi/okta-management/management/tag/OrgSettingSupport/#tag/OrgSettingSupport/operation/revokeOktaSupport)
+ Access](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/OrgSettingSupport/#tag/OrgSettingSupport/operation/revokeOktaSupport)
grant:
allOf:
- $ref: '#/components/schemas/HrefObject'
- description: >-
Link to [grant Okta Support
- Access](/openapi/okta-management/management/tag/OrgSettingSupport/#tag/OrgSettingSupport/operation/grantOktaSupport)
+ Access](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/OrgSettingSupport/#tag/OrgSettingSupport/operation/grantOktaSupport)
case:
allOf:
- $ref: '#/components/schemas/HrefObject'
- description: >-
Link to [update an Okta Support
- case](/openapi/okta-management/management/tag/OrgSettingSupport/#tag/OrgSettingSupport/operation/updateOktaSupportCase)
+ case](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/OrgSettingSupport/#tag/OrgSettingSupport/operation/updateOktaSupportCase)
cases:
allOf:
- $ref: '#/components/schemas/HrefObject'
- description: >-
Link to [List all Okta Support
- cases](/openapi/okta-management/management/tag/OrgSettingSupport/#tag/OrgSettingSupport/operation/listOktaSupportCases)
+ cases](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/OrgSettingSupport/#tag/OrgSettingSupport/operation/listOktaSupportCases)
OktaSupportCases:
type: object
properties:
@@ -1821,7 +1821,7 @@ components:
- $ref: '#/components/schemas/HrefObject'
- description: >-
Link to the [Org
- Contacts](/openapi/okta-management/management/tag/OrgSettingContact/)
+ Contacts](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/OrgSettingContact/)
resource
logo:
allOf:
@@ -1832,28 +1832,28 @@ components:
- $ref: '#/components/schemas/HrefObject'
- description: >-
Link to the [Org Communication
- Settings](/openapi/okta-management/management/tag/OrgSettingCommunication/)
+ Settings](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/OrgSettingCommunication/)
resource
oktaSupport:
allOf:
- $ref: '#/components/schemas/HrefObject'
- description: >-
Link to the [Org Support
- Settings](/openapi/okta-management/management/tag/OrgSettingSupport/)
+ Settings](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/OrgSettingSupport/)
resource
preferences:
allOf:
- $ref: '#/components/schemas/HrefObject'
- description: >-
Link to the [Org
- Preferences](/openapi/okta-management/management/tag/OrgSettingCustomization/#tag/OrgSettingCustomization/operation/getOrgPreferences)
+ Preferences](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/OrgSettingCustomization/#tag/OrgSettingCustomization/operation/getOrgPreferences)
resource
uploadLogo:
allOf:
- $ref: '#/components/schemas/HrefObject'
- description: >-
Link to the [Upload Org
- Logo](/openapi/okta-management/management/tag/OrgSettingCustomization/#tag/OrgSettingCustomization/operation/uploadOrgLogo)
+ Logo](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/OrgSettingCustomization/#tag/OrgSettingCustomization/operation/uploadOrgLogo)
resource
readOnly: true
enabledPagesType:
@@ -1923,7 +1923,7 @@ components:
- $ref: '#/components/schemas/HrefObject'
- description: >-
Link to the org billing [contact type
- user](/openapi/okta-management/management/tag/OrgSettingContact/#tag/OrgSettingContact/operation/getOrgContactUser)
+ user](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/OrgSettingContact/#tag/OrgSettingContact/operation/getOrgContactUser)
resource
orgTechnicalContactType:
description: Org technical contact
@@ -1947,7 +1947,7 @@ components:
- $ref: '#/components/schemas/HrefObject'
- description: >-
Link to the org technical [Contact Type
- User](/openapi/okta-management/management/tag/OrgSettingContact/#tag/OrgSettingContact/operation/getOrgContactUser)
+ User](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/OrgSettingContact/#tag/OrgSettingContact/operation/getOrgContactUser)
resource
OrgContactType:
description: Type of contact
@@ -2046,7 +2046,7 @@ components:
allOf:
- description: >-
Activates an enrolled factor. See [Activate a
- factor](/openapi/okta-management/management/tag/UserFactor/#tag/UserFactor/operation/activateFactor).
+ factor](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserFactor/#tag/UserFactor/operation/activateFactor).
- $ref: '#/components/schemas/HrefObject'
readOnly: true
LinksCancel:
@@ -2064,7 +2064,7 @@ components:
allOf:
- description: >-
Deactivates the factor. See [Unenroll a
- factor](/openapi/okta-management/management/tag/UserFactor/#tag/UserFactor/operation/unenrollFactor).
+ factor](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserFactor/#tag/UserFactor/operation/unenrollFactor).
- $ref: '#/components/schemas/HrefObject'
readOnly: true
LinksEnroll:
@@ -2074,7 +2074,7 @@ components:
allOf:
- description: >-
Enrolls a supported factor. See [Enroll a
- factor](/openapi/okta-management/management/tag/UserFactor/#tag/UserFactor/operation/enrollFactor).
+ factor](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserFactor/#tag/UserFactor/operation/enrollFactor).
- $ref: '#/components/schemas/HrefObject'
readOnly: true
LinksFactor:
@@ -2113,7 +2113,7 @@ components:
- description: >-
Lists all supported security questions. See [List all supported
security
- questions](/openapi/okta-management/management/tag/UserFactor/#tag/UserFactor/operation/listSupportedSecurityQuestions).
+ questions](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserFactor/#tag/UserFactor/operation/listSupportedSecurityQuestions).
- $ref: '#/components/schemas/HrefObject'
readOnly: true
LinksResend:
@@ -2123,7 +2123,7 @@ components:
allOf:
- description: >-
Resends the factor enrollment challenge. See [Resend a factor
- enrollment](/openapi/okta-management/management/tag/UserFactor/#tag/UserFactor/operation/resendEnrollFactor).
+ enrollment](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserFactor/#tag/UserFactor/operation/resendEnrollFactor).
- $ref: '#/components/schemas/HrefObject'
readOnly: true
LinksSend:
@@ -2164,7 +2164,7 @@ components:
allOf:
- description: >-
Verifies the factor resource. See [Verify a
- factor](/openapi/okta-management/management/tag/UserFactor/#tag/UserFactor/operation/verifyFactor).
+ factor](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserFactor/#tag/UserFactor/operation/verifyFactor).
- $ref: '#/components/schemas/HrefObject'
readOnly: true
HrefObjectRevokeAerialConsent:
diff --git a/provider-dev/openapi/src/okta/v00.00.00000/services/orgs.yaml b/provider-dev/openapi/src/okta/v00.00.00000/services/orgs.yaml
index 032e180..aafd8a0 100644
--- a/provider-dev/openapi/src/okta/v00.00.00000/services/orgs.yaml
+++ b/provider-dev/openapi/src/okta/v00.00.00000/services/orgs.yaml
@@ -213,7 +213,7 @@ components:
`lastName`, and `login`.
See
- [profile](/openapi/okta-management/management/tag/User/#tag/User/operation/getUser!c=200&path=profile&t=response)
+ [profile](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#tag/User/operation/getUser!c=200&path=profile&t=response)
for additional profile attributes.
properties:
firstName:
diff --git a/provider-dev/openapi/src/okta/v00.00.00000/services/policies.yaml b/provider-dev/openapi/src/okta/v00.00.00000/services/policies.yaml
index 464b166..b20c1d1 100644
--- a/provider-dev/openapi/src/okta/v00.00.00000/services/policies.yaml
+++ b/provider-dev/openapi/src/okta/v00.00.00000/services/policies.yaml
@@ -379,7 +379,7 @@ paths:
> **Note:** Use [List all resources mapped to a
- Policy](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/Policy/#tag/Policy/operation/listPolicyMappings)
+ Policy](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Policy/#tag/Policy/operation/listPolicyMappings)
to list all applications mapped to a policy.
operationId: listPolicyApps
responses:
@@ -1268,7 +1268,7 @@ components:
Enabled app features
> **Note:** See [Application
- Features](/openapi/okta-management/management/tag/ApplicationFeatures/)
+ Features](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/ApplicationFeatures/)
for app provisioning features.
readOnly: true
items:
@@ -1464,14 +1464,14 @@ components:
Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06)
specification. If the `expand=user/{userId}` query parameter is
specified, then the assigned [Application
- User](/openapi/okta-management/management/tag/ApplicationUsers/) is
+ User](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/ApplicationUsers/) is
embedded.
properties:
user:
type: object
description: >-
The specified [Application
- User](/openapi/okta-management/management/tag/ApplicationUsers/)
+ User](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/ApplicationUsers/)
assigned to the app
additionalProperties:
type: object
@@ -2071,7 +2071,7 @@ components:
- $ref: '#/components/schemas/HrefObject'
- description: >-
Link to the [Application
- Groups](/openapi/okta-management/management/tag/ApplicationGroups/#tag/ApplicationGroups/operation/listApplicationGroupAssignments)
+ Groups](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/ApplicationGroups/#tag/ApplicationGroups/operation/listApplicationGroupAssignments)
resource
HelpLink:
allOf:
@@ -2082,14 +2082,14 @@ components:
- $ref: '#/components/schemas/HrefObject'
- description: >-
Link to the [SAML
- metadata](/openapi/okta-management/management/tag/ApplicationSSO/#tag/ApplicationSSO/operation/previewSAMLmetadataForApplication)
+ metadata](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/ApplicationSSO/#tag/ApplicationSSO/operation/previewSAMLmetadataForApplication)
for SSO
UsersLink:
allOf:
- $ref: '#/components/schemas/HrefObject'
- description: >-
Link to the [Application
- Users](/openapi/okta-management/management/tag/ApplicationUsers/#tag/ApplicationUsers/operation/listApplicationUsers)
+ Users](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/ApplicationUsers/#tag/ApplicationUsers/operation/listApplicationUsers)
resource
HrefHints:
description: Describes allowed HTTP verbs for the `href`
diff --git a/provider-dev/openapi/src/okta/v00.00.00000/services/privileged_access.yaml b/provider-dev/openapi/src/okta/v00.00.00000/services/privileged_access.yaml
index 76d677f..cf9d44d 100644
--- a/provider-dev/openapi/src/okta/v00.00.00000/services/privileged_access.yaml
+++ b/provider-dev/openapi/src/okta/v00.00.00000/services/privileged_access.yaml
@@ -189,7 +189,7 @@ components:
containerOrn:
description: >-
The
- [ORN](/openapi/okta-management/guides/roles/#okta-resource-name-orn)
+ [ORN](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/guides/roles/#okta-resource-name-orn)
of the relevant resource.
diff --git a/provider-dev/openapi/src/okta/v00.00.00000/services/realms.yaml b/provider-dev/openapi/src/okta/v00.00.00000/services/realms.yaml
index 3a3c37e..231d889 100644
--- a/provider-dev/openapi/src/okta/v00.00.00000/services/realms.yaml
+++ b/provider-dev/openapi/src/okta/v00.00.00000/services/realms.yaml
@@ -245,7 +245,7 @@ components:
Indicates the default realm. Existing users will start out in the
default realm and can be moved to other realms individually or
through realm assignments. See [Realms Assignments
- API](/openapi/okta-management/management/tag/RealmAssignment/).
+ API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/RealmAssignment/).
readOnly: true
lastUpdated:
type: string
diff --git a/provider-dev/openapi/src/okta/v00.00.00000/services/risk.yaml b/provider-dev/openapi/src/okta/v00.00.00000/services/risk.yaml
index a102206..80f1281 100644
--- a/provider-dev/openapi/src/okta/v00.00.00000/services/risk.yaml
+++ b/provider-dev/openapi/src/okta/v00.00.00000/services/risk.yaml
@@ -14,7 +14,7 @@ paths:
This request is used by a third-party risk provider to send IP risk
events to Okta. The third-party risk provider needs to be registered
with Okta before they can send events to Okta. See [Risk
- Providers](/openapi/okta-management/management/tag/RiskProvider/).
+ Providers](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/RiskProvider/).
This API has a rate limit of 30 requests per minute. You can include
multiple risk events (up to a maximum of 20 events) in a single payload
diff --git a/provider-dev/openapi/src/okta/v00.00.00000/services/roles.yaml b/provider-dev/openapi/src/okta/v00.00.00000/services/roles.yaml
index efd315b..363bb31 100644
--- a/provider-dev/openapi/src/okta/v00.00.00000/services/roles.yaml
+++ b/provider-dev/openapi/src/okta/v00.00.00000/services/roles.yaml
@@ -323,7 +323,7 @@ components:
description: >-
A reference to an existing role. Standard roles require a `roleType`,
while Custom Roles require a `roleId`. See [Standard
- Roles](/openapi/okta-management/guides/roles/#standard-roles).
+ Roles](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/guides/roles/#standard-roles).
required: true
schema:
oneOf:
diff --git a/provider-dev/openapi/src/okta/v00.00.00000/services/security.yaml b/provider-dev/openapi/src/okta/v00.00.00000/services/security.yaml
index f5b26e5..c9fd46e 100644
--- a/provider-dev/openapi/src/okta/v00.00.00000/services/security.yaml
+++ b/provider-dev/openapi/src/okta/v00.00.00000/services/security.yaml
@@ -22,9 +22,9 @@ paths:
For SET JWT header and body descriptions, see [SET JWT
- header](/openapi/okta-management/management/tag/SSFSecurityEventToken/#tag/SSFSecurityEventToken/schema/SecurityEventTokenRequestJwtHeader)
+ header](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/SSFSecurityEventToken/#tag/SSFSecurityEventToken/schema/SecurityEventTokenRequestJwtHeader)
and [SET JWT body
- payload](/openapi/okta-management/management/tag/SSFSecurityEventToken/#tag/SSFSecurityEventToken/schema/SecurityEventTokenRequestJwtBody).
+ payload](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/SSFSecurityEventToken/#tag/SSFSecurityEventToken/schema/SecurityEventTokenRequestJwtBody).
content:
application/secevent+jwt:
schema:
diff --git a/provider-dev/openapi/src/okta/v00.00.00000/services/templates.yaml b/provider-dev/openapi/src/okta/v00.00.00000/services/templates.yaml
index 6905f0f..cf22c3f 100644
--- a/provider-dev/openapi/src/okta/v00.00.00000/services/templates.yaml
+++ b/provider-dev/openapi/src/okta/v00.00.00000/services/templates.yaml
@@ -256,7 +256,7 @@ components:
type: string
description: >-
Text of the Template, including any
- [macros](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/Template/)
+ [macros](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Template/)
maxLength: 161
minLength: 1
translations:
diff --git a/provider-dev/openapi/src/okta/v00.00.00000/services/threats.yaml b/provider-dev/openapi/src/okta/v00.00.00000/services/threats.yaml
index bee0fba..d107e4e 100644
--- a/provider-dev/openapi/src/okta/v00.00.00000/services/threats.yaml
+++ b/provider-dev/openapi/src/okta/v00.00.00000/services/threats.yaml
@@ -102,7 +102,7 @@ components:
type: array
description: >-
Accepts a list of [Network
- Zone](/openapi/okta-management/management/tag/NetworkZone/) IDs.
+ Zone](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/NetworkZone/) IDs.
IPs in the excluded network zones aren't logged or blocked.
diff --git a/provider-dev/openapi/src/okta/v00.00.00000/services/users.yaml b/provider-dev/openapi/src/okta/v00.00.00000/services/users.yaml
index 4558f0c..ba041c4 100644
--- a/provider-dev/openapi/src/okta/v00.00.00000/services/users.yaml
+++ b/provider-dev/openapi/src/okta/v00.00.00000/services/users.yaml
@@ -63,11 +63,11 @@ paths:
This operation searches many properties:
* Any user profile attribute, including custom-defined attributes
* The top-level properties: `id`, `status`, `created`, `activated`, `statusChanged`, and `lastUpdated`
- * The [user type](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserType/#tag/UserType/operation/updateUserType) accessed as `type.id`
+ * The [user type](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserType/#tag/UserType/operation/updateUserType) accessed as `type.id`
> **Note:** The ability to
search by user classification is available as an [Early
- Access](https://developer.okta.com/docs/api/openapi/okta-management/guides/release-lifecycle/#early-access-ea)
+ Access](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/guides/release-lifecycle/#early-access-ea)
feature. The `classification.type` property cannot be used in
conjunction with other search terms. You can search using
`classification.type eq "LITE"` or `classification.type eq
@@ -341,7 +341,7 @@ paths:
For more information about the various scenarios of creating a user
listed in the examples, see the [User creation
- scenarios](/openapi/okta-management/management/tag/User/#user-creation-scenarios)
+ scenarios](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#user-creation-scenarios)
section.
operationId: createUser
parameters:
@@ -349,7 +349,7 @@ paths:
in: query
description: >-
Executes an [activation
- lifecycle](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserLifecycle/#tag/UserLifecycle/operation/activateUser)
+ lifecycle](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserLifecycle/#tag/UserLifecycle/operation/activateUser)
operation when creating the user
schema:
type: boolean
@@ -522,7 +522,7 @@ paths:
properly. Logins with a `/` character can only be fetched by `id` due to
URL issues with escaping the `/` character. If you don't know a user's
ID, you can use the [List all
- users](/openapi/okta-management/management/tag/User/#tag/User/operation/listUsers)
+ users](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#tag/User/operation/listUsers)
endpoint to find it.
@@ -542,7 +542,7 @@ paths:
description: >-
An HTTP entity tag (`ETag`) is an identifier for a specific
version of a resource. See [Conditional Requests and Entity
- Tags](/#conditional-requests-and-entity-tags).
+ Tags]https://developer.okta.com/docs/api#conditional-requests-and-entity-tags.
schema:
type: string
example: W/"1234567890abcdef"
@@ -613,11 +613,11 @@ paths:
If you are using this endpoint to set a password, it sets a password
without validating existing user credentials. This is an administrative
operation. For operations that validate credentials, refer to the [Reset
- password](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserCred/#tag/UserCred/operation/resetPassword),
+ password](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserCred/#tag/UserCred/operation/resetPassword),
[Start forgot password
- flow](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserCred/#tag/UserCred/operation/forgotPassword),
+ flow](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserCred/#tag/UserCred/operation/forgotPassword),
and [Update
- password](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserCred/#tag/UserCred/operation/changePassword)
+ password](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserCred/#tag/UserCred/operation/changePassword)
endpoints.
operationId: updateUser
parameters:
@@ -632,7 +632,7 @@ paths:
description: >-
The ETag value of the user's expected current state. This becomes a
conditional request used for concurrency control. See [Conditional
- Requests and Entity Tags](/#conditional-requests-and-entity-tags).
+ Requests and Entity Tags]https://developer.okta.com/docs/api#conditional-requests-and-entity-tags.
schema:
type: string
example: W/"1234567890abcdef"
@@ -717,7 +717,7 @@ paths:
description: >-
The ETag value of the user's expected current state. This becomes a
conditional request used for concurrency control. See [Conditional
- Requests and Entity Tags](/#conditional-requests-and-entity-tags).
+ Requests and Entity Tags]https://developer.okta.com/docs/api#conditional-requests-and-entity-tags.
schema:
type: string
example: W/"1234567890abcdef"
@@ -856,7 +856,7 @@ paths:
> **Note:** To list all apps in an org, use the [List all applications
endpoint in the Applications
- API](/openapi/okta-management/management/tag/Application/#tag/Application/operation/listApplications).
+ API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Application/#tag/Application/operation/listApplications).
operationId: listAppLinks
responses:
'200':
@@ -935,7 +935,7 @@ paths:
> **Note:** To list all groups in your org, use the [List all groups
endpoints in the Groups
- API](/openapi/okta-management/management/tag/Group/#tag/Group/operation/listGroups).
+ API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Group/#tag/Group/operation/listGroups).
operationId: listUserGroups
responses:
'200':
@@ -1037,7 +1037,7 @@ paths:
password.
> See [Create user with optional
- password](/openapi/okta-management/management/tag/User/#create-user-with-optional-password).
+ password](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#create-user-with-optional-password).
> **Legal disclaimer**
@@ -1280,17 +1280,17 @@ paths:
Perform this operation only on users with a `PROVISIONED` or `RECOVERY`
- [status](/openapi/okta-management/management/tag/User/#tag/User/operation/listUsers!c=200&path=status&t=response).
+ [status](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#tag/User/operation/listUsers!c=200&path=status&t=response).
This operation restarts the activation workflow if for some reason the
user activation wasn't completed when using the `activationToken` from
[Activate
- User](/openapi/okta-management/management/tag/UserLifecycle/#tag/UserLifecycle/operation/activateUser).
+ User](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserLifecycle/#tag/UserLifecycle/operation/activateUser).
Users that don't have a password must complete the flow by completing
the [Reset
- password](/openapi/okta-management/management/tag/UserCred/#tag/UserCred/operation/resetPassword)
+ password](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserCred/#tag/UserCred/operation/resetPassword)
flow and MFA enrollment steps to transition the user to `ACTIVE` status.
@@ -1890,7 +1890,7 @@ paths:
> **Note:** To list all client resources for which a specified
authorization server has tokens, use the [List all client resources for
an authorization server in the Authorization Servers
- API](/openapi/okta-management/management/tag/AuthorizationServerClients/#tag/AuthorizationServerClients/operation/listOAuth2ClientsForAuthorizationServer).
+ API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/AuthorizationServerClients/#tag/AuthorizationServerClients/operation/listOAuth2ClientsForAuthorizationServer).
operationId: listUserClients
responses:
'200':
@@ -2168,7 +2168,7 @@ paths:
You can only perform this operation on users in `STAGED`, `ACTIVE`,
`PASSWORD_EXPIRED`, or `RECOVERY` status that have a valid [password
- credential](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#tag/User/operation/createUser!path=credentials/password&t=request).
+ credential](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#tag/User/operation/createUser!path=credentials/password&t=request).
The user transitions to `ACTIVE` status when successfully invoked in
@@ -2237,7 +2237,7 @@ paths:
You can only perform this operation on users in `STAGED`, `ACTIVE`, or
`RECOVERY` status that have a valid [password
- credential](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#tag/User/operation/createUser!path=credentials/password&t=request).
+ credential](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#tag/User/operation/createUser!path=credentials/password&t=request).
operationId: changeRecoveryQuestion
x-codegen-request-body-name: userCredentials
requestBody:
@@ -2295,7 +2295,7 @@ paths:
status and
a valid [recovery question
- credential](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#tag/User/operation/createUser!path=credentials/recovery_question&t=request).
+ credential](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#tag/User/operation/createUser!path=credentials/recovery_question&t=request).
> **Note:** If you have migrated to Identity Engine, you can allow users
@@ -2413,7 +2413,7 @@ paths:
> **Note:** To list all devices registered to an org, use the [List all
devices endpoint in the Devices
- API](/openapi/okta-management/management/tag/Device/#tag/Device/operation/listDevices).
+ API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Device/#tag/Device/operation/listDevices).
operationId: listUserDevices
responses:
'200':
@@ -2453,7 +2453,7 @@ paths:
description: >-
Lists all enrolled factors for the specified user that are included in
the highest priority [authenticator enrollment
- policy](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/Policy/)
+ policy](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Policy/)
that applies to the user.
@@ -2589,7 +2589,7 @@ paths:
in: query
description: >-
ID of an existing custom SMS template. See the [SMS Templates
- API](../Template). This parameter is only used by `sms` factors. If
+ API]https://developer.okta.com/docs/api/openapi/okta-management/management/tag/Template/. This parameter is only used by `sms` factors. If
the provided ID doesn't exist, the default template is used instead.
schema:
type: string
@@ -2719,7 +2719,7 @@ paths:
description: >-
Lists all the supported factors that can be enrolled for the specified
user that are included in the highest priority [authenticator enrollment
- policy](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/Policy/)
+ policy](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Policy/)
that applies to the user.
@@ -2895,7 +2895,7 @@ paths:
> * If the user exceeds their SMS, call, or email factor activation rate
limit, then an [OTP resend
- request](./#tag/UserFactor/operation/resendEnrollFactor) isn't allowed
+ request]https://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserFactor/ isn't allowed
for the same factor.
> * You can't use the Factors API to activate Okta Fastpass
@@ -2983,14 +2983,14 @@ paths:
> **Note:** Resend operations aren't allowed after a factor exceeds the
activation rate limit. See [Activate a
- factor](./#tag/UserFactor/operation/activateFactor).
+ factor]https://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserFactor/.
operationId: resendEnrollFactor
parameters:
- name: templateId
in: query
description: >-
ID of an existing custom SMS template. See the [SMS Templates
- API](../Template). This parameter is only used by `sms` factors.
+ API]https://developer.okta.com/docs/api/openapi/okta-management/management/tag/Template/. This parameter is only used by `sms` factors.
schema:
example: cstk2flOtuCMDJK4b0g3
type: string
@@ -3045,8 +3045,8 @@ paths:
> **Note:**
> The response body for a number matching push challenge to an Okta Verify `push` factor enrollment is different from the response body of a standard push challenge.
- > The number matching push challenge [response body](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserFactor/#tag/UserFactor/operation/getFactorTransactionStatus!c=200&path=1/_embedded&t=response) contains the correct answer for the challenge.
- > Use [Verify a factor](/openapi/okta-management/management/tag/UserFactor/#tag/UserFactor/operation/verifyFactor) to configure which challenge is sent.
+ > The number matching push challenge [response body](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserFactor/#tag/UserFactor/operation/getFactorTransactionStatus!c=200&path=1/_embedded&t=response) contains the correct answer for the challenge.
+ > Use [Verify a factor](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserFactor/#tag/UserFactor/operation/verifyFactor) to configure which challenge is sent.
operationId: getFactorTransactionStatus
responses:
'200':
@@ -3102,18 +3102,18 @@ paths:
> - You can send standard push challenges or number matching push
challenges to Okta Verify `push` factor enrollments. Use a [request
- body](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserFactor/#tag/UserFactor/operation/verifyFactor!path=2/useNumberMatchingChallenge&t=request)
+ body](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserFactor/#tag/UserFactor/operation/verifyFactor!path=2/useNumberMatchingChallenge&t=request)
for number matching push challenges.
> - To verify a `push` factor, use the **poll** link returned when you
issue the challenge. See [Retrieve a factor transaction
- status](/openapi/okta-management/management/tag/UserFactor/#tag/UserFactor/operation/getFactorTransactionStatus).
+ status](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserFactor/#tag/UserFactor/operation/getFactorTransactionStatus).
operationId: verifyFactor
parameters:
- name: templateId
description: >-
ID of an existing custom SMS template. See the [SMS Templates
- API](../Template). This parameter is only used by `sms` factors.
+ API]https://developer.okta.com/docs/api/openapi/okta-management/management/tag/Template/. This parameter is only used by `sms` factors.
in: query
schema:
type: string
@@ -3166,14 +3166,14 @@ paths:
> Unlike standard push challenges that don't require a request body, a
number matching
- [`push`](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserFactor/#tag/UserFactor/operation/verifyFactor!path=2/useNumberMatchingChallenge&t=request)
+ [`push`](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserFactor/#tag/UserFactor/operation/verifyFactor!path=2/useNumberMatchingChallenge&t=request)
challenge requires a request body. `useNumberMatchingChallenge` must
be set to `true`.
> When a number matching challenge is issued for an Okta Verify `push`
factor enrollment, a `correctAnswer` challenge object is returned in
the
- [`_embedded`](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserFactor/#tag/UserFactor/operation/verifyFactor!c=200&path=_embedded&t=response)
+ [`_embedded`](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserFactor/#tag/UserFactor/operation/verifyFactor!c=200&path=_embedded&t=response)
object.
content:
application/json:
@@ -3552,13 +3552,13 @@ paths:
summary: Assign a user role
description: >-
Assigns a [standard
- role](/openapi/okta-management/guides/roles/#standard-roles) to a user.
+ role](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/guides/roles/#standard-roles) to a user.
You can also assign a custom role to a user, but the preferred method to
assign a custom role to a user is to create a binding between the custom
role, the resource set, and the user. See [Create a role resource set
- binding](/openapi/okta-management/management/tag/RoleDResourceSetBinding/#tag/RoleDResourceSetBinding/operation/createResourceSetBinding).
+ binding](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/RoleDResourceSetBinding/#tag/RoleDResourceSetBinding/operation/createResourceSetBinding).
> **Notes:**
@@ -4183,7 +4183,7 @@ paths:
You can also clear the user's remembered factors for all devices using
the `forgetDevices` parameter. See
- [forgetDevices](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserSessions/#tag/UserSessions/operation/revokeUserSessions!in=query&path=forgetDevices&t=request).
+ [forgetDevices](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserSessions/#tag/UserSessions/operation/revokeUserSessions!in=query&path=forgetDevices&t=request).
> **Note:** This operation doesn't clear the sessions created for web or
native apps.
@@ -4424,7 +4424,7 @@ components:
type: string
description: >-
The ID of the realm in which the user is residing. See
- [Realms](/openapi/okta-management/management/tag/Realm/).
+ [Realms](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Realm/).
example: guo1bfiNtSnZYILxO0g4
readOnly: true
status:
@@ -4451,7 +4451,7 @@ components:
description: >-
The user type that determines the schema for the user's profile. The
`type` property is a map that identifies the [User
- Types](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserType/#tag/UserType).
+ Types](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserType/#tag/UserType).
Currently it contains a single element, `id`. It can be specified
@@ -4489,9 +4489,9 @@ components:
For a collection of users, the links object contains only the `self`
link. Operations that return a collection of users include [List all
- users](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#tag/User/operation/listUsers)
+ users](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#tag/User/operation/listUsers)
and [List all group member
- users](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/Group/#tag/Group/operation/listGroupUsers).
+ users](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Group/#tag/Group/operation/listGroupUsers).
allOf:
- $ref: '#/components/schemas/LinksSelf'
- type: object
@@ -4604,17 +4604,17 @@ components:
type: string
description: >-
The ID of the realm in which the user is residing. See
- [Realms](/openapi/okta-management/management/tag/Realm/).
+ [Realms](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Realm/).
example: guo1bfiNtSnZYILxO0g4
type:
type: object
description: >-
The ID of the user type. Add this value if you want to create a user
with a non-default [User
- Type](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserType/).
+ Type](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserType/).
The user type determines which
- [schema](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/Schema/)
+ [schema](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Schema/)
applies to that user. After a user has been created, the user can
only be assigned a different user type by an administrator through a
@@ -4659,7 +4659,7 @@ components:
type: string
description: >-
The ID of the realm in which the user is residing. See
- [Realms](/openapi/okta-management/management/tag/Realm/).
+ [Realms](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Realm/).
example: guo1bfiNtSnZYILxO0g4
AssignedAppLink:
type: object
@@ -4761,7 +4761,7 @@ components:
_links:
description: >-
[Discoverable
- resources](/openapi/okta-management/management/tag/Group/#tag/Group/operation/listGroups!c=200&path=_links&t=response)
+ resources](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Group/#tag/Group/operation/listGroups!c=200&path=_links&t=response)
related to the group
allOf:
- $ref: '#/components/schemas/LinksSelf'
@@ -5769,7 +5769,7 @@ components:
type: string
description: >-
Specify the standard or IAM-based role type. See [standard
- roles](/openapi/okta-management/guides/roles/#standard-roles).
+ roles](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/guides/roles/#standard-roles).
CustomRoleAssignmentSchema:
title: Custom Role
type: object
@@ -5856,7 +5856,7 @@ components:
readOnly: true
description: >-
Features supported by the app. See app
- [features](/openapi/okta-management/management/tag/Application/#tag/Application/operation/listApplications!c=200&path=0/features&t=response).
+ [features](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Application/#tag/Application/operation/listApplications!c=200&path=0/features&t=response).
items:
type: string
id:
@@ -5880,7 +5880,7 @@ components:
type: array
description: >-
Authentication mode for the app. See app
- [signOnMode](/openapi/okta-management/management/tag/Application/#tag/Application/operation/listApplications!c=200&path=0/signOnMode&t=response).
+ [signOnMode](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Application/#tag/Application/operation/listApplications!c=200&path=0/signOnMode&t=response).
items:
type: string
status:
@@ -5973,7 +5973,7 @@ components:
[pattern](https://developer.okta.com/docs/reference/api/schemas/#login-pattern-validation)
for `login`. You can use the Profile Editor in the Admin Console or the
[Schemas
- API](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/UISchema/#tag/UISchema)
+ API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UISchema/#tag/UISchema)
to make schema modifications.
@@ -5981,7 +5981,7 @@ components:
the custom property to the user profile schema before you reference it.
You can use the Profile Editor in the Admin Console or the [Schemas
- API](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/UISchema/#tag/UISchema)
+ API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UISchema/#tag/UISchema)
to manage schema extensions.
@@ -6088,7 +6088,7 @@ components:
that include @-signs. (By default, usernames must be formatted as
email addresses and thus always include @-signs. You can remove that
restriction using either the Admin Console or the [Schemas
- API](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/Schema/).
+ API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Schema/).
Users can sign in with their non-qualified short name (for example:
isaac.brock with username isaac.brock@example.com) as long as the
short name is still unique within the organization.
@@ -6279,7 +6279,7 @@ components:
You can extend group profiles with custom properties, but you must first
add the properties to the group profile schema before you can reference
them. Use the Profile Editor in the Admin Console or the [Schemas
- API](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/Schema/)to
+ API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Schema/)to
manage schema extensions.
@@ -6505,7 +6505,7 @@ components:
delegated access from the user
> **Note:** The [IdP
- type](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/IdentityProvider/#tag/IdentityProvider/operation/createIdentityProvider!path=type&t=request)
+ type](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/IdentityProvider/#tag/IdentityProvider/operation/createIdentityProvider!path=type&t=request)
table lists the scopes that are supported for each IdP.
items:
type: string
@@ -6567,7 +6567,7 @@ components:
`type`.
For policy actions supported by each IdP type, see [IdP type policy
- actions](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/IdentityProvider/#tag/IdentityProvider/operation/createIdentityProvider!path=policy&t=request).
+ actions](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/IdentityProvider/#tag/IdentityProvider/operation/createIdentityProvider!path=policy&t=request).
| Type |
@@ -7189,7 +7189,7 @@ components:
allOf:
- description: >-
Verifies the factor resource. See [Verify a
- factor](/openapi/okta-management/management/tag/UserFactor/#tag/UserFactor/operation/verifyFactor).
+ factor](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserFactor/#tag/UserFactor/operation/verifyFactor).
- $ref: '#/components/schemas/HrefObject'
readOnly: true
UserFactorVerifyResult:
@@ -7473,7 +7473,7 @@ components:
credential. The user's current provider is managed by the **Delegated
Authentication** settings in your org. See [Create user with
authentication
- provider](/openapi/okta-management/management/tag/User/#create-user-with-authentication-provider).
+ provider](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#create-user-with-authentication-provider).
type: object
properties:
name:
@@ -7683,7 +7683,7 @@ components:
The IdP Authorization Server (AS) endpoints are currently defined as
part of the [IdP
- provider]((https://developer.okta.com/docs/api/openapi/okta-management/management/tag/IdentityProvider/#tag/IdentityProvider/operation/createIdentityProvider!path=type&t=request))
+ provider]((https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/IdentityProvider/#tag/IdentityProvider/operation/createIdentityProvider!path=type&t=request))
and are read-only.
type: object
properties:
@@ -7703,7 +7703,7 @@ components:
user.
> **Note:** The [identity provider
- type](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/IdentityProvider/#tag/IdentityProvider/operation/createIdentityProvider!path=type&t=request)
+ type](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/IdentityProvider/#tag/IdentityProvider/operation/createIdentityProvider!path=type&t=request)
table lists the scopes that are supported for each IdP.
items:
type: string
@@ -7794,7 +7794,7 @@ components:
- description: >-
Returns information about a specific authenticator. See
[Retrieve an
- authenticator](/openapi/okta-management/management/tag/Authenticator/#tag/Authenticator/operation/getAuthenticator).
+ authenticator](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Authenticator/#tag/Authenticator/operation/getAuthenticator).
- $ref: '#/components/schemas/HrefObject'
readOnly: true
AuthenticatorProfileTacRequest:
@@ -7865,7 +7865,7 @@ components:
from some other store. Okta supports the BCRYPT, SHA-512, SHA-256,
SHA-1, MD5, and PBKDF2 hash functions for password import.
A hashed password may be specified in a password object when creating or updating a user, but not for other operations.
- See the [Create user with imported hashed password](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#create-user-with-imported-hashed-password) description. When you update a user with a hashed password, the user must be in the `STAGED` status.
+ See the [Create user with imported hashed password](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#create-user-with-imported-hashed-password) description. When you update a user with a hashed password, the user must be in the `STAGED` status.
type: object
properties:
algorithm:
@@ -7923,7 +7923,7 @@ components:
PasswordCredentialHook:
description: >-
Specify a [password import inline
- hook](/openapi/okta-management/management/tag/InlineHook/#tag/InlineHook/operation/createPasswordImportInlineHook)
+ hook](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/InlineHook/#tag/InlineHook/operation/createPasswordImportInlineHook)
to trigger verification of the user's password the first time the user
signs in. This allows an existing password to be imported into Okta
directly from some other store.
@@ -8077,7 +8077,7 @@ components:
allOf:
- description: >-
Activates an enrolled factor. See [Activate a
- factor](/openapi/okta-management/management/tag/UserFactor/#tag/UserFactor/operation/activateFactor).
+ factor](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserFactor/#tag/UserFactor/operation/activateFactor).
- $ref: '#/components/schemas/HrefObject'
readOnly: true
LinksCancel:
@@ -8095,7 +8095,7 @@ components:
allOf:
- description: >-
Deactivates the factor. See [Unenroll a
- factor](/openapi/okta-management/management/tag/UserFactor/#tag/UserFactor/operation/unenrollFactor).
+ factor](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserFactor/#tag/UserFactor/operation/unenrollFactor).
- $ref: '#/components/schemas/HrefObject'
readOnly: true
LinksEnroll:
@@ -8105,7 +8105,7 @@ components:
allOf:
- description: >-
Enrolls a supported factor. See [Enroll a
- factor](/openapi/okta-management/management/tag/UserFactor/#tag/UserFactor/operation/enrollFactor).
+ factor](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserFactor/#tag/UserFactor/operation/enrollFactor).
- $ref: '#/components/schemas/HrefObject'
readOnly: true
LinksFactor:
@@ -8144,7 +8144,7 @@ components:
- description: >-
Lists all supported security questions. See [List all supported
security
- questions](/openapi/okta-management/management/tag/UserFactor/#tag/UserFactor/operation/listSupportedSecurityQuestions).
+ questions](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserFactor/#tag/UserFactor/operation/listSupportedSecurityQuestions).
- $ref: '#/components/schemas/HrefObject'
readOnly: true
LinksResend:
@@ -8154,7 +8154,7 @@ components:
allOf:
- description: >-
Resends the factor enrollment challenge. See [Resend a factor
- enrollment](/openapi/okta-management/management/tag/UserFactor/#tag/UserFactor/operation/resendEnrollFactor).
+ enrollment](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserFactor/#tag/UserFactor/operation/resendEnrollFactor).
- $ref: '#/components/schemas/HrefObject'
readOnly: true
LinksSend:
@@ -8239,12 +8239,12 @@ components:
The IdP user is automatically linked to an Okta user when the
transformed IdP user matches an existing Okta user according to
[subject match
- rules](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/IdentityProvider/#tag/IdentityProvider/operation/createIdentityProvider!path=policy/subject&t=request).
+ rules](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/IdentityProvider/#tag/IdentityProvider/operation/createIdentityProvider!path=policy/subject&t=request).
DISABLED: >-
Okta never attempts to link the IdP user to an existing Okta user, but
may still attempt to provision a new Okta user according to the
[provisioning action
- type](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/IdentityProvider/#tag/IdentityProvider/operation/createIdentityProvider!path=policy/provisioning/action&t=request).
+ type](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/IdentityProvider/#tag/IdentityProvider/operation/createIdentityProvider!path=policy/provisioning/action&t=request).
PolicyAccountLinkFilter:
description: >-
Specifies filters on which users are available for account linking by an
@@ -8438,7 +8438,7 @@ components:
The `destination` property is required if request signatures are
specified. See [SAML 2.0 Request Algorithm
- object](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/IdentityProvider/#tag/IdentityProvider/operation/createIdentityProvider!path=protocol/0/algorithms/request&t=request).
+ object](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/IdentityProvider/#tag/IdentityProvider/operation/createIdentityProvider!path=protocol/0/algorithms/request&t=request).
maxLength: 512
example: https://idp.example.com/saml2/sso
url:
@@ -9351,7 +9351,7 @@ components:
create-user-without-credentials-request:
description: >-
See [Create user without
- credentials](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#create-user-without-credentials)
+ credentials](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#create-user-without-credentials)
value:
profile:
firstName: Isaac
@@ -9362,7 +9362,7 @@ components:
create-user-with-recovery-question-request:
description: >-
See [Create user with recovery
- question](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#create-user-with-recovery-question)
+ question](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#create-user-with-recovery-question)
value:
profile:
firstName: Isaac
@@ -9377,7 +9377,7 @@ components:
create-user-with-password-request:
description: >-
Set `activate` parameter to `true`. See [Create user with
- password](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#create-user-with-password).
+ password](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#create-user-with-password).
value:
profile:
firstName: Isaac
@@ -9392,7 +9392,7 @@ components:
description: >-
Set `activate` parameter to `true`. See [Create user with imported
hashed
- password](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#create-user-with-imported-hashed-password).
+ password](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#create-user-with-imported-hashed-password).
value:
profile:
firstName: Isaac
@@ -9411,7 +9411,7 @@ components:
description: >-
Set `activate` parameter to `true`. See [Create user with password
import inline
- hook](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#create-user-with-password-import-inline-hook).
+ hook](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#create-user-with-password-import-inline-hook).
value:
profile:
firstName: Isaac
@@ -9426,7 +9426,7 @@ components:
create-user-with-password-and-recovery-question-request:
description: >-
See [Create user with password and recovery
- question](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#create-user-with-password-and-recovery-question)
+ question](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#create-user-with-password-and-recovery-question)
value:
profile:
firstName: Isaac
@@ -9443,7 +9443,7 @@ components:
create-user-with-authentication-provider-request:
description: >-
Set `activate` parameter to `true`. See [Create user with authentication
- provider](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#create-user-with-authentication-provider).
+ provider](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#create-user-with-authentication-provider).
value:
profile:
firstName: Isaac
@@ -9458,7 +9458,7 @@ components:
create-user-in-group-request:
description: >-
See [Create user in
- group](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#create-user-in-group)
+ group](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#create-user-in-group)
value:
profile:
firstName: Isaac
@@ -9472,7 +9472,7 @@ components:
create-user-with-non-default-user-type-request:
description: >-
See [Create user with non-default user
- type](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#create-user-with-non-default-user-type)
+ type](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#create-user-with-non-default-user-type)
value:
profile:
firstName: Isaac
@@ -12508,6 +12508,12 @@ components:
response:
mediaType: application/json
openAPIDocKey: '200'
+ end_user_sessions:
+ operation:
+ $ref: '#/paths/~1api~1v1~1users~1me~1lifecycle~1delete_sessions/post'
+ response:
+ mediaType: ''
+ openAPIDocKey: '200'
get_user:
operation:
$ref: '#/paths/~1api~1v1~1users~1{id}/get'
@@ -12544,6 +12550,19 @@ components:
response:
mediaType: ''
openAPIDocKey: '200'
+ expire_password:
+ operation:
+ $ref: '#/paths/~1api~1v1~1users~1{id}~1lifecycle~1expire_password/post'
+ response:
+ mediaType: application/json
+ openAPIDocKey: '200'
+ expire_password_with_temp_password:
+ operation:
+ $ref: >-
+ #/paths/~1api~1v1~1users~1{id}~1lifecycle~1expire_password_with_temp_password/post
+ response:
+ mediaType: application/json
+ openAPIDocKey: '200'
reactivate_user:
operation:
$ref: '#/paths/~1api~1v1~1users~1{id}~1lifecycle~1reactivate/post'
@@ -12556,6 +12575,12 @@ components:
response:
mediaType: ''
openAPIDocKey: '200'
+ reset_password:
+ operation:
+ $ref: '#/paths/~1api~1v1~1users~1{id}~1lifecycle~1reset_password/post'
+ response:
+ mediaType: application/json
+ openAPIDocKey: '200'
suspend_user:
operation:
$ref: '#/paths/~1api~1v1~1users~1{id}~1lifecycle~1suspend/post'
@@ -12574,6 +12599,40 @@ components:
response:
mediaType: ''
openAPIDocKey: '200'
+ change_password:
+ operation:
+ $ref: >-
+ #/paths/~1api~1v1~1users~1{userId}~1credentials~1change_password/post
+ response:
+ mediaType: application/json
+ openAPIDocKey: '200'
+ change_recovery_question:
+ operation:
+ $ref: >-
+ #/paths/~1api~1v1~1users~1{userId}~1credentials~1change_recovery_question/post
+ response:
+ mediaType: application/json
+ openAPIDocKey: '200'
+ forgot_password:
+ operation:
+ $ref: >-
+ #/paths/~1api~1v1~1users~1{userId}~1credentials~1forgot_password/post
+ response:
+ mediaType: application/json
+ openAPIDocKey: '200'
+ forgot_password_set_new_password:
+ operation:
+ $ref: >-
+ #/paths/~1api~1v1~1users~1{userId}~1credentials~1forgot_password_recovery_question/post
+ response:
+ mediaType: application/json
+ openAPIDocKey: '200'
+ revoke_user_sessions:
+ operation:
+ $ref: '#/paths/~1api~1v1~1users~1{userId}~1sessions/delete'
+ response:
+ mediaType: ''
+ openAPIDocKey: '204'
sqlVerbs:
select:
- $ref: '#/components/x-stackQL-resources/users/methods/list_users'
@@ -12586,31 +12645,6 @@ components:
- $ref: '#/components/x-stackQL-resources/users/methods/delete_user'
replace:
- $ref: '#/components/x-stackQL-resources/users/methods/replace_user'
- user_sessions:
- id: okta.users.user_sessions
- name: user_sessions
- title: User Sessions
- methods:
- end_user_sessions:
- operation:
- $ref: '#/paths/~1api~1v1~1users~1me~1lifecycle~1delete_sessions/post'
- response:
- mediaType: ''
- openAPIDocKey: '200'
- revoke_user_sessions:
- operation:
- $ref: '#/paths/~1api~1v1~1users~1{userId}~1sessions/delete'
- response:
- mediaType: ''
- openAPIDocKey: '204'
- sqlVerbs:
- select: []
- insert: []
- update: []
- delete:
- - $ref: >-
- #/components/x-stackQL-resources/user_sessions/methods/revoke_user_sessions
- replace: []
app_links:
id: okta.users.app_links
name: app_links
@@ -12686,64 +12720,6 @@ components:
update: []
delete: []
replace: []
- creds:
- id: okta.users.creds
- name: creds
- title: Creds
- methods:
- expire_password:
- operation:
- $ref: '#/paths/~1api~1v1~1users~1{id}~1lifecycle~1expire_password/post'
- response:
- mediaType: application/json
- openAPIDocKey: '200'
- expire_password_with_temp_password:
- operation:
- $ref: >-
- #/paths/~1api~1v1~1users~1{id}~1lifecycle~1expire_password_with_temp_password/post
- response:
- mediaType: application/json
- openAPIDocKey: '200'
- reset_password:
- operation:
- $ref: '#/paths/~1api~1v1~1users~1{id}~1lifecycle~1reset_password/post'
- response:
- mediaType: application/json
- openAPIDocKey: '200'
- change_password:
- operation:
- $ref: >-
- #/paths/~1api~1v1~1users~1{userId}~1credentials~1change_password/post
- response:
- mediaType: application/json
- openAPIDocKey: '200'
- change_recovery_question:
- operation:
- $ref: >-
- #/paths/~1api~1v1~1users~1{userId}~1credentials~1change_recovery_question/post
- response:
- mediaType: application/json
- openAPIDocKey: '200'
- forgot_password:
- operation:
- $ref: >-
- #/paths/~1api~1v1~1users~1{userId}~1credentials~1forgot_password/post
- response:
- mediaType: application/json
- openAPIDocKey: '200'
- forgot_password_set_new_password:
- operation:
- $ref: >-
- #/paths/~1api~1v1~1users~1{userId}~1credentials~1forgot_password_recovery_question/post
- response:
- mediaType: application/json
- openAPIDocKey: '200'
- sqlVerbs:
- select: []
- insert: []
- update: []
- delete: []
- replace: []
linked_objects:
id: okta.users.linked_objects
name: linked_objects
@@ -13183,6 +13159,13 @@ components:
response:
mediaType: ''
openAPIDocKey: '204'
+ assign_app_instance_target_to_app_admin_role_for_user:
+ operation:
+ $ref: >-
+ #/paths/~1api~1v1~1users~1{userId}~1roles~1{roleAssignmentId}~1targets~1catalog~1apps~1{appName}~1{appId}/put
+ response:
+ mediaType: ''
+ openAPIDocKey: '204'
sqlVerbs:
select:
- $ref: >-
@@ -13295,26 +13278,6 @@ components:
- $ref: >-
#/components/x-stackQL-resources/admin_app_targets/methods/unassign_app_instance_target_from_admin_role_for_user
replace: []
- role_target_admin:
- id: okta.users.role_target_admin
- name: role_target_admin
- title: Role Target Admin
- methods:
- assign_app_instance_target_to_app_admin_role_for_user:
- operation:
- $ref: >-
- #/paths/~1api~1v1~1users~1{userId}~1roles~1{roleAssignmentId}~1targets~1catalog~1apps~1{appName}~1{appId}/put
- response:
- mediaType: ''
- openAPIDocKey: '204'
- sqlVerbs:
- select: []
- insert: []
- update: []
- delete: []
- replace:
- - $ref: >-
- #/components/x-stackQL-resources/role_target_admin/methods/assign_app_instance_target_to_app_admin_role_for_user
role_group_targets:
id: okta.users.role_group_targets
name: role_group_targets
diff --git a/provider-dev/openapi/src/okta/v00.00.00000/services/webauthn_registration.yaml b/provider-dev/openapi/src/okta/v00.00.00000/services/webauthn_registration.yaml
index 800189d..8e499e5 100644
--- a/provider-dev/openapi/src/okta/v00.00.00000/services/webauthn_registration.yaml
+++ b/provider-dev/openapi/src/okta/v00.00.00000/services/webauthn_registration.yaml
@@ -863,10 +863,10 @@ components:
errorId: sampleQPivGUj_ND5v78vbYWW
errorCauses: []
x-stackQL-resources:
- preregistration_enrollments:
- id: okta.webauthn_registration.preregistration_enrollments
- name: preregistration_enrollments
- title: Preregistration Enrollments
+ enrollments:
+ id: okta.webauthn_registration.enrollments
+ name: enrollments
+ title: Enrollments
methods:
activate_preregistration_enrollment:
operation:
@@ -893,17 +893,6 @@ components:
response:
mediaType: ''
openAPIDocKey: '204'
- sqlVerbs:
- select: []
- insert: []
- update: []
- delete: []
- replace: []
- enrollments:
- id: okta.webauthn_registration.enrollments
- name: enrollments
- title: Enrollments
- methods:
list_web_authn_preregistration_factors:
operation:
$ref: >-
diff --git a/provider-dev/openapi/src/okta/v00.00.00000/services/zones.yaml b/provider-dev/openapi/src/okta/v00.00.00000/services/zones.yaml
index 877af79..9b5463f 100644
--- a/provider-dev/openapi/src/okta/v00.00.00000/services/zones.yaml
+++ b/provider-dev/openapi/src/okta/v00.00.00000/services/zones.yaml
@@ -238,9 +238,9 @@ paths:
> **Notes:**
> * You can't delete a Network Zone that's used by a
- [Policy](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/Policy/)
+ [Policy](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Policy/)
or
- [Rule](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/Policy/#tag/Policy/operation/listPolicyRules).
+ [Rule](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Policy/#tag/Policy/operation/listPolicyRules).
> * For Okta Identity Engine orgs, you can't delete a Network Zone with
an ACTIVE `status`.
diff --git a/provider-dev/scripts/fix_mappings_issue.sh b/provider-dev/scripts/fix_mappings_issue.sh
deleted file mode 100644
index fdbeadb..0000000
--- a/provider-dev/scripts/fix_mappings_issue.sh
+++ /dev/null
@@ -1 +0,0 @@
-sed -i 's/[[:space:]]*type: object$//' provider-dev/openapi/src/okta/v00.00.00000/services/mappings.yaml
diff --git a/provider-dev/scripts/post_processing.sh b/provider-dev/scripts/post_processing.sh
new file mode 100644
index 0000000..43cba94
--- /dev/null
+++ b/provider-dev/scripts/post_processing.sh
@@ -0,0 +1,56 @@
+#!/bin/bash
+
+sed -i 's/[[:space:]]*type: object$//' provider-dev/openapi/src/okta/v00.00.00000/services/mappings.yaml
+
+cat >> provider-dev/openapi/src/okta/v00.00.00000/services/meta.yaml << 'EOF'
+definitions:
+ base:
+ type: object
+ description: "Dummy base definition for parser compatibility"
+ properties:
+ id:
+ type: string
+ custom:
+ type: object
+ description: "Dummy custom definition for parser compatibility"
+ properties:
+ name:
+ type: string
+EOF
+
+# fix broken links in md docs
+sed -i 's|../../../../../images/features/update-ssfeat-flowchart.png|/img/update-ssfeat-flowchart.png|g' provider-dev/openapi/src/okta/v00.00.00000/services/features.yaml
+
+# Directory containing the YAML files
+YAML_DIR="provider-dev/openapi/src/okta/v00.00.00000/services"
+
+# Find all YAML files in the directory
+find "$YAML_DIR" -type f \( -name "*.yaml" -o -name "*.yml" \) | while read -r file; do
+ echo "Processing file: $file"
+
+ # Replace links starting with /openapi/okta-management/management/tag/ followed by anything
+ sed -i 's|\(/openapi/okta-management/management/tag/[^)]*\)|https://developer.okta.com/docs/api\1|g' "$file"
+
+ # Replace links starting with /openapi/okta-management/guides/ followed by anything
+ sed -i 's|\(/openapi/okta-management/guides/[^)]*\)|https://developer.okta.com/docs/api\1|g' "$file"
+
+ # Replace orphaned anchors (/#something)
+ sed -i 's|(/\(#[^)]*\))|https://developer.okta.com/docs/api\1|g' "$file"
+
+ # Specific replacements
+ # 1. Replace (/oauth2/#okta-admin-management)
+ sed -i 's|(/oauth2/#okta-admin-management)|https://developer.okta.com/docs/api/oauth2/#okta-admin-management|g' "$file"
+
+ # 2. Replace (../Template)
+ sed -i 's|(../Template)|https://developer.okta.com/docs/api/openapi/okta-management/management/tag/Template/|g' "$file"
+
+ # 3. Replace (./#tag/UserFactor/operation/resendEnrollFactor)
+ sed -i 's|(./#tag/UserFactor/operation/resendEnrollFactor)|https://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserFactor/|g' "$file"
+
+ # 4. Replace (./#tag/UserFactor/operation/activateFactor)
+ sed -i 's|(./#tag/UserFactor/operation/activateFactor)|https://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserFactor/|g' "$file"
+
+ echo "Completed processing: $file"
+done
+
+echo "All files processed."
\ No newline at end of file
diff --git a/website/docs/index.md b/website/docs/index.md
new file mode 100644
index 0000000..f3f3df8
--- /dev/null
+++ b/website/docs/index.md
@@ -0,0 +1,142 @@
+---
+title: okta
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - okta
+ - stackql
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage Okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+id: 'provider-intro'
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+
+Authentication and authorization services.
+
+:::info[Provider Summary]
+
+total services: __55__
+total resources: __245__
+
+:::
+
+See also:
+[[` SHOW `]](https://stackql.io/docs/language-spec/show) [[` DESCRIBE `]](https://stackql.io/docs/language-spec/describe) [[` REGISTRY `]](https://stackql.io/docs/language-spec/registry)
+* * *
+
+## Installation
+
+To pull the latest version of the `okta` provider, run the following command:
+
+```bash
+REGISTRY PULL okta;
+```
+> To view previous provider versions or to pull a specific provider version, see [here](https://stackql.io/docs/language-spec/registry).
+
+## Authentication
+
+The following system environment variables are used for authentication by default:
+
+- - Okta API Token (see Creating an Okta API Token)
+
+These variables are sourced at runtime (from the local machine or as CI variables/secrets).
+
+
+
+Using different environment variables
+
+To use different environment variables (instead of the defaults), use the `--auth` flag of the `stackql` program. For example:
+
+```bash
+
+AUTH='{ "okta": { "type": "api_key", "valuePrefix": "SSWS ", "credentialsenvvar": "YOUR_OKTA_API_TOKEN_VAR" }}'
+stackql shell --auth="${AUTH}"
+
+```
+or using PowerShell:
+
+```powershell
+
+$Auth = "{ 'okta': { 'type': 'api_key', 'valuePrefix': 'SSWS ', 'credentialsenvvar': 'YOUR_OKTA_API_TOKEN_VAR' }}"
+stackql.exe shell --auth=$Auth
+
+```
+
+
+
+## Server Parameters
+
+
+The following parameter is required for the `okta` provider:
+
+- - The Okta tenant domain, for example my-company would be supplied if your Okta domain is my-company.okta.com
+
+This parameter must be supplied to the `WHERE` clause of each `SELECT` statement.
+
+## Services
+
diff --git a/website/docs/services/agentpools/agent_pool_update_settings/index.md b/website/docs/services/agentpools/agent_pool_update_settings/index.md
new file mode 100644
index 0000000..f5f099d
--- /dev/null
+++ b/website/docs/services/agentpools/agent_pool_update_settings/index.md
@@ -0,0 +1,205 @@
+---
+title: agent_pool_update_settings
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - agent_pool_update_settings
+ - agentpools
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists an agent_pool_update_settings resource.
+
+## Overview
+
+| Name | agent_pool_update_settings |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Agent types that are being monitored |
+
+
+ |
+ boolean |
+ Continues the update even if some agents fail to update |
+
+
+ |
+ string |
+ Latest version of the agent (example: 3.20.0) |
+
+
+ |
+ string |
+ Minimal version of the agent (example: 3.19.0) |
+
+
+ |
+ string |
+ ID of the agent pool that the settings apply to (example: 0oa3eu7ekG8tjbD9J5s6) |
+
+
+ |
+ string |
+ Pool name (example: iwa.dc) |
+
+
+ |
+ string |
+ Release channel for auto-update |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves the current state of the agent pool update instance settings |
+
+
+ |
+ |
+ subdomain |
+ |
+ Updates an agent pool update instance settings |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Retrieves the current state of the agent pool update instance settings
+
+```sql
+SELECT
+agentType,
+continueOnError,
+latestVersion,
+minimalSupportedVersion,
+poolId,
+poolName,
+releaseChannel
+FROM okta.agentpools.agent_pool_update_settings
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `UPDATE` examples
+
+
+
+
+Updates an agent pool update instance settings
+
+```sql
+UPDATE okta.agentpools.agent_pool_update_settings
+SET
+data__agentType = '{{ agentType }}',
+data__continueOnError = {{ continueOnError }},
+data__latestVersion = '{{ latestVersion }}',
+data__minimalSupportedVersion = '{{ minimalSupportedVersion }}',
+data__poolName = '{{ poolName }}',
+data__releaseChannel = '{{ releaseChannel }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+agentType,
+continueOnError,
+latestVersion,
+minimalSupportedVersion,
+poolId,
+poolName,
+releaseChannel;
+```
+
+
diff --git a/website/docs/services/agentpools/agent_pool_updates/index.md b/website/docs/services/agentpools/agent_pool_updates/index.md
new file mode 100644
index 0000000..1511eca
--- /dev/null
+++ b/website/docs/services/agentpools/agent_pool_updates/index.md
@@ -0,0 +1,619 @@
+---
+title: agent_pool_updates
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - agent_pool_updates
+ - agentpools
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists an agent_pool_updates resource.
+
+## Overview
+
+| Name | agent_pool_updates |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ ID of the agent pool update |
+
+
+ |
+ string |
+ Name of the agent pool update (example: region1A.dc) |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ Agent types that are being monitored |
+
+
+ |
+ array |
+ |
+
+
+ |
+ boolean |
+ Indicates if auto-update is enabled for the agent pool |
+
+
+ |
+ boolean |
+ Indicates if the admin is notified about the update |
+
+
+ |
+ string |
+ Reason for the update (example: Update failed.) |
+
+
+ |
+ object |
+ The schedule of auto-update configured by the admin |
+
+
+ |
+ integer |
+ Specifies the sort order |
+
+
+ |
+ string |
+ Overall state for the auto-update job from the admin perspective |
+
+
+ |
+ string |
+ The agent version to update to (example: 3.20.0) |
+
+
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ ID of the agent pool update |
+
+
+ |
+ string |
+ Name of the agent pool update (example: region1A.dc) |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ Agent types that are being monitored |
+
+
+ |
+ array |
+ |
+
+
+ |
+ boolean |
+ Indicates if auto-update is enabled for the agent pool |
+
+
+ |
+ boolean |
+ Indicates if the admin is notified about the update |
+
+
+ |
+ string |
+ Reason for the update (example: Update failed.) |
+
+
+ |
+ object |
+ The schedule of auto-update configured by the admin |
+
+
+ |
+ integer |
+ Specifies the sort order |
+
+
+ |
+ string |
+ Overall state for the auto-update job from the admin perspective |
+
+
+ |
+ string |
+ The agent version to update to (example: 3.20.0) |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ scheduled |
+ Lists all agent pool updates |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves an agent pool update by its `updateId` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Creates an agent pool update |
+
+
+ |
+ |
+ subdomain |
+ |
+ Updates an agent pool update instance and returns the latest agent pool update |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes agent pool update |
+
+
+ |
+ |
+ subdomain |
+ |
+ Activates a scheduled agent pool update |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deactivates scheduled agent pool update |
+
+
+ |
+ |
+ subdomain |
+ |
+ Pauses a running or queued agent pool update |
+
+
+ |
+ |
+ subdomain |
+ |
+ Resumes a running or queued agent pool update |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retries an agent pool update if the update is unsuccessful or communication with Okta was interrupted during an agent auto-update |
+
+
+ |
+ |
+ subdomain |
+ |
+ Stops an agent pool update |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ boolean |
+ Return only scheduled or ad-hoc updates. If this parameter isn't provided, Okta returns the entire list of updates. |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all agent pool updates
+
+```sql
+SELECT
+id,
+name,
+_links,
+agentType,
+agents,
+enabled,
+notifyAdmin,
+reason,
+schedule,
+sortOrder,
+status,
+targetVersion
+FROM okta.agentpools.agent_pool_updates
+WHERE subdomain = '{{ subdomain }}' -- required
+AND scheduled = '{{ scheduled }}';
+```
+
+
+
+Retrieves an agent pool update by its `updateId`
+
+```sql
+SELECT
+id,
+name,
+_links,
+agentType,
+agents,
+enabled,
+notifyAdmin,
+reason,
+schedule,
+sortOrder,
+status,
+targetVersion
+FROM okta.agentpools.agent_pool_updates
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Creates an agent pool update
+
+```sql
+INSERT INTO okta.agentpools.agent_pool_updates (
+data__agents,
+data__agentType,
+data__enabled,
+data__name,
+data__notifyAdmin,
+data__reason,
+data__schedule,
+data__sortOrder,
+data__status,
+data__targetVersion,
+subdomain
+)
+SELECT
+'{{ agents }}',
+'{{ agentType }}',
+{{ enabled }},
+'{{ name }}',
+{{ notifyAdmin }},
+'{{ reason }}',
+'{{ schedule }}',
+{{ sortOrder }},
+'{{ status }}',
+'{{ targetVersion }}',
+'{{ subdomain }}'
+RETURNING
+id,
+name,
+_links,
+agentType,
+agents,
+enabled,
+notifyAdmin,
+reason,
+schedule,
+sortOrder,
+status,
+targetVersion
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: agent_pool_updates
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the agent_pool_updates resource.
+ - name: agents
+ value: array
+ - name: agentType
+ value: string
+ description: >
+ Agent types that are being monitored
+
+ valid_values: ['AD', 'IWA', 'LDAP', 'MFA', 'OPP', 'RUM', 'Radius']
+ - name: enabled
+ value: boolean
+ description: >
+ Indicates if auto-update is enabled for the agent pool
+
+ - name: name
+ value: string
+ description: >
+ Name of the agent pool update
+
+ - name: notifyAdmin
+ value: boolean
+ description: >
+ Indicates if the admin is notified about the update
+
+ - name: reason
+ value: string
+ description: >
+ Reason for the update
+
+ - name: schedule
+ value: object
+ description: >
+ The schedule of auto-update configured by the admin
+
+ - name: sortOrder
+ value: integer
+ description: >
+ Specifies the sort order
+
+ - name: status
+ value: string
+ description: >
+ Overall state for the auto-update job from the admin perspective
+
+ valid_values: ['Cancelled', 'Failed', 'InProgress', 'Paused', 'Scheduled', 'Success']
+ - name: targetVersion
+ value: string
+ description: >
+ The agent version to update to
+
+```
+
+
+
+
+## `UPDATE` examples
+
+
+
+
+Updates an agent pool update instance and returns the latest agent pool update
+
+```sql
+UPDATE okta.agentpools.agent_pool_updates
+SET
+data__agents = '{{ agents }}',
+data__agentType = '{{ agentType }}',
+data__enabled = {{ enabled }},
+data__name = '{{ name }}',
+data__notifyAdmin = {{ notifyAdmin }},
+data__reason = '{{ reason }}',
+data__schedule = '{{ schedule }}',
+data__sortOrder = {{ sortOrder }},
+data__status = '{{ status }}',
+data__targetVersion = '{{ targetVersion }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+id,
+name,
+_links,
+agentType,
+agents,
+enabled,
+notifyAdmin,
+reason,
+schedule,
+sortOrder,
+status,
+targetVersion;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes agent pool update
+
+```sql
+DELETE FROM okta.agentpools.agent_pool_updates
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
+
+
+## Lifecycle Methods
+
+
+
+
+Activates a scheduled agent pool update
+
+```sql
+EXEC okta.agentpools.agent_pool_updates.activate_agent_pools_update
+@subdomain='{{ subdomain }}' --required;
+```
+
+
+
+Deactivates scheduled agent pool update
+
+```sql
+EXEC okta.agentpools.agent_pool_updates.deactivate_agent_pools_update
+@subdomain='{{ subdomain }}' --required;
+```
+
+
+
+Pauses a running or queued agent pool update
+
+```sql
+EXEC okta.agentpools.agent_pool_updates.pause_agent_pools_update
+@subdomain='{{ subdomain }}' --required;
+```
+
+
+
+Resumes a running or queued agent pool update
+
+```sql
+EXEC okta.agentpools.agent_pool_updates.resume_agent_pools_update
+@subdomain='{{ subdomain }}' --required;
+```
+
+
+
+Retries an agent pool update if the update is unsuccessful or communication with Okta was interrupted during an agent auto-update
+
+```sql
+EXEC okta.agentpools.agent_pool_updates.retry_agent_pools_update
+@subdomain='{{ subdomain }}' --required;
+```
+
+
+
+Stops an agent pool update
+
+```sql
+EXEC okta.agentpools.agent_pool_updates.stop_agent_pools_update
+@subdomain='{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/agentpools/agent_pools/index.md b/website/docs/services/agentpools/agent_pools/index.md
new file mode 100644
index 0000000..0516471
--- /dev/null
+++ b/website/docs/services/agentpools/agent_pools/index.md
@@ -0,0 +1,186 @@
+---
+title: agent_pools
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - agent_pools
+ - agentpools
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists an agent_pools resource.
+
+## Overview
+
+| Name | agent_pools |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Agent pool ID |
+
+
+ |
+ string |
+ Agent pool name |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ array |
+ |
+
+
+ |
+ integer |
+ Number of agents in the pool that are in a disrupted state |
+
+
+ |
+ integer |
+ Number of agents in the pool that are in an inactive state |
+
+
+ |
+ string |
+ Operational status of a given agent |
+
+
+ |
+ string |
+ Agent types that are being monitored |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ limitPerPoolType, poolType, after |
+ Lists all agent pools with pagination support |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ The cursor to use for pagination. It is an opaque string that specifies your current location in the list and is obtained from the `Link` response header. See [Pagination](https://developer.okta.com/docs/api/#pagination). |
+
+
+ |
+ integer |
+ Maximum number of agent pools returned |
+
+
+ |
+ string |
+ Agent type to search for |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all agent pools with pagination support
+
+```sql
+SELECT
+id,
+name,
+_links,
+agents,
+disruptedAgents,
+inactiveAgents,
+operationalStatus,
+type
+FROM okta.agentpools.agent_pools
+WHERE subdomain = '{{ subdomain }}' -- required
+AND limitPerPoolType = '{{ limitPerPoolType }}'
+AND poolType = '{{ poolType }}'
+AND after = '{{ after }}';
+```
+
+
diff --git a/website/docs/services/agentpools/index.md b/website/docs/services/agentpools/index.md
new file mode 100644
index 0000000..70adf39
--- /dev/null
+++ b/website/docs/services/agentpools/index.md
@@ -0,0 +1,34 @@
+---
+title: agentpools
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - agentpools
+ - okta
+ - stackql
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+agentpools service documentation.
+
+:::info[Service Summary]
+
+total resources: __3__
+
+:::
+
+## Resources
+
\ No newline at end of file
diff --git a/website/docs/services/api_tokens/api_tokens/index.md b/website/docs/services/api_tokens/api_tokens/index.md
new file mode 100644
index 0000000..8c01149
--- /dev/null
+++ b/website/docs/services/api_tokens/api_tokens/index.md
@@ -0,0 +1,360 @@
+---
+title: api_tokens
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - api_tokens
+ - api_tokens
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists an api_tokens resource.
+
+## Overview
+
+| Name | api_tokens |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ |
+
+
+ |
+ string |
+ |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ |
+
+
+ |
+ string (date-time) |
+ |
+
+
+ |
+ string (date-time) |
+ |
+
+
+ |
+ string (date-time) |
+ |
+
+
+ |
+ object |
+ The Network Condition of the API Token |
+
+
+ |
+ string |
+ A time duration specified as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). (pattern: ^P(?:$)(\d+Y)?(\d+M)?(\d+W)?(\d+D)?(T(?:\d)(\d+H)?(\d+M)?(\d+S)?)?$) |
+
+
+ |
+ string |
+ |
+
+
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ |
+
+
+ |
+ string |
+ |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ |
+
+
+ |
+ string (date-time) |
+ |
+
+
+ |
+ string (date-time) |
+ |
+
+
+ |
+ string (date-time) |
+ |
+
+
+ |
+ object |
+ The Network Condition of the API Token |
+
+
+ |
+ string |
+ A time duration specified as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). (pattern: ^P(?:$)(\d+Y)?(\d+M)?(\d+W)?(\d+D)?(T(?:\d)(\d+H)?(\d+M)?(\d+S)?)?$) |
+
+
+ |
+ string |
+ |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all the metadata of the active API tokens |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves the metadata for an active API token by `apiTokenId` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Upserts an API Token Network Condition by `apiTokenId` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Revokes the API token provided in the Authorization header |
+
+
+ |
+ |
+ subdomain |
+ |
+ Revokes an API token by `apiTokenId` |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all the metadata of the active API tokens
+
+```sql
+SELECT
+id,
+name,
+_link,
+clientName,
+created,
+expiresAt,
+lastUpdated,
+network,
+tokenWindow,
+userId
+FROM okta.api_tokens.api_tokens
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+Retrieves the metadata for an active API token by `apiTokenId`
+
+```sql
+SELECT
+id,
+name,
+_link,
+clientName,
+created,
+expiresAt,
+lastUpdated,
+network,
+tokenWindow,
+userId
+FROM okta.api_tokens.api_tokens
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Upserts an API Token Network Condition by `apiTokenId`
+
+```sql
+REPLACE okta.api_tokens.api_tokens
+SET
+data__name = '{{ name }}',
+data__network = '{{ network }}',
+data__userId = '{{ userId }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+id,
+name,
+_link,
+clientName,
+created,
+expiresAt,
+lastUpdated,
+network,
+tokenWindow,
+userId;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Revokes the API token provided in the Authorization header
+
+```sql
+DELETE FROM okta.api_tokens.api_tokens
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
+
+Revokes an API token by `apiTokenId`
+
+```sql
+DELETE FROM okta.api_tokens.api_tokens
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/api_tokens/index.md b/website/docs/services/api_tokens/index.md
new file mode 100644
index 0000000..8756c22
--- /dev/null
+++ b/website/docs/services/api_tokens/index.md
@@ -0,0 +1,33 @@
+---
+title: api_tokens
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - api_tokens
+ - okta
+ - stackql
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+api_tokens service documentation.
+
+:::info[Service Summary]
+
+total resources: __1__
+
+:::
+
+## Resources
+
\ No newline at end of file
diff --git a/website/docs/services/apps/application_users/index.md b/website/docs/services/apps/application_users/index.md
new file mode 100644
index 0000000..340c02b
--- /dev/null
+++ b/website/docs/services/apps/application_users/index.md
@@ -0,0 +1,519 @@
+---
+title: application_users
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - application_users
+ - apps
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists an application_users resource.
+
+## Overview
+
+| Name | application_users |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Unique identifier for the Okta user (example: 00u11z6WHMYCGPCHCRFK) |
+
+
+ |
+ object |
+ Embedded resources related to the application user using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of resources related to the application user. |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was created (example: 2017-03-28T01:11:10.000Z) |
+
+
+ |
+ object |
+ Specifies a user's credentials for the app. This parameter can be omitted for apps with [sign-on mode](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Application/#tag/Application/operation/getApplication!c=200&path=0/signOnMode&t=response) (`signOnMode`) or [authentication schemes](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Application/#tag/Application/operation/getApplication!c=200&path=0/credentials/scheme&t=response) (`credentials.scheme`) that don't require credentials. |
+
+
+ |
+ string |
+ The ID of the user in the target app that's linked to the Okta application user object. This value is the native app-specific identifier or primary key for the user in the target app. The `externalId` is set during import when the user is confirmed (reconciled) or during provisioning when the user is created in the target app. This value isn't populated for SSO app assignments (for example, SAML or SWA) because it isn't synchronized with a target app. (example: 70c14cc17d3745e8a9f98d599a68329c) |
+
+
+ |
+ string (date-time) |
+ Timestamp of the last synchronization operation. This value is only updated for apps with the `IMPORT_PROFILE_UPDATES` or `PUSH PROFILE_UPDATES` feature. (example: 2014-06-24T15:27:59.000Z) |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was last updated (example: 2014-06-24T15:28:14.000Z) |
+
+
+ |
+ string (date-time) |
+ Timestamp when the application user password was last changed (example: 2014-06-24T15:27:59.000Z) |
+
+
+ |
+ object |
+ Specifies the default and custom profile properties for a user. Properties that are visible in the Admin Console for an app assignment can also be assigned through the API. Some properties are reference properties that are imported from the target app and can't be configured. See [profile](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#tag/User/operation/getUser!c=200&path=profile&t=response). |
+
+
+ |
+ string |
+ Indicates if the assignment is direct (`USER`) or by group membership (`GROUP`). (example: USER) |
+
+
+ |
+ string |
+ Status of an application user (example: ACTIVE) |
+
+
+ |
+ string (date-time) |
+ Timestamp when the application user status was last changed (example: 2014-06-24T15:28:14.000Z) |
+
+
+ |
+ string |
+ The synchronization state for the application user. The application user's `syncState` depends on whether the `PROFILE_MASTERING` feature is enabled for the app. > **Note:** User provisioning currently must be configured through the Admin Console. (example: SYNCHRONIZED) |
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Unique identifier for the Okta user (example: 00u11z6WHMYCGPCHCRFK) |
+
+
+ |
+ object |
+ Embedded resources related to the application user using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of resources related to the application user. |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was created (example: 2017-03-28T01:11:10.000Z) |
+
+
+ |
+ object |
+ Specifies a user's credentials for the app. This parameter can be omitted for apps with [sign-on mode](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Application/#tag/Application/operation/getApplication!c=200&path=0/signOnMode&t=response) (`signOnMode`) or [authentication schemes](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Application/#tag/Application/operation/getApplication!c=200&path=0/credentials/scheme&t=response) (`credentials.scheme`) that don't require credentials. |
+
+
+ |
+ string |
+ The ID of the user in the target app that's linked to the Okta application user object. This value is the native app-specific identifier or primary key for the user in the target app. The `externalId` is set during import when the user is confirmed (reconciled) or during provisioning when the user is created in the target app. This value isn't populated for SSO app assignments (for example, SAML or SWA) because it isn't synchronized with a target app. (example: 70c14cc17d3745e8a9f98d599a68329c) |
+
+
+ |
+ string (date-time) |
+ Timestamp of the last synchronization operation. This value is only updated for apps with the `IMPORT_PROFILE_UPDATES` or `PUSH PROFILE_UPDATES` feature. (example: 2014-06-24T15:27:59.000Z) |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was last updated (example: 2014-06-24T15:28:14.000Z) |
+
+
+ |
+ string (date-time) |
+ Timestamp when the application user password was last changed (example: 2014-06-24T15:27:59.000Z) |
+
+
+ |
+ object |
+ Specifies the default and custom profile properties for a user. Properties that are visible in the Admin Console for an app assignment can also be assigned through the API. Some properties are reference properties that are imported from the target app and can't be configured. See [profile](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#tag/User/operation/getUser!c=200&path=profile&t=response). |
+
+
+ |
+ string |
+ Indicates if the assignment is direct (`USER`) or by group membership (`GROUP`). (example: USER) |
+
+
+ |
+ string |
+ Status of an application user (example: ACTIVE) |
+
+
+ |
+ string (date-time) |
+ Timestamp when the application user status was last changed (example: 2014-06-24T15:28:14.000Z) |
+
+
+ |
+ string |
+ The synchronization state for the application user. The application user's `syncState` depends on whether the `PROFILE_MASTERING` feature is enabled for the app. > **Note:** User provisioning currently must be configured through the Admin Console. (example: SYNCHRONIZED) |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ after, limit, q, expand |
+ Lists all assigned users for an app |
+
+
+ |
+ |
+ subdomain |
+ expand |
+ Retrieves a specific user assignment for a specific app |
+
+
+ |
+ |
+ subdomain |
+ |
+ Assigns a user to an app for:
* SSO only<br> Assignments to SSO apps typically don't include a user profile. However, if your SSO app requires a profile but doesn't have provisioning enabled, you can add profile attributes in the request body.
* SSO and provisioning<br> Assignments to SSO and provisioning apps typically include credentials and an app-specific profile. Profile mappings defined for the app are applied first before applying any profile properties that are specified in the request body. > **Notes:** > * When Universal Directory is enabled, you can only specify profile properties that aren't defined in profile mappings. > * Omit mapped properties during assignment to minimize assignment errors. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Updates the profile or credentials of a user assigned to an app |
+
+
+ |
+ |
+ subdomain |
+ sendEmail |
+ Unassigns a user from an app
For directories like Active Directory and LDAP, they act as the owner of the user's credential with Okta delegating authentication (DelAuth) to that directory. If this request is successful for a user when DelAuth is enabled, then the user is in a state with no password. You can then reset the user's password.
> **Important:** This is a destructive operation. You can't recover the user's app profile. If the app is enabled for provisioning and configured to deactivate users, the user is also deactivated in the target app. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ Specifies the pagination cursor for the next page of results. Treat this as an opaque value obtained through the next link relationship. See [Pagination]https://developer.okta.com/docs/api#pagination. |
+
+
+ |
+ string |
+ An optional query parameter to return the corresponding [User](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/) object in the `_embedded` property. Valid value: `user` |
+
+
+ |
+ integer (int32) |
+ Specifies the number of objects to return per page. If there are multiple pages of results, the Link header contains a `next` link that you need to use as an opaque value (follow it, don't parse it). See [Pagination]https://developer.okta.com/docs/api#pagination. |
+
+
+ |
+ string |
+ Specifies a filter for the list of application users returned based on their profile attributes. The value of `q` is matched against the beginning of the following profile attributes: `userName`, `firstName`, `lastName`, and `email`. This filter only supports the `startsWith` operation that matches the `q` string against the beginning of the attribute values. > **Note:** For OIDC apps, user profiles don't contain the `firstName` or `lastName` attributes. Therefore, the query only matches against the `userName` or `email` attributes. |
+
+
+ |
+ boolean |
+ Sends a deactivation email to the administrator if `true` |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all assigned users for an app
+
+```sql
+SELECT
+id,
+_embedded,
+_links,
+created,
+credentials,
+externalId,
+lastSync,
+lastUpdated,
+passwordChanged,
+profile,
+scope,
+status,
+statusChanged,
+syncState
+FROM okta.apps.application_users
+WHERE subdomain = '{{ subdomain }}' -- required
+AND after = '{{ after }}'
+AND limit = '{{ limit }}'
+AND q = '{{ q }}'
+AND expand = '{{ expand }}';
+```
+
+
+
+Retrieves a specific user assignment for a specific app
+
+```sql
+SELECT
+id,
+_embedded,
+_links,
+created,
+credentials,
+externalId,
+lastSync,
+lastUpdated,
+passwordChanged,
+profile,
+scope,
+status,
+statusChanged,
+syncState
+FROM okta.apps.application_users
+WHERE subdomain = '{{ subdomain }}' -- required
+AND expand = '{{ expand }}';
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Assigns a user to an app for:
* SSO only<br>
Assignments to SSO apps typically don't include a user profile.
However, if your SSO app requires a profile but doesn't have provisioning enabled, you can add profile attributes in the request body.
* SSO and provisioning<br>
Assignments to SSO and provisioning apps typically include credentials and an app-specific profile.
Profile mappings defined for the app are applied first before applying any profile properties that are specified in the request body.
> **Notes:**
> * When Universal Directory is enabled, you can only specify profile properties that aren't defined in profile mappings.
> * Omit mapped properties during assignment to minimize assignment errors.
+
+```sql
+INSERT INTO okta.apps.application_users (
+data__credentials,
+data__id,
+data__profile,
+data__scope,
+subdomain
+)
+SELECT
+'{{ credentials }}',
+'{{ id }}' --required,
+'{{ profile }}',
+'{{ scope }}',
+'{{ subdomain }}'
+RETURNING
+id,
+_embedded,
+_links,
+created,
+credentials,
+externalId,
+lastSync,
+lastUpdated,
+passwordChanged,
+profile,
+scope,
+status,
+statusChanged,
+syncState
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: application_users
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the application_users resource.
+ - name: credentials
+ value: object
+ description: >
+ Specifies a user's credentials for the app.
+This parameter can be omitted for apps with [sign-on mode](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Application/#tag/Application/operation/getApplication!c=200&path=0/signOnMode&t=response) (`signOnMode`) or [authentication schemes](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Application/#tag/Application/operation/getApplication!c=200&path=0/credentials/scheme&t=response) (`credentials.scheme`) that don't require credentials.
+
+ - name: id
+ value: string
+ description: >
+ Unique identifier for the Okta user
+
+ - name: profile
+ value: object
+ description: >
+ Specifies the default and custom profile properties for a user.
+Properties that are visible in the Admin Console for an app assignment can also be assigned through the API.
+Some properties are reference properties that are imported from the target app and can't be configured.
+See [profile](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#tag/User/operation/getUser!c=200&path=profile&t=response).
+
+ - name: scope
+ value: string
+ description: >
+ Indicates if the assignment is direct (`USER`) or by group membership (`GROUP`).
+
+ valid_values: ['USER', 'GROUP']
+```
+
+
+
+
+## `UPDATE` examples
+
+
+
+
+Updates the profile or credentials of a user assigned to an app
+
+```sql
+UPDATE okta.apps.application_users
+SET
+-- No updatable properties
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+id,
+_embedded,
+_links,
+created,
+credentials,
+externalId,
+lastSync,
+lastUpdated,
+passwordChanged,
+profile,
+scope,
+status,
+statusChanged,
+syncState;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Unassigns a user from an app
For directories like Active Directory and LDAP, they act as the owner of the user's credential with Okta delegating authentication (DelAuth) to that directory.
If this request is successful for a user when DelAuth is enabled, then the user is in a state with no password. You can then reset the user's password.
> **Important:** This is a destructive operation. You can't recover the user's app profile. If the app is enabled for provisioning and configured to deactivate users, the user is also deactivated in the target app.
+
+```sql
+DELETE FROM okta.apps.application_users
+WHERE subdomain = '{{ subdomain }}' --required
+AND sendEmail = '{{ sendEmail }}';
+```
+
+
diff --git a/website/docs/services/apps/applications/index.md b/website/docs/services/apps/applications/index.md
new file mode 100644
index 0000000..998a5e2
--- /dev/null
+++ b/website/docs/services/apps/applications/index.md
@@ -0,0 +1,705 @@
+---
+title: applications
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - applications
+ - apps
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists an applications resource.
+
+## Overview
+
+| Name | applications |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Unique ID for the app instance |
+
+
+ |
+ object |
+ Embedded resources related to the app using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. If the `expand=user/{userId}` query parameter is specified, then the assigned [Application User](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/ApplicationUsers/) is embedded. |
+
+
+ |
+ object |
+ Discoverable resources related to the app |
+
+
+ |
+ object |
+ Specifies access settings for the app |
+
+
+ |
+ string (date-time) |
+ Timestamp when the application object was created |
+
+
+ |
+ array |
+ Enabled app features > **Note:** See [Application Features](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/ApplicationFeatures/) for app provisioning features. |
+
+
+ |
+ string |
+ User-defined display name for app |
+
+
+ |
+ string (date-time) |
+ Timestamp when the application object was last updated |
+
+
+ |
+ object |
+ Licenses for the app |
+
+
+ |
+ string |
+ The Okta resource name (ORN) for the current app instance |
+
+
+ |
+ object |
+ Contains any valid JSON schema for specifying properties that can be referenced from a request (only available to OAuth 2.0 client apps). For example, add an app manager contact email address or define an allowlist of groups that you can then reference using the Okta Expression Language `getFilteredGroups` function. > **Notes:** > * `profile` isn't encrypted, so don't store sensitive data in it. > * `profile` doesn't limit the level of nesting in the JSON schema you created, but there is a practical size limit. Okta recommends a JSON schema size of 1 MB or less for best performance. |
+
+
+ |
+ string |
+ Authentication mode for the app | signOnMode | Description | | ---------- | ----------- | | AUTO_LOGIN | Secure Web Authentication (SWA) | | BASIC_AUTH | HTTP Basic Authentication with Okta Browser Plugin | | BOOKMARK | Just a bookmark (no-authentication) | | BROWSER_PLUGIN | Secure Web Authentication (SWA) with Okta Browser Plugin | | OPENID_CONNECT | Federated Authentication with OpenID Connect (OIDC) | | SAML_1_1 | Federated Authentication with SAML 1.1 WebSSO (not supported for custom apps) | | SAML_2_0 | Federated Authentication with SAML 2.0 WebSSO | | SECURE_PASSWORD_STORE | Secure Web Authentication (SWA) with POST (plugin not required) | | WS_FEDERATION | Federated Authentication with WS-Federation Passive Requestor Profile | Select the `signOnMode` for your custom app: |
+
+
+ |
+ string |
+ App instance status |
+
+
+ |
+ object |
+ <div class="x-lifecycle-container"><x-lifecycle class="oie"></x-lifecycle></div> Universal Logout properties for the app. These properties are only returned and can't be updated. (example: ACTIVE) |
+
+
+ |
+ object |
+ Specifies visibility settings for the app |
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Unique ID for the app instance |
+
+
+ |
+ object |
+ Embedded resources related to the app using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. If the `expand=user/{userId}` query parameter is specified, then the assigned [Application User](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/ApplicationUsers/) is embedded. |
+
+
+ |
+ object |
+ Discoverable resources related to the app |
+
+
+ |
+ object |
+ Specifies access settings for the app |
+
+
+ |
+ string (date-time) |
+ Timestamp when the application object was created |
+
+
+ |
+ array |
+ Enabled app features > **Note:** See [Application Features](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/ApplicationFeatures/) for app provisioning features. |
+
+
+ |
+ string |
+ User-defined display name for app |
+
+
+ |
+ string (date-time) |
+ Timestamp when the application object was last updated |
+
+
+ |
+ object |
+ Licenses for the app |
+
+
+ |
+ string |
+ The Okta resource name (ORN) for the current app instance |
+
+
+ |
+ object |
+ Contains any valid JSON schema for specifying properties that can be referenced from a request (only available to OAuth 2.0 client apps). For example, add an app manager contact email address or define an allowlist of groups that you can then reference using the Okta Expression Language `getFilteredGroups` function. > **Notes:** > * `profile` isn't encrypted, so don't store sensitive data in it. > * `profile` doesn't limit the level of nesting in the JSON schema you created, but there is a practical size limit. Okta recommends a JSON schema size of 1 MB or less for best performance. |
+
+
+ |
+ string |
+ Authentication mode for the app | signOnMode | Description | | ---------- | ----------- | | AUTO_LOGIN | Secure Web Authentication (SWA) | | BASIC_AUTH | HTTP Basic Authentication with Okta Browser Plugin | | BOOKMARK | Just a bookmark (no-authentication) | | BROWSER_PLUGIN | Secure Web Authentication (SWA) with Okta Browser Plugin | | OPENID_CONNECT | Federated Authentication with OpenID Connect (OIDC) | | SAML_1_1 | Federated Authentication with SAML 1.1 WebSSO (not supported for custom apps) | | SAML_2_0 | Federated Authentication with SAML 2.0 WebSSO | | SECURE_PASSWORD_STORE | Secure Web Authentication (SWA) with POST (plugin not required) | | WS_FEDERATION | Federated Authentication with WS-Federation Passive Requestor Profile | Select the `signOnMode` for your custom app: |
+
+
+ |
+ string |
+ App instance status |
+
+
+ |
+ object |
+ <div class="x-lifecycle-container"><x-lifecycle class="oie"></x-lifecycle></div> Universal Logout properties for the app. These properties are only returned and can't be updated. (example: ACTIVE) |
+
+
+ |
+ object |
+ Specifies visibility settings for the app |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ q, after, useOptimization, limit, filter, expand, includeNonDeleted |
+ Lists all apps in the org with pagination. A subset of apps can be returned that match a supported filter expression or query. The results are [paginated]https://developer.okta.com/docs/api#pagination according to the `limit` parameter. If there are multiple pages of results, the header contains a `next` link. Treat the link as an opaque value (follow it, don't parse it).
> **Note:** To list all of a member's assigned app links, use the [List all assigned app links endpoint in the User Resources API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserResources/#tag/UserResources/operation/listAppLinks). |
+
+
+ |
+ |
+ subdomain |
+ expand |
+ Retrieves an application from your Okta organization by `id` |
+
+
+ |
+ |
+ subdomain |
+ activate, OktaAccessGateway-Agent |
+ Creates an app instance in your Okta org.
You can either create an OIN app instance or a custom app instance: * OIN app instances have prescribed `name` (key app definition) and `signOnMode` options. See the [OIN schemas](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Application/#tag/Application/schema/GoogleApplication) for the request body. * For custom app instances, select the [signOnMode](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Application/#tag/Application/operation/createApplication!path=0/signOnMode&t=request) that pertains to your app and specify the required parameters in the request body.
|
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces properties for an application > **Notes:** > * All required properties must be specified in the request body > * You can't modify system-assigned properties, such as `id`, `name`, `status`, `created`, and `lastUpdated`. The values for these properties in the PUT request body are ignored.
|
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes an inactive application |
+
+
+ |
+ |
+ subdomain |
+ |
+ Activates an inactive application |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deactivates an active application
> **Note:** Deactivating an app triggers a full reconciliation of all users assigned to the app by groups. This reconcile process removes the app assignment for the deactivated app, and might also correct assignments that were supposed to be removed but failed previously. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Uploads a logo for the app instance. If the app already has a logo, this operation replaces the previous logo.
The logo is visible in the Admin Console as an icon for your app instance. If you have one `appLink` object configured, this logo also appears in the End-User Dashboard as an icon for your app. > **Note:** If you have multiple `appLink` objects, use the Admin Console to add logos for each app link. > You can't use the API to add logos for multiple app links.
|
+
+
+ |
+ |
+ subdomain |
+ |
+ Assigns an app to an [authentication policy](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Policy/), identified by `policyId`. If the app was previously assigned to another policy, this operation replaces that assignment with the updated policy identified by `policyId`.
> **Note:** When you [merge duplicate authentication policies](https://help.okta.com/okta_help.htm?type=oie&id=ext-merge-auth-policies), the policy and mapping CRUD operations may be unavailable during the consolidation. When the consolidation is complete, you receive an email with merged results. |
+
+
+ |
+ |
+ kid, subdomain |
+ |
+ Previews the SSO SAML metadata for an application |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ |
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ |
+
+
+ |
+ boolean |
+ Executes activation lifecycle operation when creating the app |
+
+
+ |
+ string |
+ Specifies the [pagination]https://developer.okta.com/docs/api#pagination cursor for the next page of results. Treat this as an opaque value obtained through the `next` link relationship. |
+
+
+ |
+ string |
+ An optional query parameter to return the specified [Application User](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/ApplicationUsers/) in the `_embedded` property. Valid value: `expand=user/{userId}` |
+
+
+ |
+ string |
+ Filters apps by `status`, `user.id`, `group.id`, `credentials.signing.kid` or `name` expression that supports the `eq` operator |
+
+
+ |
+ boolean |
+ Specifies whether to include non-active, but not deleted apps in the results |
+
+
+ |
+ integer (int32) |
+ Specifies the number of results per page |
+
+
+ |
+ string |
+ Searches for apps with `name` or `label` properties that starts with the `q` value using the `startsWith` operation |
+
+
+ |
+ boolean |
+ Specifies whether to use query optimization. If you specify `useOptimization=true` in the request query, the response contains a subset of app instance properties. |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all apps in the org with pagination. A subset of apps can be returned that match a supported filter expression or query. The results are [paginated]https://developer.okta.com/docs/api#pagination according to the `limit` parameter. If there are multiple pages of results, the header contains a `next` link. Treat the link as an opaque value (follow it, don't parse it).
> **Note:** To list all of a member's assigned app links, use the [List all assigned app links endpoint in the User Resources API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserResources/#tag/UserResources/operation/listAppLinks).
+
+```sql
+SELECT
+id,
+_embedded,
+_links,
+accessibility,
+created,
+features,
+label,
+lastUpdated,
+licensing,
+orn,
+profile,
+signOnMode,
+status,
+universalLogout,
+visibility
+FROM okta.apps.applications
+WHERE subdomain = '{{ subdomain }}' -- required
+AND q = '{{ q }}'
+AND after = '{{ after }}'
+AND useOptimization = '{{ useOptimization }}'
+AND limit = '{{ limit }}'
+AND filter = '{{ filter }}'
+AND expand = '{{ expand }}'
+AND includeNonDeleted = '{{ includeNonDeleted }}';
+```
+
+
+
+Retrieves an application from your Okta organization by `id`
+
+```sql
+SELECT
+id,
+_embedded,
+_links,
+accessibility,
+created,
+features,
+label,
+lastUpdated,
+licensing,
+orn,
+profile,
+signOnMode,
+status,
+universalLogout,
+visibility
+FROM okta.apps.applications
+WHERE subdomain = '{{ subdomain }}' -- required
+AND expand = '{{ expand }}';
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Creates an app instance in your Okta org.
You can either create an OIN app instance or a custom app instance:
* OIN app instances have prescribed `name` (key app definition) and `signOnMode` options. See the [OIN schemas](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Application/#tag/Application/schema/GoogleApplication) for the request body.
* For custom app instances, select the [signOnMode](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Application/#tag/Application/operation/createApplication!path=0/signOnMode&t=request) that pertains to your app and specify the required parameters in the request body.
+
+```sql
+INSERT INTO okta.apps.applications (
+data__accessibility,
+data__label,
+data__licensing,
+data__profile,
+data__signOnMode,
+data__visibility,
+subdomain,
+activate,
+OktaAccessGateway-Agent
+)
+SELECT
+'{{ accessibility }}',
+'{{ label }}' --required,
+'{{ licensing }}',
+'{{ profile }}',
+'{{ signOnMode }}' --required,
+'{{ visibility }}',
+'{{ subdomain }}',
+'{{ activate }}',
+'{{ OktaAccessGateway-Agent }}'
+RETURNING
+id,
+_embedded,
+_links,
+accessibility,
+created,
+features,
+label,
+lastUpdated,
+licensing,
+orn,
+profile,
+signOnMode,
+status,
+universalLogout,
+visibility
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: applications
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the applications resource.
+ - name: accessibility
+ value: object
+ description: >
+ Specifies access settings for the app
+
+ - name: label
+ value: string
+ description: >
+ User-defined display name for app
+
+ - name: licensing
+ value: object
+ description: >
+ Licenses for the app
+
+ - name: profile
+ value: object
+ description: >
+ Contains any valid JSON schema for specifying properties that can be referenced from a request (only available to OAuth 2.0 client apps).
+For example, add an app manager contact email address or define an allowlist of groups that you can then reference using the Okta Expression Language `getFilteredGroups` function.
+
+> **Notes:**
+> * `profile` isn't encrypted, so don't store sensitive data in it.
+> * `profile` doesn't limit the level of nesting in the JSON schema you created, but there is a practical size limit. Okta recommends a JSON schema size of 1 MB or less for best performance.
+
+ - name: signOnMode
+ value: string
+ description: >
+ Authentication mode for the app
+
+| signOnMode | Description |
+| ---------- | ----------- |
+| AUTO_LOGIN | Secure Web Authentication (SWA) |
+| BASIC_AUTH | HTTP Basic Authentication with Okta Browser Plugin |
+| BOOKMARK | Just a bookmark (no-authentication) |
+| BROWSER_PLUGIN | Secure Web Authentication (SWA) with Okta Browser Plugin |
+| OPENID_CONNECT | Federated Authentication with OpenID Connect (OIDC) |
+| SAML_1_1 | Federated Authentication with SAML 1.1 WebSSO (not supported for custom apps) |
+| SAML_2_0 | Federated Authentication with SAML 2.0 WebSSO |
+| SECURE_PASSWORD_STORE | Secure Web Authentication (SWA) with POST (plugin not required) |
+| WS_FEDERATION | Federated Authentication with WS-Federation Passive Requestor Profile |
+
+Select the `signOnMode` for your custom app:
+
+ valid_values: ['AUTO_LOGIN', 'BASIC_AUTH', 'BOOKMARK', 'BROWSER_PLUGIN', 'OPENID_CONNECT', 'SAML_1_1', 'SAML_2_0', 'SECURE_PASSWORD_STORE', 'WS_FEDERATION']
+ - name: visibility
+ value: object
+ description: >
+ Specifies visibility settings for the app
+
+ - name: activate
+ value: boolean
+ description: Executes activation lifecycle operation when creating the app
+ - name: OktaAccessGateway-Agent
+ value: string
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces properties for an application
> **Notes:**
> * All required properties must be specified in the request body
> * You can't modify system-assigned properties, such as `id`, `name`, `status`, `created`, and `lastUpdated`. The values for these properties in the PUT request body are ignored.
+
+```sql
+REPLACE okta.apps.applications
+SET
+data__accessibility = '{{ accessibility }}',
+data__label = '{{ label }}',
+data__licensing = '{{ licensing }}',
+data__profile = '{{ profile }}',
+data__signOnMode = '{{ signOnMode }}',
+data__visibility = '{{ visibility }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+AND data__signOnMode = '{{ signOnMode }}' --required
+AND data__label = '{{ label }}' --required
+RETURNING
+id,
+_embedded,
+_links,
+accessibility,
+created,
+features,
+label,
+lastUpdated,
+licensing,
+orn,
+profile,
+signOnMode,
+status,
+universalLogout,
+visibility;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes an inactive application
+
+```sql
+DELETE FROM okta.apps.applications
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
+
+
+## Lifecycle Methods
+
+
+
+
+Activates an inactive application
+
+```sql
+EXEC okta.apps.applications.activate_application
+@subdomain='{{ subdomain }}' --required;
+```
+
+
+
+Deactivates an active application
> **Note:** Deactivating an app triggers a full reconciliation of all users assigned to the app by groups. This reconcile process removes the app assignment for the deactivated app, and might also correct assignments that were supposed to be removed but failed previously.
+
+```sql
+EXEC okta.apps.applications.deactivate_application
+@subdomain='{{ subdomain }}' --required;
+```
+
+
+
+Uploads a logo for the app instance.
If the app already has a logo, this operation replaces the previous logo.
The logo is visible in the Admin Console as an icon for your app instance.
If you have one `appLink` object configured, this logo also appears in the End-User Dashboard as an icon for your app.
> **Note:** If you have multiple `appLink` objects, use the Admin Console to add logos for each app link.
> You can't use the API to add logos for multiple app links.
+
+```sql
+EXEC okta.apps.applications.upload_application_logo
+@subdomain='{{ subdomain }}' --required
+@@json=
+'{
+"file": "{{ file }}"
+}';
+```
+
+
+
+Assigns an app to an [authentication policy](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Policy/), identified by `policyId`.
If the app was previously assigned to another policy, this operation replaces that assignment with the updated policy identified by `policyId`.
> **Note:** When you [merge duplicate authentication policies](https://help.okta.com/okta_help.htm?type=oie&id=ext-merge-auth-policies),
the policy and mapping CRUD operations may be unavailable during the consolidation. When the consolidation is complete, you receive an email with merged results.
+
+```sql
+EXEC okta.apps.applications.assign_application_policy
+@subdomain='{{ subdomain }}' --required;
+```
+
+
+
+Previews the SSO SAML metadata for an application
+
+```sql
+EXEC okta.apps.applications.preview_samlmetadata_for_application
+@kid='{{ kid }}' --required,
+@subdomain='{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/apps/connection_jwks/index.md b/website/docs/services/apps/connection_jwks/index.md
new file mode 100644
index 0000000..089a7f6
--- /dev/null
+++ b/website/docs/services/apps/connection_jwks/index.md
@@ -0,0 +1,126 @@
+---
+title: connection_jwks
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - connection_jwks
+ - apps
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a connection_jwks resource.
+
+## Overview
+
+| Name | connection_jwks |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ object |
+ |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves a JWKS for the default provisioning connection. This can be used by the OAuth 2.0 app's `jwk_uri` property in the target org. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Retrieves a JWKS for the default provisioning connection. This can be used by the OAuth 2.0 app's `jwk_uri` property in the target org.
+
+```sql
+SELECT
+jwks
+FROM okta.apps.connection_jwks
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
diff --git a/website/docs/services/apps/connections/index.md b/website/docs/services/apps/connections/index.md
new file mode 100644
index 0000000..0a2836d
--- /dev/null
+++ b/website/docs/services/apps/connections/index.md
@@ -0,0 +1,267 @@
+---
+title: connections
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - connections
+ - apps
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a connections resource.
+
+## Overview
+
+| Name | connections |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ A token is used to authenticate with the app. This property is only returned for the `TOKEN` authentication scheme. |
+
+
+ |
+ string |
+ Base URL |
+
+
+ |
+ object |
+ |
+
+
+ |
+ string |
+ Provisioning connection status (default: DISABLED) |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves the default provisioning connection for an app |
+
+
+ |
+ |
+ subdomain |
+ activate |
+ Updates the default provisioning connection for an app |
+
+
+ |
+ |
+ subdomain |
+ |
+ Activates the default provisioning connection for an app |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deactivates the default provisioning connection for an app |
+
+
+ |
+ |
+ subdomain |
+ code, state |
+ Verifies the OAuth 2.0-based connection as part of the OAuth 2.0 consent flow. The validation of the consent flow is the last step of the provisioning setup for an OAuth 2.0-based connection. Currently, this operation only supports `office365`,`google`, `zoomus`, and `slack` apps.
|
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ boolean |
+ Activates the provisioning connection |
+
+
+ |
+ string |
+ |
+
+
+ |
+ string |
+ |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Retrieves the default provisioning connection for an app
+
+```sql
+SELECT
+_links,
+authScheme,
+baseUrl,
+profile,
+status
+FROM okta.apps.connections
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `UPDATE` examples
+
+
+
+
+Updates the default provisioning connection for an app
+
+```sql
+UPDATE okta.apps.connections
+SET
+-- No updatable properties
+WHERE
+subdomain = '{{ subdomain }}' --required
+AND activate = {{ activate}}
+RETURNING
+_links,
+authScheme,
+baseUrl,
+profile,
+status;
+```
+
+
+
+
+## Lifecycle Methods
+
+
+
+
+Activates the default provisioning connection for an app
+
+```sql
+EXEC okta.apps.connections.activate_default_provisioning_connection_for_application
+@subdomain='{{ subdomain }}' --required;
+```
+
+
+
+Deactivates the default provisioning connection for an app
+
+```sql
+EXEC okta.apps.connections.deactivate_default_provisioning_connection_for_application
+@subdomain='{{ subdomain }}' --required;
+```
+
+
+
+Verifies the OAuth 2.0-based connection as part of the OAuth 2.0 consent flow. The validation of the consent flow is the last step of the provisioning setup for an OAuth 2.0-based connection.
Currently, this operation only supports `office365`,`google`, `zoomus`, and `slack` apps.
+
+```sql
+EXEC okta.apps.connections.verify_provisioning_connection_for_application
+@subdomain='{{ subdomain }}' --required,
+@code='{{ code }}',
+@state='{{ state }}';
+```
+
+
diff --git a/website/docs/services/apps/cross_app_access_connections/index.md b/website/docs/services/apps/cross_app_access_connections/index.md
new file mode 100644
index 0000000..08caa80
--- /dev/null
+++ b/website/docs/services/apps/cross_app_access_connections/index.md
@@ -0,0 +1,378 @@
+---
+title: cross_app_access_connections
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - cross_app_access_connections
+ - apps
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a cross_app_access_connections resource.
+
+## Overview
+
+| Name | cross_app_access_connections |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Unique identifier for the connection (example: cwofxqCAJWWGELFTYASJ) |
+
+
+ |
+ string (date-time) |
+ The ISO 8601 formatted date and time when the connection was created (example: 2024-10-15T10:30:00.000Z) |
+
+
+ |
+ string (date-time) |
+ The ISO 8601 formatted date and time when the connection was last updated (example: 2024-10-15T14:20:00.000Z) |
+
+
+ |
+ string |
+ ID of the requesting app instance (example: 0oafxqCAJWWGELFTYASJ) |
+
+
+ |
+ string |
+ ID of the resource app instance (example: 0oafxqCBJWWGELFTYASK) |
+
+
+ |
+ string |
+ Indicates if the Cross App Access connection is active or inactive (example: ACTIVE) |
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Unique identifier for the connection (example: cwofxqCAJWWGELFTYASJ) |
+
+
+ |
+ string (date-time) |
+ The ISO 8601 formatted date and time when the connection was created (example: 2024-10-15T10:30:00.000Z) |
+
+
+ |
+ string (date-time) |
+ The ISO 8601 formatted date and time when the connection was last updated (example: 2024-10-15T14:20:00.000Z) |
+
+
+ |
+ string |
+ ID of the requesting app instance (example: 0oafxqCAJWWGELFTYASJ) |
+
+
+ |
+ string |
+ ID of the resource app instance (example: 0oafxqCBJWWGELFTYASK) |
+
+
+ |
+ string |
+ Indicates if the Cross App Access connection is active or inactive (example: ACTIVE) |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ after, limit |
+ Retrieves inbound and outbound Cross App Access connections associated with an app
|
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves the Cross App Access connection with the specified ID
|
+
+
+ |
+ |
+ subdomain |
+ |
+ Creates a Cross App Access connection
|
+
+
+ |
+ |
+ subdomain |
+ |
+ Updates the Cross App Access connection with the specified ID
|
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes a Cross App Access connection with the specified ID
|
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ Specifies the pagination cursor for the next page of connection results |
+
+
+ |
+ integer (int32) |
+ Specifies the number of results to return per page. The values: * -1: Return all results (up to system maximum) * 0: Return an empty result set * Positive integer: Return up to that many results (capped at system maximum) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Retrieves inbound and outbound Cross App Access connections associated with an app
+
+```sql
+SELECT
+id,
+created,
+lastUpdated,
+requestingAppInstanceId,
+resourceAppInstanceId,
+status
+FROM okta.apps.cross_app_access_connections
+WHERE subdomain = '{{ subdomain }}' -- required
+AND after = '{{ after }}'
+AND limit = '{{ limit }}';
+```
+
+
+
+Retrieves the Cross App Access connection with the specified ID
+
+```sql
+SELECT
+id,
+created,
+lastUpdated,
+requestingAppInstanceId,
+resourceAppInstanceId,
+status
+FROM okta.apps.cross_app_access_connections
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Creates a Cross App Access connection
+
+```sql
+INSERT INTO okta.apps.cross_app_access_connections (
+data__requestingAppInstanceId,
+data__resourceAppInstanceId,
+data__status,
+subdomain
+)
+SELECT
+'{{ requestingAppInstanceId }}',
+'{{ resourceAppInstanceId }}',
+'{{ status }}',
+'{{ subdomain }}'
+RETURNING
+id,
+created,
+lastUpdated,
+requestingAppInstanceId,
+resourceAppInstanceId,
+status
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: cross_app_access_connections
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the cross_app_access_connections resource.
+ - name: requestingAppInstanceId
+ value: string
+ description: >
+ ID of the requesting app instance
+
+ - name: resourceAppInstanceId
+ value: string
+ description: >
+ ID of the resource app instance
+
+ - name: status
+ value: string
+ description: >
+ Indicates if the Cross App Access connection is active or inactive
+
+ valid_values: ['ACTIVE', 'INACTIVE']
+```
+
+
+
+
+## `UPDATE` examples
+
+
+
+
+Updates the Cross App Access connection with the specified ID
+
+```sql
+UPDATE okta.apps.cross_app_access_connections
+SET
+data__status = '{{ status }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+AND data__status = '{{ status }}' --required
+RETURNING
+id,
+created,
+lastUpdated,
+requestingAppInstanceId,
+resourceAppInstanceId,
+status;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes a Cross App Access connection with the specified ID
+
+```sql
+DELETE FROM okta.apps.cross_app_access_connections
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/apps/csrs/index.md b/website/docs/services/apps/csrs/index.md
new file mode 100644
index 0000000..86faf66
--- /dev/null
+++ b/website/docs/services/apps/csrs/index.md
@@ -0,0 +1,293 @@
+---
+title: csrs
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - csrs
+ - apps
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a csrs resource.
+
+## Overview
+
+| Name | csrs |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ (example: h9zkutaSe7fZX0SwN1GqDApofgD1OW8g2B5l2azha50) |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available for the current status of a CSR object using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was created (example: 2017-03-28T01:11:10.000Z) |
+
+
+ |
+ string |
+ (example: MIIC4DCCAcgCAQAwcTELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xEzARBgNVBAoMCk9rdGEsIEluYy4xDDAKBgNVBAsMA0RldjESMBAGA1UEAwwJU1AgSXNzdWVyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6m8jHVCr9/tKvvbFN59T4raoCs/78KRm4fSefHQOv1TKLXo4wTLbsqYWRWc5u0sd5orUMQgPQOyj3i6qh13mALY4BzrT057EG1BUNjGg29QgYlnOk2iX890e5BIDMQQEIKFrvOi2V8cLUkLvE2ydRn0VO1Q1frbUkYeStJYC5Api2JQsYRwa+1ZeDH1ITnIzUaugWhW2WB2lSnwZkenne5KtffxMPYVu+IhNRHoKaRA6Z51YNhMJIx17JM2hs/H4Ka3drk6kzDf7ofk/yBpb9yBWyU7CTSQhdoHidxqFprMDaT66W928t3AeOENHBuwn8c2K9WeGG+bELNyQRJVmawIDAQABoCowKAYJKoZIhvcNAQkOMRswGTAXBgNVHREEEDAOggxkZXYub2t0YS5jb20wDQYJKoZIhvcNAQELBQADggEBAA2hsVJRVM+A83X9MekjTnIbt19UNT8wX7wlE9jUKirWsxceLiZBpVGn9qfKhhVIpvdaIRSeoFYS2Kg/m1G6bCvjmZLcrQ5FcEBjZH2NKfNppGVnfC2ugtUkBtCB+UUzOhKhRKJtGugenKbP33zRWWIqnd2waF6Cy8TIuqQVPbwEDN9bCbAs7ND6CFYNguY7KYjWzQOeAR716eqpEEXuPYAS4nx/ty4ylonR8cv+gpq51rvq80A4k/36aoeM0Y6I4w64vhTfuvWW2UYFUD+/+y2FA2CSP4JfctySrf1s525v6fzTFZ3qZbB5OZQtP2b8xYWktMzywsxGKDoVDB4wkH4=) |
+
+
+ |
+ string |
+ (example: RSA) |
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ (example: h9zkutaSe7fZX0SwN1GqDApofgD1OW8g2B5l2azha50) |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available for the current status of a CSR object using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was created (example: 2017-03-28T01:11:10.000Z) |
+
+
+ |
+ string |
+ (example: MIIC4DCCAcgCAQAwcTELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xEzARBgNVBAoMCk9rdGEsIEluYy4xDDAKBgNVBAsMA0RldjESMBAGA1UEAwwJU1AgSXNzdWVyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6m8jHVCr9/tKvvbFN59T4raoCs/78KRm4fSefHQOv1TKLXo4wTLbsqYWRWc5u0sd5orUMQgPQOyj3i6qh13mALY4BzrT057EG1BUNjGg29QgYlnOk2iX890e5BIDMQQEIKFrvOi2V8cLUkLvE2ydRn0VO1Q1frbUkYeStJYC5Api2JQsYRwa+1ZeDH1ITnIzUaugWhW2WB2lSnwZkenne5KtffxMPYVu+IhNRHoKaRA6Z51YNhMJIx17JM2hs/H4Ka3drk6kzDf7ofk/yBpb9yBWyU7CTSQhdoHidxqFprMDaT66W928t3AeOENHBuwn8c2K9WeGG+bELNyQRJVmawIDAQABoCowKAYJKoZIhvcNAQkOMRswGTAXBgNVHREEEDAOggxkZXYub2t0YS5jb20wDQYJKoZIhvcNAQELBQADggEBAA2hsVJRVM+A83X9MekjTnIbt19UNT8wX7wlE9jUKirWsxceLiZBpVGn9qfKhhVIpvdaIRSeoFYS2Kg/m1G6bCvjmZLcrQ5FcEBjZH2NKfNppGVnfC2ugtUkBtCB+UUzOhKhRKJtGugenKbP33zRWWIqnd2waF6Cy8TIuqQVPbwEDN9bCbAs7ND6CFYNguY7KYjWzQOeAR716eqpEEXuPYAS4nx/ty4ylonR8cv+gpq51rvq80A4k/36aoeM0Y6I4w64vhTfuvWW2UYFUD+/+y2FA2CSP4JfctySrf1s525v6fzTFZ3qZbB5OZQtP2b8xYWktMzywsxGKDoVDB4wkH4=) |
+
+
+ |
+ string |
+ (example: RSA) |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all Certificate Signing Requests for an application |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves a Certificate Signing Request (CSR) for the app by `csrId`.
Returns a Base64-encoded CSR in DER format if the `Accept` media type is `application/pkcs10` or a CSR object if the `Accept` media type is `application/json`. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Revokes a Certificate Signing Request and deletes the key pair from the app |
+
+
+ |
+ |
+ subdomain |
+ |
+ Generates a new key pair and returns the Certificate Signing Request(CSR) for it. The information in a CSR is used by the Certificate Authority (CA) to verify and create your certificate. It also contains the public key that is included in your certificate.
Returns CSR in `pkcs#10` format if the `Accept` media type is `application/pkcs10` or a CSR object if the `Accept` media type is `application/json`. > **Note:** The key pair isn't listed in the Key Credentials for the app until it's published. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Publishes a Certificate Signing Request (CSR) for the app with a signed X.509 certificate and adds it into the Application Key Credentials. > **Note:** Publishing a certificate completes the lifecycle of the CSR and it's no longer accessible. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all Certificate Signing Requests for an application
+
+```sql
+SELECT
+id,
+_links,
+created,
+csr,
+kty
+FROM okta.apps.csrs
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+Retrieves a Certificate Signing Request (CSR) for the app by `csrId`.
Returns a Base64-encoded CSR in DER format if the `Accept` media type is `application/pkcs10` or a CSR object if the `Accept` media type is `application/json`.
+
+```sql
+SELECT
+id,
+_links,
+created,
+csr,
+kty
+FROM okta.apps.csrs
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Revokes a Certificate Signing Request and deletes the key pair from the app
+
+```sql
+DELETE FROM okta.apps.csrs
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
+
+
+## Lifecycle Methods
+
+
+
+
+Generates a new key pair and returns the Certificate Signing Request(CSR) for it. The information in a CSR is used by the Certificate Authority (CA) to verify and create your certificate. It also contains the public key that is included in your certificate.
Returns CSR in `pkcs#10` format if the `Accept` media type is `application/pkcs10` or a CSR object if the `Accept` media type is `application/json`.
> **Note:** The key pair isn't listed in the Key Credentials for the app until it's published.
+
+```sql
+EXEC okta.apps.csrs.generate_csr_for_application
+@subdomain='{{ subdomain }}' --required
+@@json=
+'{
+"subject": "{{ subject }}",
+"subjectAltNames": "{{ subjectAltNames }}"
+}';
+```
+
+
+
+Publishes a Certificate Signing Request (CSR) for the app with a signed X.509 certificate and adds it into the Application Key Credentials.
> **Note:** Publishing a certificate completes the lifecycle of the CSR and it's no longer accessible.
+
+```sql
+EXEC okta.apps.csrs.publish_csr_from_application
+@subdomain='{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/apps/features/index.md b/website/docs/services/apps/features/index.md
new file mode 100644
index 0000000..07a7e4c
--- /dev/null
+++ b/website/docs/services/apps/features/index.md
@@ -0,0 +1,240 @@
+---
+title: features
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - features
+ - apps
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a features resource.
+
+## Overview
+
+| Name | features |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Key name of the feature | Feature name | Description | | --------- | ------------- | | USER_PROVISIONING | User profiles are pushed from Okta to the third-party app. Represents the **To App** provisioning feature setting in the Admin Console. | | INBOUND_PROVISIONING | User profiles are imported from the third-party app into Okta. This feature represents the **To Okta** provisioning feature setting in the Admin Console. | Select the feature: (example: USER_PROVISIONING) |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ Description of the feature (example: Settings for provisioning users from Okta to a downstream app) |
+
+
+ |
+ string |
+ Setting status (default: DISABLED, example: ENABLED) |
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Key name of the feature | Feature name | Description | | --------- | ------------- | | USER_PROVISIONING | User profiles are pushed from Okta to the third-party app. Represents the **To App** provisioning feature setting in the Admin Console. | | INBOUND_PROVISIONING | User profiles are imported from the third-party app into Okta. This feature represents the **To Okta** provisioning feature setting in the Admin Console. | Select the feature: (example: USER_PROVISIONING) |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ Description of the feature (example: Settings for provisioning users from Okta to a downstream app) |
+
+
+ |
+ string |
+ Setting status (default: DISABLED, example: ENABLED) |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all features for an app > **Note:** This request returns an error if provisioning isn't enabled for the app. > To set up provisioning, see [Update the default provisioning connection](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/ApplicationConnections/#tag/ApplicationConnections/operation/updateDefaultProvisioningConnectionForApplication).
|
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves a Feature object for an app |
+
+
+ |
+ |
+ subdomain |
+ |
+ Updates a Feature object for an app > **Note:** This endpoint supports partial updates.
|
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all features for an app
> **Note:** This request returns an error if provisioning isn't enabled for the app.
> To set up provisioning, see [Update the default provisioning connection](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/ApplicationConnections/#tag/ApplicationConnections/operation/updateDefaultProvisioningConnectionForApplication).
+
+```sql
+SELECT
+name,
+_links,
+description,
+status
+FROM okta.apps.features
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+Retrieves a Feature object for an app
+
+```sql
+SELECT
+name,
+_links,
+description,
+status
+FROM okta.apps.features
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Updates a Feature object for an app
> **Note:** This endpoint supports partial updates.
+
+```sql
+REPLACE okta.apps.features
+SET
+-- No updatable properties
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+name,
+_links,
+description,
+status;
+```
+
+
diff --git a/website/docs/services/apps/federated_claims/index.md b/website/docs/services/apps/federated_claims/index.md
new file mode 100644
index 0000000..bffcdfa
--- /dev/null
+++ b/website/docs/services/apps/federated_claims/index.md
@@ -0,0 +1,322 @@
+---
+title: federated_claims
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - federated_claims
+ - apps
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a federated_claims resource.
+
+## Overview
+
+| Name | federated_claims |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The unique ID of the federated claim (example: ofc2f4zrZbs8nUa7p0g4) |
+
+
+ |
+ string |
+ The name of the claim to be used in the produced token (example: roleg) |
+
+
+ |
+ string |
+ Timestamp when the federated claim was created (example: 2024-02-29T20:08:24.000Z) |
+
+
+ |
+ string |
+ The Okta Expression Language expression to be evaluated at runtime (example: appuser.entitlements.role) |
+
+
+ |
+ string |
+ Timestamp when the federated claim was updated (example: 2023-02-21T20:08:24.000Z) |
+
+
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The name of the claim to be used in the produced token (example: role) |
+
+
+ |
+ string |
+ The Okta Expression Language expression to be evaluated at runtime (example: appuser.entitlements.role) |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all federated claims for your app |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves a federated claim by `claimId` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Creates a claim that will be included in tokens produced by federation protocols (for example: OIDC `id_tokens` or SAML Assertions) |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces a claim that will be included in tokens produced by federation protocols (for example: OIDC `id_tokens` or SAML Assertions) |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes a federated claim by `claimId` |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all federated claims for your app
+
+```sql
+SELECT
+id,
+name,
+created,
+expression,
+lastUpdated
+FROM okta.apps.federated_claims
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+Retrieves a federated claim by `claimId`
+
+```sql
+SELECT
+name,
+expression
+FROM okta.apps.federated_claims
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Creates a claim that will be included in tokens produced by federation protocols (for example: OIDC `id_tokens` or SAML Assertions)
+
+```sql
+INSERT INTO okta.apps.federated_claims (
+data__expression,
+data__name,
+subdomain
+)
+SELECT
+'{{ expression }}',
+'{{ name }}',
+'{{ subdomain }}'
+RETURNING
+id,
+name,
+created,
+expression,
+lastUpdated
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: federated_claims
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the federated_claims resource.
+ - name: expression
+ value: string
+ description: >
+ The Okta Expression Language expression to be evaluated at runtime
+
+ - name: name
+ value: string
+ description: >
+ The name of the claim to be used in the produced token
+
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces a claim that will be included in tokens produced by federation protocols (for example: OIDC `id_tokens` or SAML Assertions)
+
+```sql
+REPLACE okta.apps.federated_claims
+SET
+data__expression = '{{ expression }}',
+data__name = '{{ name }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+id,
+name,
+created,
+expression,
+lastUpdated;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes a federated claim by `claimId`
+
+```sql
+DELETE FROM okta.apps.federated_claims
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/apps/grants/index.md b/website/docs/services/apps/grants/index.md
new file mode 100644
index 0000000..863006f
--- /dev/null
+++ b/website/docs/services/apps/grants/index.md
@@ -0,0 +1,405 @@
+---
+title: grants
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - grants
+ - apps
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a grants resource.
+
+## Overview
+
+| Name | grants |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ ID of the Grant object (example: oag3ih1zrm1cBFOiq0h6) |
+
+
+ |
+ object |
+ Embedded resources related to the Grant |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ Client ID of the app integration (example: oag3ih1zrm1cBFOiq0h6) |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was created (example: 2017-03-28T01:11:10.000Z) |
+
+
+ |
+ object |
+ User that created the object |
+
+
+ |
+ string |
+ The issuer of your org authorization server. This is typically your Okta domain. (example: https://my_test_okta_org.oktapreview.com) |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was last updated |
+
+
+ |
+ string |
+ The name of the [Okta scope](https://developer.okta.com/docs/api/oauth2/#oauth-20-scopes) for which consent is granted (example: okta.users.read) |
+
+
+ |
+ string |
+ User type source that granted consent (example: ADMIN) |
+
+
+ |
+ string |
+ Status (example: ACTIVE) |
+
+
+ |
+ string |
+ User ID that granted consent (if `source` is `END_USER`) (example: 00u5t60iloOHN9pBi0h7) |
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ ID of the Grant object (example: oag3ih1zrm1cBFOiq0h6) |
+
+
+ |
+ object |
+ Embedded resources related to the Grant |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ Client ID of the app integration (example: oag3ih1zrm1cBFOiq0h6) |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was created (example: 2017-03-28T01:11:10.000Z) |
+
+
+ |
+ object |
+ User that created the object |
+
+
+ |
+ string |
+ The issuer of your org authorization server. This is typically your Okta domain. (example: https://my_test_okta_org.oktapreview.com) |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was last updated |
+
+
+ |
+ string |
+ The name of the [Okta scope](https://developer.okta.com/docs/api/oauth2/#oauth-20-scopes) for which consent is granted (example: okta.users.read) |
+
+
+ |
+ string |
+ User type source that granted consent (example: ADMIN) |
+
+
+ |
+ string |
+ Status (example: ACTIVE) |
+
+
+ |
+ string |
+ User ID that granted consent (if `source` is `END_USER`) (example: 00u5t60iloOHN9pBi0h7) |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ expand |
+ Lists all scope consent Grants for the app |
+
+
+ |
+ |
+ subdomain |
+ expand |
+ Retrieves a single scope consent Grant object for the app |
+
+
+ |
+ |
+ subdomain |
+ |
+ Grants consent for the app to request an OAuth 2.0 Okta scope |
+
+
+ |
+ |
+ subdomain |
+ |
+ Revokes permission for the app to grant the given scope |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ An optional parameter to return scope details in the `_embedded` property. Valid value: `scope` |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all scope consent Grants for the app
+
+```sql
+SELECT
+id,
+_embedded,
+_links,
+clientId,
+created,
+createdBy,
+issuer,
+lastUpdated,
+scopeId,
+source,
+status,
+userId
+FROM okta.apps.grants
+WHERE subdomain = '{{ subdomain }}' -- required
+AND expand = '{{ expand }}';
+```
+
+
+
+Retrieves a single scope consent Grant object for the app
+
+```sql
+SELECT
+id,
+_embedded,
+_links,
+clientId,
+created,
+createdBy,
+issuer,
+lastUpdated,
+scopeId,
+source,
+status,
+userId
+FROM okta.apps.grants
+WHERE subdomain = '{{ subdomain }}' -- required
+AND expand = '{{ expand }}';
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Grants consent for the app to request an OAuth 2.0 Okta scope
+
+```sql
+INSERT INTO okta.apps.grants (
+data__issuer,
+data__scopeId,
+subdomain
+)
+SELECT
+'{{ issuer }}' --required,
+'{{ scopeId }}' --required,
+'{{ subdomain }}'
+RETURNING
+id,
+_embedded,
+_links,
+clientId,
+created,
+createdBy,
+issuer,
+lastUpdated,
+scopeId,
+source,
+status,
+userId
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: grants
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the grants resource.
+ - name: issuer
+ value: string
+ description: >
+ The issuer of your org authorization server. This is typically your Okta domain.
+
+ - name: scopeId
+ value: string
+ description: >
+ The name of the [Okta scope](https://developer.okta.com/docs/api/oauth2/#oauth-20-scopes) for which consent is granted
+
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Revokes permission for the app to grant the given scope
+
+```sql
+DELETE FROM okta.apps.grants
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/apps/group_assignments/index.md b/website/docs/services/apps/group_assignments/index.md
new file mode 100644
index 0000000..08edbeb
--- /dev/null
+++ b/website/docs/services/apps/group_assignments/index.md
@@ -0,0 +1,356 @@
+---
+title: group_assignments
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - group_assignments
+ - apps
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a group_assignments resource.
+
+## Overview
+
+| Name | group_assignments |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ ID of the [group](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Group/) (example: 00g4hb1HChfUriNgW0g4) |
+
+
+ |
+ object |
+ Embedded resource related to the Application Group using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. If the `expand=group` query parameter is specified, then the [group](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Group/) object is embedded. If the `expand=metadata` query parameter is specified, then the group assignment metadata is embedded. |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was last updated (example: 2014-06-24T15:28:14.000Z) |
+
+
+ |
+ integer |
+ Priority assigned to the group. If an app has more than one group assigned to the same user, then the group with the higher priority has its profile applied to the [application user](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/ApplicationUsers/). If a priority value isn't specified, then the next highest priority is assigned by default. See [Assign attribute group priority](https://help.okta.com/okta_help.htm?type=oie&id=ext-usgp-app-group-priority) and the [sample priority use case](https://help.okta.com/okta_help.htm?type=oie&id=ext-usgp-combine-values-use). |
+
+
+ |
+ object |
+ Specifies the profile properties applied to [application users](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/ApplicationUsers/) that are assigned to the app through group membership. Some reference properties are imported from the target app and can't be configured. See [profile](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#tag/User/operation/getUser!c=200&path=profile&t=response). |
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ ID of the [group](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Group/) (example: 00g4hb1HChfUriNgW0g4) |
+
+
+ |
+ object |
+ Embedded resource related to the Application Group using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. If the `expand=group` query parameter is specified, then the [group](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Group/) object is embedded. If the `expand=metadata` query parameter is specified, then the group assignment metadata is embedded. |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was last updated (example: 2014-06-24T15:28:14.000Z) |
+
+
+ |
+ integer |
+ Priority assigned to the group. If an app has more than one group assigned to the same user, then the group with the higher priority has its profile applied to the [application user](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/ApplicationUsers/). If a priority value isn't specified, then the next highest priority is assigned by default. See [Assign attribute group priority](https://help.okta.com/okta_help.htm?type=oie&id=ext-usgp-app-group-priority) and the [sample priority use case](https://help.okta.com/okta_help.htm?type=oie&id=ext-usgp-combine-values-use). |
+
+
+ |
+ object |
+ Specifies the profile properties applied to [application users](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/ApplicationUsers/) that are assigned to the app through group membership. Some reference properties are imported from the target app and can't be configured. See [profile](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#tag/User/operation/getUser!c=200&path=profile&t=response). |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ q, after, limit, expand |
+ Lists all app group assignments |
+
+
+ |
+ |
+ subdomain |
+ expand |
+ Retrieves an app group assignment |
+
+
+ |
+ |
+ subdomain |
+ |
+ Updates a group assignment to an app |
+
+
+ |
+ |
+ subdomain |
+ |
+ Assigns a [Group](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Group/) to an app, which in turn assigns the app to each [User](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/) that belongs to the group. The resulting application user [scope](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/ApplicationUsers/#tag/ApplicationUsers/operation/listApplicationUsers!c=200&path=scope&t=response) is `GROUP` since the assignment was from the group membership. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Unassigns a Group from an app |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ Specifies the pagination cursor for the `next` page of results. Treat this as an opaque value obtained through the next link relationship. See [Pagination](https://developer.okta.com/docs/api/#pagination). |
+
+
+ |
+ string |
+ An optional query parameter to return the corresponding assigned [group](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Group/) or the group assignment metadata details in the `_embedded` property. |
+
+
+ |
+ integer (int32) |
+ Specifies the number of objects to return per page. If there are multiple pages of results, the Link header contains a `next` link that you need to use as an opaque value (follow it, don't parse it). See [Pagination]https://developer.okta.com/docs/api#pagination. |
+
+
+ |
+ string |
+ Specifies a filter for a list of assigned groups returned based on their names. The value of `q` is matched against the group `name`. This filter only supports the `startsWith` operation that matches the `q` string against the beginning of the [group name](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Group/#tag/Group/operation/listGroups!c=200&path=profile/name&t=response). |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all app group assignments
+
+```sql
+SELECT
+id,
+_embedded,
+_links,
+lastUpdated,
+priority,
+profile
+FROM okta.apps.group_assignments
+WHERE subdomain = '{{ subdomain }}' -- required
+AND q = '{{ q }}'
+AND after = '{{ after }}'
+AND limit = '{{ limit }}'
+AND expand = '{{ expand }}';
+```
+
+
+
+Retrieves an app group assignment
+
+```sql
+SELECT
+id,
+_embedded,
+_links,
+lastUpdated,
+priority,
+profile
+FROM okta.apps.group_assignments
+WHERE subdomain = '{{ subdomain }}' -- required
+AND expand = '{{ expand }}';
+```
+
+
+
+
+## `UPDATE` examples
+
+
+
+
+Updates a group assignment to an app
+
+```sql
+UPDATE okta.apps.group_assignments
+SET
+-- No updatable properties
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+id,
+_embedded,
+_links,
+lastUpdated,
+priority,
+profile;
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Assigns a [Group](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Group/) to an app, which in turn assigns the app to each [User](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/) that belongs to the group.
The resulting application user [scope](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/ApplicationUsers/#tag/ApplicationUsers/operation/listApplicationUsers!c=200&path=scope&t=response) is `GROUP` since the assignment was from the group membership.
+
+```sql
+REPLACE okta.apps.group_assignments
+SET
+data__priority = {{ priority }},
+data__profile = '{{ profile }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+id,
+_embedded,
+_links,
+lastUpdated,
+priority,
+profile;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Unassigns a Group from an app
+
+```sql
+DELETE FROM okta.apps.group_assignments
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/apps/index.md b/website/docs/services/apps/index.md
new file mode 100644
index 0000000..10bc426
--- /dev/null
+++ b/website/docs/services/apps/index.md
@@ -0,0 +1,46 @@
+---
+title: apps
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - apps
+ - okta
+ - stackql
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+apps service documentation.
+
+:::info[Service Summary]
+
+total resources: __15__
+
+:::
+
+## Resources
+
\ No newline at end of file
diff --git a/website/docs/services/apps/jwks/index.md b/website/docs/services/apps/jwks/index.md
new file mode 100644
index 0000000..bef84d6
--- /dev/null
+++ b/website/docs/services/apps/jwks/index.md
@@ -0,0 +1,269 @@
+---
+title: jwks
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - jwks
+ - apps
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a jwks resource.
+
+## Overview
+
+| Name | jwks |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all JSON Web Keys for an OAuth 2.0 client app |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves an OAuth 2.0 Client JSON Web Key by `keyId`. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Adds a new JSON Web Key to the client`s JSON Web Keys. > **Note:** This API doesn't allow you to add a key if the existing key doesn't have a `kid`. This is also consistent with how the [Dynamic Client Registration](/openapi/okta-oauth/oauth/tag/Client/) or [Applications](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Application/) APIs behave, as they don't allow the creation of multiple keys without `kids`. Use the [Replace an Application](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Application/#tag/Application/operation/replaceApplication) or the [Replace a Client Application](/openapi/okta-oauth/oauth/tag/Client/#tag/Client/operation/replaceClient) operation to update the JWKS or [Delete an OAuth 2.0 Client JSON Web Key](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/ApplicationSSOPublicKeys/#tag/ApplicationSSOPublicKeys/operation/deletejwk) and re-add the key with a `kid`. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes an OAuth 2.0 Client JSON Web Key by `keyId`. You can only delete an inactive key. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Activates an OAuth 2.0 Client JSON Web Key by `keyId` > **Note:** You can have only one active encryption key at any given time for app. When you activate an inactive key, the current active key is automatically deactivated. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deactivates an OAuth 2.0 Client JSON Web Key by `keyId`. > **Note:** You can only deactivate signing keys. Deactivating the active encryption key isn't allowed if the client has ID token encryption enabled. You can activate another encryption key, which makes the current key inactive. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all JSON Web Keys for an OAuth 2.0 client app
+
+```sql
+SELECT
+*
+FROM okta.apps.jwks
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+Retrieves an OAuth 2.0 Client JSON Web Key by `keyId`.
+
+```sql
+SELECT
+*
+FROM okta.apps.jwks
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Adds a new JSON Web Key to the client`s JSON Web Keys.
> **Note:** This API doesn't allow you to add a key if the existing key doesn't have a `kid`. This is also consistent with how the [Dynamic Client Registration](/openapi/okta-oauth/oauth/tag/Client/) or [Applications](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Application/) APIs behave, as they don't allow the creation of multiple keys without `kids`. Use the [Replace an Application](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Application/#tag/Application/operation/replaceApplication) or the [Replace a Client Application](/openapi/okta-oauth/oauth/tag/Client/#tag/Client/operation/replaceClient) operation to update the JWKS or [Delete an OAuth 2.0 Client JSON Web Key](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/ApplicationSSOPublicKeys/#tag/ApplicationSSOPublicKeys/operation/deletejwk) and re-add the key with a `kid`.
+
+```sql
+INSERT INTO okta.apps.jwks (
+subdomain
+)
+SELECT
+'{{ subdomain }}'
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: jwks
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the jwks resource.
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes an OAuth 2.0 Client JSON Web Key by `keyId`. You can only delete an inactive key.
+
+```sql
+DELETE FROM okta.apps.jwks
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
+
+
+## Lifecycle Methods
+
+
+
+
+Activates an OAuth 2.0 Client JSON Web Key by `keyId`
> **Note:** You can have only one active encryption key at any given time for app. When you activate an inactive key, the current active key is automatically deactivated.
+
+```sql
+EXEC okta.apps.jwks.activate_oauth2_client_json_web_key
+@subdomain='{{ subdomain }}' --required;
+```
+
+
+
+Deactivates an OAuth 2.0 Client JSON Web Key by `keyId`.
> **Note:** You can only deactivate signing keys. Deactivating the active encryption key isn't allowed if the client has ID token encryption enabled. You can activate another encryption key, which makes the current key inactive.
+
+```sql
+EXEC okta.apps.jwks.deactivate_oauth2_client_json_web_key
+@subdomain='{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/apps/keys/index.md b/website/docs/services/apps/keys/index.md
new file mode 100644
index 0000000..7d7c671
--- /dev/null
+++ b/website/docs/services/apps/keys/index.md
@@ -0,0 +1,374 @@
+---
+title: keys
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - keys
+ - apps
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a keys resource.
+
+## Overview
+
+| Name | keys |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was created (example: 2017-03-28T01:11:10.000Z) |
+
+
+ |
+ string |
+ RSA key value (public exponent) for Key binding |
+
+
+ |
+ string (date-time) |
+ Timestamp when the certificate expires |
+
+
+ |
+ string |
+ Unique identifier for the certificate |
+
+
+ |
+ string |
+ Cryptographic algorithm family for the certificate's keypair. Valid value: `RSA` |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was last updated |
+
+
+ |
+ string |
+ RSA modulus value that is used by both the public and private keys and provides a link between them |
+
+
+ |
+ string |
+ Acceptable use of the certificate. Valid value: `sig` |
+
+
+ |
+ array |
+ X.509 certificate chain that contains a chain of one or more certificates |
+
+
+ |
+ string |
+ X.509 certificate SHA-256 thumbprint, which is the base64url-encoded SHA-256 thumbprint (digest) of the DER encoding of an X.509 certificate |
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was created (example: 2017-03-28T01:11:10.000Z) |
+
+
+ |
+ string |
+ RSA key value (public exponent) for Key binding |
+
+
+ |
+ string (date-time) |
+ Timestamp when the certificate expires |
+
+
+ |
+ string |
+ Unique identifier for the certificate |
+
+
+ |
+ string |
+ Cryptographic algorithm family for the certificate's keypair. Valid value: `RSA` |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was last updated |
+
+
+ |
+ string |
+ RSA modulus value that is used by both the public and private keys and provides a link between them |
+
+
+ |
+ string |
+ Acceptable use of the certificate. Valid value: `sig` |
+
+
+ |
+ array |
+ X.509 certificate chain that contains a chain of one or more certificates |
+
+
+ |
+ string |
+ X.509 certificate SHA-256 thumbprint, which is the base64url-encoded SHA-256 thumbprint (digest) of the DER encoding of an X.509 certificate |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all key credentials for an app |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves a specific Application Key Credential by `kid` |
+
+
+ |
+ |
+ validityYears, subdomain |
+ |
+ Generates a new X.509 certificate for an app key credential > **Note:** To update an Application with the newly generated key credential, use the [Replace an Application](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Application/#tag/Application/operation/replaceApplication) request with the new [credentials.signing.kid](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Application/#tag/Application/operation/replaceApplication!path=4/credentials/signing/kid&t=request) value in the request body. You can provide just the [Signing Credential object](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Application/#tag/Application/operation/replaceApplication!path=4/credentials/signing&t=request) instead of the entire [Application Credential object](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Application/#tag/Application/operation/replaceApplication!path=4/credentials&t=request). |
+
+
+ |
+ |
+ targetAid, subdomain |
+ |
+ Clones an X.509 certificate for an Application Key Credential from a source app to a target app.
For step-by-step instructions to clone a credential, see [Share application key credentials for IdPs across apps](https://developer.okta.com/docs/guides/sharing-cert/main/). > **Note:** Sharing certificates isn't a recommended security practice. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ Unique key of the target Application |
+
+
+ |
+ integer |
+ Expiry years of the Application Key Credential |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all key credentials for an app
+
+```sql
+SELECT
+created,
+e,
+expiresAt,
+kid,
+kty,
+lastUpdated,
+n,
+use,
+x5c,
+x5t#S256
+FROM okta.apps.keys
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+Retrieves a specific Application Key Credential by `kid`
+
+```sql
+SELECT
+created,
+e,
+expiresAt,
+kid,
+kty,
+lastUpdated,
+n,
+use,
+x5c,
+x5t#S256
+FROM okta.apps.keys
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Generates a new X.509 certificate for an app key credential
> **Note:** To update an Application with the newly generated key credential, use the [Replace an Application](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Application/#tag/Application/operation/replaceApplication) request with the new [credentials.signing.kid](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Application/#tag/Application/operation/replaceApplication!path=4/credentials/signing/kid&t=request) value in the request body. You can provide just the [Signing Credential object](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Application/#tag/Application/operation/replaceApplication!path=4/credentials/signing&t=request) instead of the entire [Application Credential object](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Application/#tag/Application/operation/replaceApplication!path=4/credentials&t=request).
+
+```sql
+INSERT INTO okta.apps.keys (
+validityYears,
+subdomain
+)
+SELECT
+'{{ validityYears }}',
+'{{ subdomain }}'
+RETURNING
+created,
+e,
+expiresAt,
+kid,
+kty,
+lastUpdated,
+n,
+use,
+x5c,
+x5t#S256
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: keys
+ props:
+ - name: validityYears
+ value: integer
+ description: Required parameter for the keys resource.
+ - name: subdomain
+ value: string
+ description: Required parameter for the keys resource.
+```
+
+
+
+
+## Lifecycle Methods
+
+
+
+
+Clones an X.509 certificate for an Application Key Credential from a source app to a target app.
For step-by-step instructions to clone a credential, see [Share application key credentials for IdPs across apps](https://developer.okta.com/docs/guides/sharing-cert/main/).
> **Note:** Sharing certificates isn't a recommended security practice.
+
+```sql
+EXEC okta.apps.keys.clone_application_key
+@targetAid='{{ targetAid }}' --required,
+@subdomain='{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/apps/push_mappings/index.md b/website/docs/services/apps/push_mappings/index.md
new file mode 100644
index 0000000..f2b0e2e
--- /dev/null
+++ b/website/docs/services/apps/push_mappings/index.md
@@ -0,0 +1,469 @@
+---
+title: push_mappings
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - push_mappings
+ - apps
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a push_mappings resource.
+
+## Overview
+
+| Name | push_mappings |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The ID of the group push mapping |
+
+
+ |
+ object |
+ Discoverable resources related to the group push mapping |
+
+
+ |
+ object |
+ Additional app configuration for group push mappings. Currently only required for Active Directory. |
+
+
+ |
+ string (date-time) |
+ Timestamp when the group push mapping was created |
+
+
+ |
+ string |
+ The error message summary if the latest push failed |
+
+
+ |
+ string (date-time) |
+ Timestamp when the group push mapping was pushed |
+
+
+ |
+ string (date-time) |
+ Timestamp when the group push mapping was last updated |
+
+
+ |
+ string |
+ The ID of the source group for the group push mapping |
+
+
+ |
+ string |
+ The status of the group push mapping |
+
+
+ |
+ string |
+ The ID of the target group for the group push mapping |
+
+
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The ID of the group push mapping |
+
+
+ |
+ object |
+ Discoverable resources related to the group push mapping |
+
+
+ |
+ object |
+ Additional app configuration for group push mappings. Currently only required for Active Directory. |
+
+
+ |
+ string (date-time) |
+ Timestamp when the group push mapping was created |
+
+
+ |
+ string |
+ The error message summary if the latest push failed |
+
+
+ |
+ string (date-time) |
+ Timestamp when the group push mapping was pushed |
+
+
+ |
+ string (date-time) |
+ Timestamp when the group push mapping was last updated |
+
+
+ |
+ string |
+ The ID of the source group for the group push mapping |
+
+
+ |
+ string |
+ The status of the group push mapping |
+
+
+ |
+ string |
+ The ID of the target group for the group push mapping |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ after, limit, lastUpdated, sourceGroupId, status |
+ Lists all group push mappings with pagination support |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves a group push mapping by ID |
+
+
+ |
+ |
+ subdomain |
+ |
+ Creates or links a group push mapping.
**Note:** Either `targetGroupId` or `targetGroupName` must be provided, but not both. If `targetGroupId` is provided, it links to an existing group. If `targetGroupName` is provided, it creates a new group. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Updates the status of a group push mapping |
+
+
+ |
+ |
+ deleteTargetGroup, subdomain |
+ |
+ Deletes a specific group push mapping. The group push mapping must be in an `INACTIVE` state. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ boolean |
+ If set to `true`, the target group is also deleted. If set to `false`, the target group isn't deleted. |
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ Specifies the pagination cursor for the next page of mappings |
+
+
+ |
+ string |
+ Filters group push mappings by last updated date. The `lastUpdated` parameter supports the following format: `YYYY-MM-DDTHH:mm:ssZ`. This filters mappings updated on or after the specified date and time in UTC. If you don't specify a value, all group push mappings are returned. |
+
+
+ |
+ integer (int32) |
+ Specifies the number of results returned |
+
+
+ |
+ string |
+ Filters group push mappings by source group ID. If you don't specify a value, all group push mappings are returned. |
+
+
+ |
+ string |
+ Filters group push mappings by status. If you don't specify a value, all group push mappings are returned. |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all group push mappings with pagination support
+
+```sql
+SELECT
+id,
+_links,
+appConfig,
+created,
+errorSummary,
+lastPush,
+lastUpdated,
+sourceGroupId,
+status,
+targetGroupId
+FROM okta.apps.push_mappings
+WHERE subdomain = '{{ subdomain }}' -- required
+AND after = '{{ after }}'
+AND limit = '{{ limit }}'
+AND lastUpdated = '{{ lastUpdated }}'
+AND sourceGroupId = '{{ sourceGroupId }}'
+AND status = '{{ status }}';
+```
+
+
+
+Retrieves a group push mapping by ID
+
+```sql
+SELECT
+id,
+_links,
+appConfig,
+created,
+errorSummary,
+lastPush,
+lastUpdated,
+sourceGroupId,
+status,
+targetGroupId
+FROM okta.apps.push_mappings
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Creates or links a group push mapping.
**Note:** Either `targetGroupId` or `targetGroupName` must be provided, but not both. If `targetGroupId` is provided, it links to an existing group. If `targetGroupName` is provided, it creates a new group.
+
+```sql
+INSERT INTO okta.apps.push_mappings (
+data__appConfig,
+data__sourceGroupId,
+data__status,
+data__targetGroupId,
+data__targetGroupName,
+subdomain
+)
+SELECT
+'{{ appConfig }}',
+'{{ sourceGroupId }}' --required,
+'{{ status }}',
+'{{ targetGroupId }}',
+'{{ targetGroupName }}',
+'{{ subdomain }}'
+RETURNING
+id,
+_links,
+appConfig,
+created,
+errorSummary,
+lastPush,
+lastUpdated,
+sourceGroupId,
+status,
+targetGroupId
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: push_mappings
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the push_mappings resource.
+ - name: appConfig
+ value: object
+ description: >
+ Additional app configuration for group push mappings. Currently only required for Active Directory.
+
+ - name: sourceGroupId
+ value: string
+ description: >
+ The ID of the source group for the group push mapping
+
+ - name: status
+ value: string
+ description: >
+ The status of the group push mapping
+
+ valid_values: ['ACTIVE', 'INACTIVE']
+ default: ACTIVE
+ - name: targetGroupId
+ value: string
+ description: >
+ The ID of the existing target group for the group push mapping. This is used to link to an existing group. Required if `targetGroupName` is not provided.
+
+ - name: targetGroupName
+ value: string
+ description: >
+ The name of the target group for the group push mapping. This is used when creating a new downstream group. If the group already exists, it links to the existing group. Required if `targetGroupId` is not provided.
+
+```
+
+
+
+
+## `UPDATE` examples
+
+
+
+
+Updates the status of a group push mapping
+
+```sql
+UPDATE okta.apps.push_mappings
+SET
+data__status = '{{ status }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+AND data__status = '{{ status }}' --required
+RETURNING
+id,
+_links,
+appConfig,
+created,
+errorSummary,
+lastPush,
+lastUpdated,
+sourceGroupId,
+status,
+targetGroupId;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes a specific group push mapping. The group push mapping must be in an `INACTIVE` state.
+
+```sql
+DELETE FROM okta.apps.push_mappings
+WHERE deleteTargetGroup = '{{ deleteTargetGroup }}' --required
+AND subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/apps/secrets/index.md b/website/docs/services/apps/secrets/index.md
new file mode 100644
index 0000000..13b9457
--- /dev/null
+++ b/website/docs/services/apps/secrets/index.md
@@ -0,0 +1,374 @@
+---
+title: secrets
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - secrets
+ - apps
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a secrets resource.
+
+## Overview
+
+| Name | secrets |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The unique ID of the OAuth Client Secret (example: ocs2f4zrZbs8nUa7p0g4) |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available for the current status of an application using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ The OAuth 2.0 client secret string (example: DRUFXGF9XbLn......a3x3POBiIxDreBCdZuFs5B) |
+
+
+ |
+ string |
+ Timestamp when the OAuth Client 2.0 Secret was created (example: 2023-02-21T20:08:24.000Z) |
+
+
+ |
+ string |
+ Timestamp when the OAuth Client 2.0 Secret was updated (example: 2023-02-21T20:08:24.000Z) |
+
+
+ |
+ string |
+ OAuth 2.0 client secret string hash (example: yk4SVx4sUWVJVbHt6M-UPA) |
+
+
+ |
+ string |
+ Status of the OAuth 2.0 Client Secret (example: ACTIVE, default: ACTIVE) |
+
+
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The unique ID of the OAuth Client Secret (example: ocs2f4zrZbs8nUa7p0g4) |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available for the current status of an application using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ The OAuth 2.0 client secret string (example: DRUFXGF9XbLn......a3x3POBiIxDreBCdZuFs5B) |
+
+
+ |
+ string |
+ Timestamp when the OAuth Client 2.0 Secret was created (example: 2023-02-21T20:08:24.000Z) |
+
+
+ |
+ string |
+ Timestamp when the OAuth Client 2.0 Secret was updated (example: 2023-02-21T20:08:24.000Z) |
+
+
+ |
+ string |
+ OAuth 2.0 client secret string hash (example: yk4SVx4sUWVJVbHt6M-UPA) |
+
+
+ |
+ string |
+ Status of the OAuth 2.0 Client Secret (example: ACTIVE, default: ACTIVE) |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all client secrets for an OAuth 2.0 client app |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves an OAuth 2.0 Client Secret by `secretId` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Creates an OAuth 2.0 Client Secret object with a new active client secret. You can create up to two Secret objects. An error is returned if you attempt to create more than two Secret objects. > **Note:** This API lets you bring your own secret. If [token_endpoint_auth_method](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Application/#tag/Application/operation/createApplication!path=4/credentials/oauthClient/token_endpoint_auth_method&t=request) of the app is `client_secret_jwt`, then the minimum length of `client_secret` is 32 characters. If no secret is specified in the request, Okta adds a new system-generated secret. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes an OAuth 2.0 Client Secret by `secretId`. You can only delete an inactive Secret. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Activates an OAuth 2.0 Client Secret by `secretId` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deactivates an OAuth 2.0 Client Secret by `secretId`. You can't deactivate a secret if it's the only secret of the client. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all client secrets for an OAuth 2.0 client app
+
+```sql
+SELECT
+id,
+_links,
+client_secret,
+created,
+lastUpdated,
+secret_hash,
+status
+FROM okta.apps.secrets
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+Retrieves an OAuth 2.0 Client Secret by `secretId`
+
+```sql
+SELECT
+id,
+_links,
+client_secret,
+created,
+lastUpdated,
+secret_hash,
+status
+FROM okta.apps.secrets
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Creates an OAuth 2.0 Client Secret object with a new active client secret. You can create up to two Secret objects. An error is returned if you attempt to create more than two Secret objects.
> **Note:** This API lets you bring your own secret. If [token_endpoint_auth_method](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Application/#tag/Application/operation/createApplication!path=4/credentials/oauthClient/token_endpoint_auth_method&t=request) of the app is `client_secret_jwt`, then the minimum length of `client_secret` is 32 characters. If no secret is specified in the request, Okta adds a new system-generated secret.
+
+```sql
+INSERT INTO okta.apps.secrets (
+data__client_secret,
+data__status,
+subdomain
+)
+SELECT
+'{{ client_secret }}',
+'{{ status }}',
+'{{ subdomain }}'
+RETURNING
+id,
+_links,
+client_secret,
+created,
+lastUpdated,
+secret_hash,
+status
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: secrets
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the secrets resource.
+ - name: client_secret
+ value: string
+ description: >
+ The OAuth 2.0 client secret string
+
+ - name: status
+ value: string
+ description: >
+ Status of the OAuth 2.0 Client Secret
+
+ valid_values: ['ACTIVE', 'INACTIVE']
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes an OAuth 2.0 Client Secret by `secretId`. You can only delete an inactive Secret.
+
+```sql
+DELETE FROM okta.apps.secrets
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
+
+
+## Lifecycle Methods
+
+
+
+
+Activates an OAuth 2.0 Client Secret by `secretId`
+
+```sql
+EXEC okta.apps.secrets.activate_oauth2_client_secret
+@subdomain='{{ subdomain }}' --required;
+```
+
+
+
+Deactivates an OAuth 2.0 Client Secret by `secretId`. You can't deactivate a secret if it's the only secret of the client.
+
+```sql
+EXEC okta.apps.secrets.deactivate_oauth2_client_secret
+@subdomain='{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/apps/tokens/index.md b/website/docs/services/apps/tokens/index.md
new file mode 100644
index 0000000..8db8342
--- /dev/null
+++ b/website/docs/services/apps/tokens/index.md
@@ -0,0 +1,352 @@
+---
+title: tokens
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - tokens
+ - apps
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a tokens resource.
+
+## Overview
+
+| Name | tokens |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ ID of the Token object (example: oar579Mcp7OUsNTlo0g3) |
+
+
+ |
+ object |
+ The embedded resources related to the object if the `expand` query parameter is specified |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ Client ID |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was created (example: 2017-03-28T01:11:10.000Z) |
+
+
+ |
+ string (date-time) |
+ Expiration time of the OAuth 2.0 Token |
+
+
+ |
+ string |
+ The complete URL of the authorization server that issued the Token (example: https://{yourOktaDomain}/oauth2/ausain6z9zIedDCxB0h7) |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was last updated |
+
+
+ |
+ array |
+ The scope names attached to the Token |
+
+
+ |
+ string |
+ Status (example: ACTIVE) |
+
+
+ |
+ string |
+ The ID of the user associated with the Token (example: 00u5t60iloOHN9pBi0h7) |
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ ID of the Token object (example: oar579Mcp7OUsNTlo0g3) |
+
+
+ |
+ object |
+ The embedded resources related to the object if the `expand` query parameter is specified |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ Client ID |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was created (example: 2017-03-28T01:11:10.000Z) |
+
+
+ |
+ string (date-time) |
+ Expiration time of the OAuth 2.0 Token |
+
+
+ |
+ string |
+ The complete URL of the authorization server that issued the Token (example: https://{yourOktaDomain}/oauth2/ausain6z9zIedDCxB0h7) |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was last updated |
+
+
+ |
+ array |
+ The scope names attached to the Token |
+
+
+ |
+ string |
+ Status (example: ACTIVE) |
+
+
+ |
+ string |
+ The ID of the user associated with the Token (example: 00u5t60iloOHN9pBi0h7) |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ expand, after, limit |
+ Lists all refresh tokens for an app
> **Note:** The results are [paginated]https://developer.okta.com/docs/api#pagination according to the `limit` parameter. > If there are multiple pages of results, the Link header contains a `next` link that you need to use as an opaque value (follow it, don't parse it).
|
+
+
+ |
+ |
+ subdomain |
+ expand |
+ Retrieves a refresh token for the specified app |
+
+
+ |
+ |
+ subdomain |
+ |
+ Revokes all OAuth 2.0 refresh tokens for the specified app. Any access tokens issued with these refresh tokens are also revoked, but access tokens issued without a refresh token aren't affected. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Revokes the specified token for the specified app |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ Specifies the pagination cursor for the next page of results. Treat this as an opaque value obtained through the next link relationship. See [Pagination]https://developer.okta.com/docs/api#pagination. |
+
+
+ |
+ string |
+ An optional parameter to return scope details in the `_embedded` property. Valid value: `scope` |
+
+
+ |
+ integer |
+ A limit on the number of objects to return |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all refresh tokens for an app
> **Note:** The results are [paginated]https://developer.okta.com/docs/api#pagination according to the `limit` parameter.
> If there are multiple pages of results, the Link header contains a `next` link that you need to use as an opaque value (follow it, don't parse it).
+
+```sql
+SELECT
+id,
+_embedded,
+_links,
+clientId,
+created,
+expiresAt,
+issuer,
+lastUpdated,
+scopes,
+status,
+userId
+FROM okta.apps.tokens
+WHERE subdomain = '{{ subdomain }}' -- required
+AND expand = '{{ expand }}'
+AND after = '{{ after }}'
+AND limit = '{{ limit }}';
+```
+
+
+
+Retrieves a refresh token for the specified app
+
+```sql
+SELECT
+id,
+_embedded,
+_links,
+clientId,
+created,
+expiresAt,
+issuer,
+lastUpdated,
+scopes,
+status,
+userId
+FROM okta.apps.tokens
+WHERE subdomain = '{{ subdomain }}' -- required
+AND expand = '{{ expand }}';
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Revokes all OAuth 2.0 refresh tokens for the specified app. Any access tokens issued with these refresh tokens are also revoked, but access tokens issued without a refresh token aren't affected.
+
+```sql
+DELETE FROM okta.apps.tokens
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
+
+Revokes the specified token for the specified app
+
+```sql
+DELETE FROM okta.apps.tokens
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/attack_protection/authenticator_settings/index.md b/website/docs/services/attack_protection/authenticator_settings/index.md
new file mode 100644
index 0000000..0ca1627
--- /dev/null
+++ b/website/docs/services/attack_protection/authenticator_settings/index.md
@@ -0,0 +1,158 @@
+---
+title: authenticator_settings
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - authenticator_settings
+ - attack_protection
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists an authenticator_settings resource.
+
+## Overview
+
+| Name | authenticator_settings |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ boolean |
+ If true, requires users to verify a possession factor before verifying a knowledge factor when the assurance requires two-factor authentication (2FA). |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves the Authenticator Settings for an org |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces the Authenticator Settings for an org |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Retrieves the Authenticator Settings for an org
+
+```sql
+SELECT
+verifyKnowledgeSecondWhen2faRequired
+FROM okta.attack_protection.authenticator_settings
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces the Authenticator Settings for an org
+
+```sql
+REPLACE okta.attack_protection.authenticator_settings
+SET
+data__verifyKnowledgeSecondWhen2faRequired = {{ verifyKnowledgeSecondWhen2faRequired }}
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+verifyKnowledgeSecondWhen2faRequired;
+```
+
+
diff --git a/website/docs/services/attack_protection/index.md b/website/docs/services/attack_protection/index.md
new file mode 100644
index 0000000..bfacd8f
--- /dev/null
+++ b/website/docs/services/attack_protection/index.md
@@ -0,0 +1,33 @@
+---
+title: attack_protection
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - attack_protection
+ - okta
+ - stackql
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+attack_protection service documentation.
+
+:::info[Service Summary]
+
+total resources: __2__
+
+:::
+
+## Resources
+
\ No newline at end of file
diff --git a/website/docs/services/attack_protection/lockout_settings/index.md b/website/docs/services/attack_protection/lockout_settings/index.md
new file mode 100644
index 0000000..794e47e
--- /dev/null
+++ b/website/docs/services/attack_protection/lockout_settings/index.md
@@ -0,0 +1,158 @@
+---
+title: lockout_settings
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - lockout_settings
+ - attack_protection
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a lockout_settings resource.
+
+## Overview
+
+| Name | lockout_settings |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ boolean |
+ Prevents brute-force lockout from unknown devices for the password authenticator. |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves the User Lockout Settings for an org |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces the User Lockout Settings for an org |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Retrieves the User Lockout Settings for an org
+
+```sql
+SELECT
+preventBruteForceLockoutFromUnknownDevices
+FROM okta.attack_protection.lockout_settings
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces the User Lockout Settings for an org
+
+```sql
+REPLACE okta.attack_protection.lockout_settings
+SET
+data__preventBruteForceLockoutFromUnknownDevices = {{ preventBruteForceLockoutFromUnknownDevices }}
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+preventBruteForceLockoutFromUnknownDevices;
+```
+
+
diff --git a/website/docs/services/authenticators/authenticator_methods/index.md b/website/docs/services/authenticators/authenticator_methods/index.md
new file mode 100644
index 0000000..d9c40ba
--- /dev/null
+++ b/website/docs/services/authenticators/authenticator_methods/index.md
@@ -0,0 +1,272 @@
+---
+title: authenticator_methods
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - authenticator_methods
+ - authenticators
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists an authenticator_methods resource.
+
+## Overview
+
+| Name | authenticator_methods |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ The status of the authenticator method |
+
+
+ |
+ string |
+ The type of authenticator method |
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ The status of the authenticator method |
+
+
+ |
+ string |
+ The type of authenticator method |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all methods of an authenticator identified by `authenticatorId` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves a method identified by `methodType` of an authenticator identified by `authenticatorId` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces a method of `methodType` for an authenticator identified by `authenticatorId` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Activates a method for an authenticator identified by `authenticatorId` and `methodType` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deactivates a method for an authenticator identified by `authenticatorId` and `methodType` |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all methods of an authenticator identified by `authenticatorId`
+
+```sql
+SELECT
+_links,
+status,
+type
+FROM okta.authenticators.authenticator_methods
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+Retrieves a method identified by `methodType` of an authenticator identified by `authenticatorId`
+
+```sql
+SELECT
+_links,
+status,
+type
+FROM okta.authenticators.authenticator_methods
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces a method of `methodType` for an authenticator identified by `authenticatorId`
+
+```sql
+REPLACE okta.authenticators.authenticator_methods
+SET
+data__status = '{{ status }}',
+data__type = '{{ type }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+_links,
+status,
+type;
+```
+
+
+
+
+## Lifecycle Methods
+
+
+
+
+Activates a method for an authenticator identified by `authenticatorId` and `methodType`
+
+```sql
+EXEC okta.authenticators.authenticator_methods.activate_authenticator_method
+@subdomain='{{ subdomain }}' --required;
+```
+
+
+
+Deactivates a method for an authenticator identified by `authenticatorId` and `methodType`
+
+```sql
+EXEC okta.authenticators.authenticator_methods.deactivate_authenticator_method
+@subdomain='{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/authenticators/authenticators/index.md b/website/docs/services/authenticators/authenticators/index.md
new file mode 100644
index 0000000..afe6a7a
--- /dev/null
+++ b/website/docs/services/authenticators/authenticators/index.md
@@ -0,0 +1,365 @@
+---
+title: authenticators
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - authenticators
+ - authenticators
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists an authenticators resource.
+
+## Overview
+
+| Name | authenticators |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ A unique identifier for the authenticator |
+
+
+ |
+ string |
+ Display name of the authenticator |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string (date-time) |
+ Timestamp when the authenticator was created |
+
+
+ |
+ string |
+ A human-readable string that identifies the authenticator |
+
+
+ |
+ string (date-time) |
+ Timestamp when the authenticator was last modified |
+
+
+ |
+ string |
+ Status of the authenticator |
+
+
+ |
+ string |
+ The type of authenticator |
+
+
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all authenticators |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves an authenticator from your Okta organization by `authenticatorId` |
+
+
+ |
+ |
+ subdomain |
+ activate |
+ Creates an authenticator |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces the properties for an authenticator identified by `authenticatorId` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Activates an authenticator by `authenticatorId` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deactivates an authenticator by `authenticatorId` |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ boolean |
+ Whether to execute the activation lifecycle operation when Okta creates the authenticator |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all authenticators
+
+```sql
+SELECT
+id,
+name,
+_links,
+created,
+key,
+lastUpdated,
+status,
+type
+FROM okta.authenticators.authenticators
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+Retrieves an authenticator from your Okta organization by `authenticatorId`
+
+```sql
+SELECT
+*
+FROM okta.authenticators.authenticators
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Creates an authenticator
+
+```sql
+INSERT INTO okta.authenticators.authenticators (
+data__key,
+data__name,
+data__status,
+data__type,
+subdomain,
+activate
+)
+SELECT
+'{{ key }}',
+'{{ name }}',
+'{{ status }}',
+'{{ type }}',
+'{{ subdomain }}',
+'{{ activate }}'
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: authenticators
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the authenticators resource.
+ - name: key
+ value: string
+ description: >
+ A human-readable string that identifies the authenticator
+
+ valid_values: ['custom_app', 'duo', 'external_idp', 'google_otp', 'okta_email', 'okta_password', 'okta_verify', 'onprem_mfa', 'phone_number', 'security_key', 'security_question', 'smart_card_idp', 'symantec_vip', 'webauthn', 'yubikey_token', 'tac']
+ - name: name
+ value: string
+ description: >
+ Display name of the authenticator
+
+ - name: status
+ value: string
+ description: >
+ Status of the authenticator
+
+ valid_values: ['ACTIVE', 'INACTIVE']
+ - name: type
+ value: string
+ description: >
+ The type of authenticator
+
+ valid_values: ['app', 'email', 'federated', 'password', 'phone', 'security_key', 'security_question', 'tac']
+ - name: activate
+ value: boolean
+ description: Whether to execute the activation lifecycle operation when Okta creates the authenticator
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces the properties for an authenticator identified by `authenticatorId`
+
+```sql
+REPLACE okta.authenticators.authenticators
+SET
+data__key = '{{ key }}',
+data__name = '{{ name }}',
+data__status = '{{ status }}',
+data__type = '{{ type }}'
+WHERE
+subdomain = '{{ subdomain }}' --required;
+```
+
+
+
+
+## Lifecycle Methods
+
+
+
+
+Activates an authenticator by `authenticatorId`
+
+```sql
+EXEC okta.authenticators.authenticators.activate_authenticator
+@subdomain='{{ subdomain }}' --required;
+```
+
+
+
+Deactivates an authenticator by `authenticatorId`
+
+```sql
+EXEC okta.authenticators.authenticators.deactivate_authenticator
+@subdomain='{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/authenticators/custom_aaguids/index.md b/website/docs/services/authenticators/custom_aaguids/index.md
new file mode 100644
index 0000000..1706e58
--- /dev/null
+++ b/website/docs/services/authenticators/custom_aaguids/index.md
@@ -0,0 +1,390 @@
+---
+title: custom_aaguids
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - custom_aaguids
+ - authenticators
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a custom_aaguids resource.
+
+## Overview
+
+| Name | custom_aaguids |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The product name associated with the AAGUID |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ A unique 128-bit identifier that's assigned to a specific model of security key or authenticator |
+
+
+ |
+ array |
+ |
+
+
+ |
+ object |
+ Contains additional properties about custom AAGUID. |
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The product name associated with the AAGUID |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ A unique 128-bit identifier that's assigned to a specific model of security key or authenticator |
+
+
+ |
+ array |
+ |
+
+
+ |
+ object |
+ Contains additional properties about custom AAGUID. |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all custom Authenticator Attestation Global Unique Identifiers (AAGUIDs) in the org
Only custom AAGUIDs that an admin has created are returned. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves a custom AAGUID |
+
+
+ |
+ |
+ subdomain |
+ |
+ Creates a custom AAGUID for the WebAuthn authenticator |
+
+
+ |
+ |
+ subdomain |
+ |
+ Updates the properties of a custom AAGUID by the `authenticatorId` and `aaguid` ID |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces a custom AAGUID for the specified WebAuthn authenticator |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes a custom AAGUID
You can only delete custom AAGUIDs that an admin has created. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all custom Authenticator Attestation Global Unique Identifiers (AAGUIDs) in the org
Only custom AAGUIDs that an admin has created are returned.
+
+```sql
+SELECT
+name,
+_links,
+aaguid,
+attestationRootCertificates,
+authenticatorCharacteristics
+FROM okta.authenticators.custom_aaguids
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+Retrieves a custom AAGUID
+
+```sql
+SELECT
+name,
+_links,
+aaguid,
+attestationRootCertificates,
+authenticatorCharacteristics
+FROM okta.authenticators.custom_aaguids
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Creates a custom AAGUID for the WebAuthn authenticator
+
+```sql
+INSERT INTO okta.authenticators.custom_aaguids (
+data__aaguid,
+data__attestationRootCertificates,
+data__authenticatorCharacteristics,
+subdomain
+)
+SELECT
+'{{ aaguid }}',
+'{{ attestationRootCertificates }}',
+'{{ authenticatorCharacteristics }}',
+'{{ subdomain }}'
+RETURNING
+name,
+_links,
+aaguid,
+attestationRootCertificates,
+authenticatorCharacteristics
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: custom_aaguids
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the custom_aaguids resource.
+ - name: aaguid
+ value: string
+ description: >
+ An Authenticator Attestation Global Unique Identifier (AAGUID) is a 128-bit identifier indicating the model.
+
+ - name: attestationRootCertificates
+ value: array
+ description: >
+ Contains the certificate and information about it
+
+ - name: authenticatorCharacteristics
+ value: object
+ description: >
+ Contains additional properties about custom AAGUID.
+
+```
+
+
+
+
+## `UPDATE` examples
+
+
+
+
+Updates the properties of a custom AAGUID by the `authenticatorId` and `aaguid` ID
+
+```sql
+UPDATE okta.authenticators.custom_aaguids
+SET
+data__attestationRootCertificates = '{{ attestationRootCertificates }}',
+data__authenticatorCharacteristics = '{{ authenticatorCharacteristics }}',
+data__name = '{{ name }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+name,
+_links,
+aaguid,
+attestationRootCertificates,
+authenticatorCharacteristics;
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces a custom AAGUID for the specified WebAuthn authenticator
+
+```sql
+REPLACE okta.authenticators.custom_aaguids
+SET
+data__attestationRootCertificates = '{{ attestationRootCertificates }}',
+data__authenticatorCharacteristics = '{{ authenticatorCharacteristics }}',
+data__name = '{{ name }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+name,
+_links,
+aaguid,
+attestationRootCertificates,
+authenticatorCharacteristics;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes a custom AAGUID
You can only delete custom AAGUIDs that an admin has created.
+
+```sql
+DELETE FROM okta.authenticators.custom_aaguids
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/authenticators/index.md b/website/docs/services/authenticators/index.md
new file mode 100644
index 0000000..4f0b442
--- /dev/null
+++ b/website/docs/services/authenticators/index.md
@@ -0,0 +1,34 @@
+---
+title: authenticators
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - authenticators
+ - okta
+ - stackql
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+authenticators service documentation.
+
+:::info[Service Summary]
+
+total resources: __3__
+
+:::
+
+## Resources
+
\ No newline at end of file
diff --git a/website/docs/services/authorizationservers/associated_servers/index.md b/website/docs/services/authorizationservers/associated_servers/index.md
new file mode 100644
index 0000000..25548ad
--- /dev/null
+++ b/website/docs/services/authorizationservers/associated_servers/index.md
@@ -0,0 +1,322 @@
+---
+title: associated_servers
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - associated_servers
+ - authorizationservers
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists an associated_servers resource.
+
+## Overview
+
+| Name | associated_servers |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The ID of the custom authorization server |
+
+
+ |
+ string |
+ The name of the custom authorization server |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ <x-lifecycle-container><x-lifecycle class="ea"></x-lifecycle></x-lifecycle-container>The algorithm for encrypting access tokens issued by this authorization server. If this is requested, the response is signed, and then encrypted. The result is a nested JWT. The default, if omitted, is that no encryption is performed. |
+
+
+ |
+ array |
+ The recipients that the tokens are intended for. This becomes the `aud` claim in an access token. Okta currently supports only one audience. |
+
+
+ |
+ string (date-time) |
+ |
+
+
+ |
+ object |
+ |
+
+
+ |
+ string |
+ The description of the custom authorization server |
+
+
+ |
+ string |
+ The complete URL for the custom authorization server. This becomes the `iss` claim in an access token. |
+
+
+ |
+ string |
+ Indicates which value is specified in the issuer of the tokens that a custom authorization server returns: the Okta org domain URL or a custom domain URL. `issuerMode` is visible if you have a custom URL domain configured or the Dynamic Issuer Mode feature enabled. If you have a custom URL domain configured, you can set a custom domain URL in a custom authorization server, and this property is returned in the appropriate responses. When set to `ORG_URL`, then in responses, `issuer` is the Okta org domain URL: `https://${yourOktaDomain}`. When set to `CUSTOM_URL`, then in responses, `issuer` is the custom domain URL configured in the administration user interface. When set to `DYNAMIC`, then in responses, `issuer` is the custom domain URL if the OAuth 2.0 request was sent to the custom domain, or is the Okta org's domain URL if the OAuth 2.0 request was sent to the original Okta org domain. After you configure a custom URL domain, all new custom authorization servers use `CUSTOM_URL` by default. If the Dynamic Issuer Mode feature is enabled, then all new custom authorization servers use `DYNAMIC` by default. All existing custom authorization servers continue to use the original value until they're changed using the Admin Console or the API. This way, existing integrations with the client and resource server continue to work after the feature is enabled. |
+
+
+ |
+ object |
+ <x-lifecycle-container><x-lifecycle class="ea"></x-lifecycle></x-lifecycle-container>A [JSON Web Key Set](https://tools.ietf.org/html/rfc7517#section-5) for encrypting JWTs minted by the custom authorization server |
+
+
+ |
+ string |
+ <x-lifecycle-container><x-lifecycle class="ea"></x-lifecycle></x-lifecycle-container>URL string that references a JSON Web Key Set for encrypting JWTs minted by the custom authorization server |
+
+
+ |
+ string (date-time) |
+ |
+
+
+ |
+ string |
+ |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ trusted, q, limit, after |
+ Lists all associated Authorization Servers by trusted type for the given `authServerId` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Creates trusted relationships between the given authorization server and other authorization servers |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes an associated Authorization Server |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ Specifies the pagination cursor for the next page of the associated authorization servers |
+
+
+ |
+ integer (int32) |
+ Specifies the number of results for a page |
+
+
+ |
+ string |
+ Searches for the name or audience of the associated authorization servers (example: customasone) |
+
+
+ |
+ boolean |
+ Searches trusted authorization servers when `true` or searches untrusted authorization servers when `false` |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all associated Authorization Servers by trusted type for the given `authServerId`
+
+```sql
+SELECT
+id,
+name,
+_links,
+accessTokenEncryptedResponseAlgorithm,
+audiences,
+created,
+credentials,
+description,
+issuer,
+issuerMode,
+jwks,
+jwks_uri,
+lastUpdated,
+status
+FROM okta.authorizationservers.associated_servers
+WHERE subdomain = '{{ subdomain }}' -- required
+AND trusted = '{{ trusted }}'
+AND q = '{{ q }}'
+AND limit = '{{ limit }}'
+AND after = '{{ after }}';
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Creates trusted relationships between the given authorization server and other authorization servers
+
+```sql
+INSERT INTO okta.authorizationservers.associated_servers (
+data__trusted,
+subdomain
+)
+SELECT
+'{{ trusted }}',
+'{{ subdomain }}'
+RETURNING
+id,
+name,
+_links,
+accessTokenEncryptedResponseAlgorithm,
+audiences,
+created,
+credentials,
+description,
+issuer,
+issuerMode,
+jwks,
+jwks_uri,
+lastUpdated,
+status
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: associated_servers
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the associated_servers resource.
+ - name: trusted
+ value: array
+ description: >
+ A list of the authorization server IDs
+
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes an associated Authorization Server
+
+```sql
+DELETE FROM okta.authorizationservers.associated_servers
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/authorizationservers/authorization_servers/index.md b/website/docs/services/authorizationservers/authorization_servers/index.md
new file mode 100644
index 0000000..143a3bb
--- /dev/null
+++ b/website/docs/services/authorizationservers/authorization_servers/index.md
@@ -0,0 +1,602 @@
+---
+title: authorization_servers
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - authorization_servers
+ - authorizationservers
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists an authorization_servers resource.
+
+## Overview
+
+| Name | authorization_servers |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The ID of the custom authorization server |
+
+
+ |
+ string |
+ The name of the custom authorization server |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ <x-lifecycle-container><x-lifecycle class="ea"></x-lifecycle></x-lifecycle-container>The algorithm for encrypting access tokens issued by this authorization server. If this is requested, the response is signed, and then encrypted. The result is a nested JWT. The default, if omitted, is that no encryption is performed. |
+
+
+ |
+ array |
+ The recipients that the tokens are intended for. This becomes the `aud` claim in an access token. Okta currently supports only one audience. |
+
+
+ |
+ string (date-time) |
+ |
+
+
+ |
+ object |
+ |
+
+
+ |
+ string |
+ The description of the custom authorization server |
+
+
+ |
+ string |
+ The complete URL for the custom authorization server. This becomes the `iss` claim in an access token. |
+
+
+ |
+ string |
+ Indicates which value is specified in the issuer of the tokens that a custom authorization server returns: the Okta org domain URL or a custom domain URL. `issuerMode` is visible if you have a custom URL domain configured or the Dynamic Issuer Mode feature enabled. If you have a custom URL domain configured, you can set a custom domain URL in a custom authorization server, and this property is returned in the appropriate responses. When set to `ORG_URL`, then in responses, `issuer` is the Okta org domain URL: `https://${yourOktaDomain}`. When set to `CUSTOM_URL`, then in responses, `issuer` is the custom domain URL configured in the administration user interface. When set to `DYNAMIC`, then in responses, `issuer` is the custom domain URL if the OAuth 2.0 request was sent to the custom domain, or is the Okta org's domain URL if the OAuth 2.0 request was sent to the original Okta org domain. After you configure a custom URL domain, all new custom authorization servers use `CUSTOM_URL` by default. If the Dynamic Issuer Mode feature is enabled, then all new custom authorization servers use `DYNAMIC` by default. All existing custom authorization servers continue to use the original value until they're changed using the Admin Console or the API. This way, existing integrations with the client and resource server continue to work after the feature is enabled. |
+
+
+ |
+ object |
+ <x-lifecycle-container><x-lifecycle class="ea"></x-lifecycle></x-lifecycle-container>A [JSON Web Key Set](https://tools.ietf.org/html/rfc7517#section-5) for encrypting JWTs minted by the custom authorization server |
+
+
+ |
+ string |
+ <x-lifecycle-container><x-lifecycle class="ea"></x-lifecycle></x-lifecycle-container>URL string that references a JSON Web Key Set for encrypting JWTs minted by the custom authorization server |
+
+
+ |
+ string (date-time) |
+ |
+
+
+ |
+ string |
+ |
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The ID of the custom authorization server |
+
+
+ |
+ string |
+ The name of the custom authorization server |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ <x-lifecycle-container><x-lifecycle class="ea"></x-lifecycle></x-lifecycle-container>The algorithm for encrypting access tokens issued by this authorization server. If this is requested, the response is signed, and then encrypted. The result is a nested JWT. The default, if omitted, is that no encryption is performed. |
+
+
+ |
+ array |
+ The recipients that the tokens are intended for. This becomes the `aud` claim in an access token. Okta currently supports only one audience. |
+
+
+ |
+ string (date-time) |
+ |
+
+
+ |
+ object |
+ |
+
+
+ |
+ string |
+ The description of the custom authorization server |
+
+
+ |
+ string |
+ The complete URL for the custom authorization server. This becomes the `iss` claim in an access token. |
+
+
+ |
+ string |
+ Indicates which value is specified in the issuer of the tokens that a custom authorization server returns: the Okta org domain URL or a custom domain URL. `issuerMode` is visible if you have a custom URL domain configured or the Dynamic Issuer Mode feature enabled. If you have a custom URL domain configured, you can set a custom domain URL in a custom authorization server, and this property is returned in the appropriate responses. When set to `ORG_URL`, then in responses, `issuer` is the Okta org domain URL: `https://${yourOktaDomain}`. When set to `CUSTOM_URL`, then in responses, `issuer` is the custom domain URL configured in the administration user interface. When set to `DYNAMIC`, then in responses, `issuer` is the custom domain URL if the OAuth 2.0 request was sent to the custom domain, or is the Okta org's domain URL if the OAuth 2.0 request was sent to the original Okta org domain. After you configure a custom URL domain, all new custom authorization servers use `CUSTOM_URL` by default. If the Dynamic Issuer Mode feature is enabled, then all new custom authorization servers use `DYNAMIC` by default. All existing custom authorization servers continue to use the original value until they're changed using the Admin Console or the API. This way, existing integrations with the client and resource server continue to work after the feature is enabled. |
+
+
+ |
+ object |
+ <x-lifecycle-container><x-lifecycle class="ea"></x-lifecycle></x-lifecycle-container>A [JSON Web Key Set](https://tools.ietf.org/html/rfc7517#section-5) for encrypting JWTs minted by the custom authorization server |
+
+
+ |
+ string |
+ <x-lifecycle-container><x-lifecycle class="ea"></x-lifecycle></x-lifecycle-container>URL string that references a JSON Web Key Set for encrypting JWTs minted by the custom authorization server |
+
+
+ |
+ string (date-time) |
+ |
+
+
+ |
+ string |
+ |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ q, limit, after |
+ Lists all custom authorization servers in the org |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves an authorization server |
+
+
+ |
+ |
+ subdomain |
+ |
+ Creates an authorization server |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces an authorization server |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes an authorization server |
+
+
+ |
+ |
+ subdomain |
+ |
+ Activates an authorization server |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deactivates an authorization server |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ Specifies the pagination cursor for the next page of authorization servers. Treat as an opaque value and obtain through the next link relationship. |
+
+
+ |
+ integer (int32) |
+ Specifies the number of authorization server results on a page. Maximum value: 200 |
+
+
+ |
+ string |
+ Searches the `name` and `audiences` of authorization servers for matching values (example: customasone) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all custom authorization servers in the org
+
+```sql
+SELECT
+id,
+name,
+_links,
+accessTokenEncryptedResponseAlgorithm,
+audiences,
+created,
+credentials,
+description,
+issuer,
+issuerMode,
+jwks,
+jwks_uri,
+lastUpdated,
+status
+FROM okta.authorizationservers.authorization_servers
+WHERE subdomain = '{{ subdomain }}' -- required
+AND q = '{{ q }}'
+AND limit = '{{ limit }}'
+AND after = '{{ after }}';
+```
+
+
+
+Retrieves an authorization server
+
+```sql
+SELECT
+id,
+name,
+_links,
+accessTokenEncryptedResponseAlgorithm,
+audiences,
+created,
+credentials,
+description,
+issuer,
+issuerMode,
+jwks,
+jwks_uri,
+lastUpdated,
+status
+FROM okta.authorizationservers.authorization_servers
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Creates an authorization server
+
+```sql
+INSERT INTO okta.authorizationservers.authorization_servers (
+data__accessTokenEncryptedResponseAlgorithm,
+data__audiences,
+data__credentials,
+data__description,
+data__issuer,
+data__issuerMode,
+data__jwks,
+data__jwks_uri,
+data__name,
+data__status,
+subdomain
+)
+SELECT
+'{{ accessTokenEncryptedResponseAlgorithm }}',
+'{{ audiences }}',
+'{{ credentials }}',
+'{{ description }}',
+'{{ issuer }}',
+'{{ issuerMode }}',
+'{{ jwks }}',
+'{{ jwks_uri }}',
+'{{ name }}',
+'{{ status }}',
+'{{ subdomain }}'
+RETURNING
+id,
+name,
+_links,
+accessTokenEncryptedResponseAlgorithm,
+audiences,
+created,
+credentials,
+description,
+issuer,
+issuerMode,
+jwks,
+jwks_uri,
+lastUpdated,
+status
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: authorization_servers
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the authorization_servers resource.
+ - name: accessTokenEncryptedResponseAlgorithm
+ value: string
+ description: >
+ The algorithm for encrypting access tokens issued by this authorization server. If this is requested, the response is signed, and then encrypted. The result is a nested JWT. The default, if omitted, is that no encryption is performed.
+
+ valid_values: ['RSA-OAEP-256', 'RSA-OAEP-384', 'RSA-OAEP-512']
+ - name: audiences
+ value: array
+ description: >
+ The recipients that the tokens are intended for. This becomes the `aud` claim in an access token. Okta currently supports only one audience.
+
+ - name: credentials
+ value: object
+ - name: description
+ value: string
+ description: >
+ The description of the custom authorization server
+
+ - name: issuer
+ value: string
+ description: >
+ The complete URL for the custom authorization server. This becomes the `iss` claim in an access token.
+
+ - name: issuerMode
+ value: string
+ description: >
+ Indicates which value is specified in the issuer of the tokens that a custom authorization server returns: the Okta org domain URL or a custom domain URL.
+
+`issuerMode` is visible if you have a custom URL domain configured or the Dynamic Issuer Mode feature enabled. If you have a custom URL domain configured, you can set a custom domain URL in a custom authorization server, and this property is returned in the appropriate responses.
+
+When set to `ORG_URL`, then in responses, `issuer` is the Okta org domain URL: `https://${yourOktaDomain}`.
+
+When set to `CUSTOM_URL`, then in responses, `issuer` is the custom domain URL configured in the administration user interface.
+
+When set to `DYNAMIC`, then in responses, `issuer` is the custom domain URL if the OAuth 2.0 request was sent to the custom domain, or is the Okta org's domain URL if the OAuth 2.0 request was sent to the original Okta org domain.
+
+After you configure a custom URL domain, all new custom authorization servers use `CUSTOM_URL` by default. If the Dynamic Issuer Mode feature is enabled, then all new custom authorization servers use `DYNAMIC` by default. All existing custom authorization servers continue to use the original value until they're changed using the Admin Console or the API. This way, existing integrations with the client and resource server continue to work after the feature is enabled.
+
+ - name: jwks
+ value: object
+ description: >
+ A [JSON Web Key Set](https://tools.ietf.org/html/rfc7517#section-5) for encrypting JWTs minted by the custom authorization server
+
+ - name: jwks_uri
+ value: string
+ description: >
+ URL string that references a JSON Web Key Set for encrypting JWTs minted by the custom authorization server
+
+ - name: name
+ value: string
+ description: >
+ The name of the custom authorization server
+
+ - name: status
+ value: string
+ valid_values: ['ACTIVE', 'INACTIVE']
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces an authorization server
+
+```sql
+REPLACE okta.authorizationservers.authorization_servers
+SET
+data__accessTokenEncryptedResponseAlgorithm = '{{ accessTokenEncryptedResponseAlgorithm }}',
+data__audiences = '{{ audiences }}',
+data__credentials = '{{ credentials }}',
+data__description = '{{ description }}',
+data__issuer = '{{ issuer }}',
+data__issuerMode = '{{ issuerMode }}',
+data__jwks = '{{ jwks }}',
+data__jwks_uri = '{{ jwks_uri }}',
+data__name = '{{ name }}',
+data__status = '{{ status }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+id,
+name,
+_links,
+accessTokenEncryptedResponseAlgorithm,
+audiences,
+created,
+credentials,
+description,
+issuer,
+issuerMode,
+jwks,
+jwks_uri,
+lastUpdated,
+status;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes an authorization server
+
+```sql
+DELETE FROM okta.authorizationservers.authorization_servers
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
+
+
+## Lifecycle Methods
+
+
+
+
+Activates an authorization server
+
+```sql
+EXEC okta.authorizationservers.authorization_servers.activate_authorization_server
+@subdomain='{{ subdomain }}' --required;
+```
+
+
+
+Deactivates an authorization server
+
+```sql
+EXEC okta.authorizationservers.authorization_servers.deactivate_authorization_server
+@subdomain='{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/authorizationservers/claims/index.md b/website/docs/services/authorizationservers/claims/index.md
new file mode 100644
index 0000000..2cd6905
--- /dev/null
+++ b/website/docs/services/authorizationservers/claims/index.md
@@ -0,0 +1,489 @@
+---
+title: claims
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - claims
+ - authorizationservers
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a claims resource.
+
+## Overview
+
+| Name | claims |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ ID of the Claim |
+
+
+ |
+ string |
+ Name of the Claim |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ boolean |
+ Specifies whether to include Claims in the token. The value is always `TRUE` for access token Claims. If the value is set to `FALSE` for an ID token claim, the Claim isn't included in the ID token when the token is requested with the access token or with the `authorization_code`. The client instead uses the access token to get Claims from the `/userinfo` endpoint. |
+
+
+ |
+ string |
+ Specifies whether the Claim is for an access token (`RESOURCE`) or an ID token (`IDENTITY`) |
+
+
+ |
+ object |
+ Specifies the scopes for the Claim |
+
+
+ |
+ string |
+ Specifies the type of group filter if `valueType` is `GROUPS` If `valueType` is `GROUPS`, then the groups returned are filtered according to the value of `group_filter_type`. If you have complex filters for Groups, you can [create a Groups allowlist](https://developer.okta.com/docs/guides/customize-tokens-groups-claim/main/) to put them all in a Claim. |
+
+
+ |
+ string |
+ |
+
+
+ |
+ boolean |
+ When `true`, indicates that Okta created the Claim |
+
+
+ |
+ string |
+ Specifies the value of the Claim. This value must be a string literal if `valueType` is `GROUPS`, and the string literal is matched with the selected `group_filter_type`. The value must be an Okta EL expression if `valueType` is `EXPRESSION`. |
+
+
+ |
+ string |
+ Specifies whether the Claim is an Okta Expression Language (EL) expression (`EXPRESSION`), a set of groups (`GROUPS`), or a system claim (`SYSTEM`) |
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ ID of the Claim |
+
+
+ |
+ string |
+ Name of the Claim |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ boolean |
+ Specifies whether to include Claims in the token. The value is always `TRUE` for access token Claims. If the value is set to `FALSE` for an ID token claim, the Claim isn't included in the ID token when the token is requested with the access token or with the `authorization_code`. The client instead uses the access token to get Claims from the `/userinfo` endpoint. |
+
+
+ |
+ string |
+ Specifies whether the Claim is for an access token (`RESOURCE`) or an ID token (`IDENTITY`) |
+
+
+ |
+ object |
+ Specifies the scopes for the Claim |
+
+
+ |
+ string |
+ Specifies the type of group filter if `valueType` is `GROUPS` If `valueType` is `GROUPS`, then the groups returned are filtered according to the value of `group_filter_type`. If you have complex filters for Groups, you can [create a Groups allowlist](https://developer.okta.com/docs/guides/customize-tokens-groups-claim/main/) to put them all in a Claim. |
+
+
+ |
+ string |
+ |
+
+
+ |
+ boolean |
+ When `true`, indicates that Okta created the Claim |
+
+
+ |
+ string |
+ Specifies the value of the Claim. This value must be a string literal if `valueType` is `GROUPS`, and the string literal is matched with the selected `group_filter_type`. The value must be an Okta EL expression if `valueType` is `EXPRESSION`. |
+
+
+ |
+ string |
+ Specifies whether the Claim is an Okta Expression Language (EL) expression (`EXPRESSION`), a set of groups (`GROUPS`), or a system claim (`SYSTEM`) |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all custom token Claims defined for a specified custom authorization server |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves a custom token Claim by the specified `claimId` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Creates a custom token Claim for a custom authorization server |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces a custom token Claim specified by the `claimId` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes a custom token Claim specified by the `claimId` |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all custom token Claims defined for a specified custom authorization server
+
+```sql
+SELECT
+id,
+name,
+_links,
+alwaysIncludeInToken,
+claimType,
+conditions,
+group_filter_type,
+status,
+system,
+value,
+valueType
+FROM okta.authorizationservers.claims
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+Retrieves a custom token Claim by the specified `claimId`
+
+```sql
+SELECT
+id,
+name,
+_links,
+alwaysIncludeInToken,
+claimType,
+conditions,
+group_filter_type,
+status,
+system,
+value,
+valueType
+FROM okta.authorizationservers.claims
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Creates a custom token Claim for a custom authorization server
+
+```sql
+INSERT INTO okta.authorizationservers.claims (
+data__alwaysIncludeInToken,
+data__claimType,
+data__conditions,
+data__group_filter_type,
+data__name,
+data__status,
+data__system,
+data__value,
+data__valueType,
+subdomain
+)
+SELECT
+{{ alwaysIncludeInToken }},
+'{{ claimType }}',
+'{{ conditions }}',
+'{{ group_filter_type }}',
+'{{ name }}',
+'{{ status }}',
+{{ system }},
+'{{ value }}',
+'{{ valueType }}',
+'{{ subdomain }}'
+RETURNING
+id,
+name,
+_links,
+alwaysIncludeInToken,
+claimType,
+conditions,
+group_filter_type,
+status,
+system,
+value,
+valueType
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: claims
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the claims resource.
+ - name: alwaysIncludeInToken
+ value: boolean
+ description: >
+ Specifies whether to include Claims in the token. The value is always `TRUE` for access token Claims. If the value is set to `FALSE` for an ID token claim, the Claim isn't included in the ID token when the token is requested with the access token or with the `authorization_code`. The client instead uses the access token to get Claims from the `/userinfo` endpoint.
+
+ - name: claimType
+ value: string
+ description: >
+ Specifies whether the Claim is for an access token (`RESOURCE`) or an ID token (`IDENTITY`)
+
+ valid_values: ['IDENTITY', 'RESOURCE']
+ - name: conditions
+ value: object
+ description: >
+ Specifies the scopes for the Claim
+
+ - name: group_filter_type
+ value: string
+ description: >
+ Specifies the type of group filter if `valueType` is `GROUPS`
+
+If `valueType` is `GROUPS`, then the groups returned are filtered according to the value of `group_filter_type`.
+
+If you have complex filters for Groups, you can [create a Groups allowlist](https://developer.okta.com/docs/guides/customize-tokens-groups-claim/main/) to put them all in a Claim.
+
+ valid_values: ['CONTAINS', 'EQUALS', 'REGEX', 'STARTS_WITH']
+ - name: name
+ value: string
+ description: >
+ Name of the Claim
+
+ - name: status
+ value: string
+ valid_values: ['ACTIVE', 'INACTIVE']
+ - name: system
+ value: boolean
+ description: >
+ When `true`, indicates that Okta created the Claim
+
+ - name: value
+ value: string
+ description: >
+ Specifies the value of the Claim. This value must be a string literal if `valueType` is `GROUPS`, and the string literal is matched with the selected `group_filter_type`. The value must be an Okta EL expression if `valueType` is `EXPRESSION`.
+
+ - name: valueType
+ value: string
+ description: >
+ Specifies whether the Claim is an Okta Expression Language (EL) expression (`EXPRESSION`), a set of groups (`GROUPS`), or a system claim (`SYSTEM`)
+
+ valid_values: ['EXPRESSION', 'GROUPS', 'SYSTEM']
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces a custom token Claim specified by the `claimId`
+
+```sql
+REPLACE okta.authorizationservers.claims
+SET
+data__alwaysIncludeInToken = {{ alwaysIncludeInToken }},
+data__claimType = '{{ claimType }}',
+data__conditions = '{{ conditions }}',
+data__group_filter_type = '{{ group_filter_type }}',
+data__name = '{{ name }}',
+data__status = '{{ status }}',
+data__system = {{ system }},
+data__value = '{{ value }}',
+data__valueType = '{{ valueType }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+id,
+name,
+_links,
+alwaysIncludeInToken,
+claimType,
+conditions,
+group_filter_type,
+status,
+system,
+value,
+valueType;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes a custom token Claim specified by the `claimId`
+
+```sql
+DELETE FROM okta.authorizationservers.claims
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/authorizationservers/clients/index.md b/website/docs/services/authorizationservers/clients/index.md
new file mode 100644
index 0000000..bd59068
--- /dev/null
+++ b/website/docs/services/authorizationservers/clients/index.md
@@ -0,0 +1,152 @@
+---
+title: clients
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - clients
+ - authorizationservers
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a clients resource.
+
+## Overview
+
+| Name | clients |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Unique key for the client application. The `client_id` is immutable. (example: 0oabskvc6442nkvQO0h7) |
+
+
+ |
+ string |
+ Human-readable string name of the client application (example: My App) |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ (example: https://www.example.com) |
+
+
+ |
+ string |
+ URL string that references a logo for the client consent dialog (not the sign-in dialog) (example: https://www.example.com/logo.png) |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all client resources for which the specified authorization server has tokens.
> **Note:** To list a specific user's client resources for which they have tokens or grants, use the [List all clients endpoint in the User Resources API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserResources/#tag/UserResources/operation/listUserClients). |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all client resources for which the specified authorization server has tokens.
> **Note:** To list a specific user's client resources for which they have tokens or grants, use the [List all clients endpoint in the User Resources API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserResources/#tag/UserResources/operation/listUserClients).
+
+```sql
+SELECT
+client_id,
+client_name,
+_links,
+client_uri,
+logo_uri
+FROM okta.authorizationservers.clients
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
diff --git a/website/docs/services/authorizationservers/index.md b/website/docs/services/authorizationservers/index.md
new file mode 100644
index 0000000..89d49b9
--- /dev/null
+++ b/website/docs/services/authorizationservers/index.md
@@ -0,0 +1,41 @@
+---
+title: authorizationservers
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - authorizationservers
+ - okta
+ - stackql
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+authorizationservers service documentation.
+
+:::info[Service Summary]
+
+total resources: __10__
+
+:::
+
+## Resources
+
\ No newline at end of file
diff --git a/website/docs/services/authorizationservers/keys/index.md b/website/docs/services/authorizationservers/keys/index.md
new file mode 100644
index 0000000..5b83a0e
--- /dev/null
+++ b/website/docs/services/authorizationservers/keys/index.md
@@ -0,0 +1,284 @@
+---
+title: keys
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - keys
+ - authorizationservers
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a keys resource.
+
+## Overview
+
+| Name | keys |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ The algorithm used with the Key. Valid value: `RS256` |
+
+
+ |
+ string |
+ RSA key value (public exponent) for Key binding |
+
+
+ |
+ string |
+ Unique identifier for the key |
+
+
+ |
+ string |
+ Cryptographic algorithm family for the certificate's keypair. Valid value: `RSA` |
+
+
+ |
+ string |
+ RSA modulus value that is used by both the public and private keys and provides a link between them |
+
+
+ |
+ string |
+ An `ACTIVE` Key is used to sign tokens issued by the authorization server. Supported values: `ACTIVE`, `NEXT`, or `EXPIRED`<br> A `NEXT` Key is the next Key that the authorization server uses to sign tokens when Keys are rotated. The `NEXT` Key might not be listed if it hasn't been generated. An `EXPIRED` Key is the previous Key that the authorization server used to sign tokens. The `EXPIRED` Key might not be listed if no Key has expired or the expired Key was deleted. |
+
+
+ |
+ string |
+ Acceptable use of the key. Valid value: `sig` |
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ The algorithm used with the Key. Valid value: `RS256` |
+
+
+ |
+ string |
+ RSA key value (public exponent) for Key binding |
+
+
+ |
+ string |
+ Unique identifier for the key |
+
+
+ |
+ string |
+ Cryptographic algorithm family for the certificate's keypair. Valid value: `RSA` |
+
+
+ |
+ string |
+ RSA modulus value that is used by both the public and private keys and provides a link between them |
+
+
+ |
+ string |
+ An `ACTIVE` Key is used to sign tokens issued by the authorization server. Supported values: `ACTIVE`, `NEXT`, or `EXPIRED`<br> A `NEXT` Key is the next Key that the authorization server uses to sign tokens when Keys are rotated. The `NEXT` Key might not be listed if it hasn't been generated. An `EXPIRED` Key is the previous Key that the authorization server used to sign tokens. The `EXPIRED` Key might not be listed if no Key has expired or the expired Key was deleted. |
+
+
+ |
+ string |
+ Acceptable use of the key. Valid value: `sig` |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all of the current, future, and expired Keys used by the Custom Authorization Server |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves an Authorization Server Key specified by the `keyId` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Rotates the current Keys for a Custom Authorization Server. If you rotate Keys, the `ACTIVE` Key becomes the `EXPIRED` Key, the `NEXT` Key becomes the `ACTIVE` Key, and the Custom Authorization Server immediately begins using the new active Key to sign tokens.
> **Note:** Okta rotates your Keys automatically in `AUTO` mode. You can rotate Keys yourself in either mode. If Keys are rotated manually, you should invalidate any intermediate cache. and fetch the Keys again using the Keys endpoint. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all of the current, future, and expired Keys used by the Custom Authorization Server
+
+```sql
+SELECT
+_links,
+alg,
+e,
+kid,
+kty,
+n,
+status,
+use
+FROM okta.authorizationservers.keys
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+Retrieves an Authorization Server Key specified by the `keyId`
+
+```sql
+SELECT
+_links,
+alg,
+e,
+kid,
+kty,
+n,
+status,
+use
+FROM okta.authorizationservers.keys
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## Lifecycle Methods
+
+
+
+
+Rotates the current Keys for a Custom Authorization Server. If you rotate Keys,
the `ACTIVE` Key becomes the `EXPIRED` Key, the `NEXT` Key becomes the `ACTIVE` Key,
and the Custom Authorization Server immediately begins using the new active
Key to sign tokens.
> **Note:** Okta rotates your Keys automatically in `AUTO` mode. You can rotate Keys
yourself in either mode. If Keys are rotated manually, you should invalidate any intermediate cache.
and fetch the Keys again using the Keys endpoint.
+
+```sql
+EXEC okta.authorizationservers.keys.rotate_authorization_server_keys
+@subdomain='{{ subdomain }}' --required
+@@json=
+'{
+"use": "{{ use }}"
+}';
+```
+
+
diff --git a/website/docs/services/authorizationservers/oauth2_resource_server_jwks/index.md b/website/docs/services/authorizationservers/oauth2_resource_server_jwks/index.md
new file mode 100644
index 0000000..b10e065
--- /dev/null
+++ b/website/docs/services/authorizationservers/oauth2_resource_server_jwks/index.md
@@ -0,0 +1,443 @@
+---
+title: oauth2_resource_server_jwks
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - oauth2_resource_server_jwks
+ - authorizationservers
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists an oauth2_resource_server_jwks resource.
+
+## Overview
+
+| Name | oauth2_resource_server_jwks |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The unique ID of the JSON Web Key (example: apk2f4zrZbs8nUa7p0g4) |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available for the current status of a JSON Web Key using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ Timestamp when the JSON Web Key was created (example: 2023-02-21T20:08:24.000Z) |
+
+
+ |
+ string |
+ RSA key value (exponent) for key binding (example: AQAB) |
+
+
+ |
+ string |
+ Unique identifier of the JSON Web Key in the Custom Authorization Server's Public JWKS (example: SIMcCQNY3uwXoW3y0vf6VxiBb5n9pf8L2fK8d-FIbm4) |
+
+
+ |
+ string |
+ Cryptographic algorithm family for the certificate's key pair (example: RSA) |
+
+
+ |
+ string |
+ Timestamp when the JSON Web Key was updated (example: 2023-02-21T20:08:24.000Z) |
+
+
+ |
+ string |
+ RSA key value (modulus) for key binding (example: mkC6yAJVvFwUlmM9gKjb2d-YK5qHFt-mXSsbjWKKs4EfNm-BoQeeovBZtSACyaqLc8IYFTPEURFcbDQ9DkAL04uUIRD2gaHYY7uK0jsluEaXGq2RAIsmzAwNTzkiDw4q9pDL_q7n0f_SDt1TsMaMQayB6bU5jWsmqcWJ8MCRJ1aJMjZ16un5UVx51IIeCbe4QRDxEXGAvYNczsBoZxspDt28esSpq5W0dBFxcyGVudyl54Er3FzAguhgfMVjH-bUec9j2Tl40qDTktrYgYfxz9pfjm01Hl4WYP1YQxeETpSL7cQ5Ihz4jGDtHUEOcZ4GfJrPzrGpUrak8Qp5xcwCqQ) |
+
+
+ |
+ string |
+ The status of the encryption key. You can use only an `ACTIVE` key to encrypt tokens issued by the authorization server. (example: ACTIVE, default: ACTIVE) |
+
+
+ |
+ string |
+ Acceptable use of the JSON Web Key (example: enc) |
+
+
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The unique ID of the JSON Web Key (example: apk2f4zrZbs8nUa7p0g4) |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available for the current status of a JSON Web Key using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ Timestamp when the JSON Web Key was created (example: 2023-02-21T20:08:24.000Z) |
+
+
+ |
+ string |
+ RSA key value (exponent) for key binding (example: AQAB) |
+
+
+ |
+ string |
+ Unique identifier of the JSON Web Key in the Custom Authorization Server's Public JWKS (example: SIMcCQNY3uwXoW3y0vf6VxiBb5n9pf8L2fK8d-FIbm4) |
+
+
+ |
+ string |
+ Cryptographic algorithm family for the certificate's key pair (example: RSA) |
+
+
+ |
+ string |
+ Timestamp when the JSON Web Key was updated (example: 2023-02-21T20:08:24.000Z) |
+
+
+ |
+ string |
+ RSA key value (modulus) for key binding (example: mkC6yAJVvFwUlmM9gKjb2d-YK5qHFt-mXSsbjWKKs4EfNm-BoQeeovBZtSACyaqLc8IYFTPEURFcbDQ9DkAL04uUIRD2gaHYY7uK0jsluEaXGq2RAIsmzAwNTzkiDw4q9pDL_q7n0f_SDt1TsMaMQayB6bU5jWsmqcWJ8MCRJ1aJMjZ16un5UVx51IIeCbe4QRDxEXGAvYNczsBoZxspDt28esSpq5W0dBFxcyGVudyl54Er3FzAguhgfMVjH-bUec9j2Tl40qDTktrYgYfxz9pfjm01Hl4WYP1YQxeETpSL7cQ5Ihz4jGDtHUEOcZ4GfJrPzrGpUrak8Qp5xcwCqQ) |
+
+
+ |
+ string |
+ The status of the encryption key. You can use only an `ACTIVE` key to encrypt tokens issued by the authorization server. (example: ACTIVE, default: ACTIVE) |
+
+
+ |
+ string |
+ Acceptable use of the JSON Web Key (example: enc) |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all the public keys used by the custom authorization server |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves a custom authorization server public JSON web key by key `id` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Adds a new JSON Web Key to the custom authorization server`s JSON web keys. > **Note:** This API doesn't allow you to add a key if the existing key doesn't have a `kid`. Use the [Replace an Authorization Server](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/AuthorizationServer/#tag/AuthorizationServer/operation/replaceAuthorizationServer) operation to update the JWKS or [Delete a Custom Authorization Server Public JSON Web Key](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/OAuth2ResourceServerCredentialsKeys/#tag/OAuth2ResourceServerCredentialsKeys/operation/deleteOAuth2ResourceServerJsonWebKey) and re-add the key with a `kid`. > **Note:** This API doesn't allow you to add a key with an ACTIVE status. You need to add an INACTIVE key first, and then ACTIVATE the key. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes a custom authorization server public JSON web key by key `id`. You can only delete an inactive key. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Activates a custom authorization server public JSON web key by key `id`. > **Note:** You can have only one active key at any given time for the authorization server. When you activate an inactive key, Okta automatically deactivates the current active key. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deactivates a custom authorization server public JSON web key by key `id`. > **Note:** Deactivating the active key isn't allowed if the authorization server has access token encryption enabled. You can activate another key, which makes the current key inactive. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all the public keys used by the custom authorization server
+
+```sql
+SELECT
+id,
+_links,
+created,
+e,
+kid,
+kty,
+lastUpdated,
+n,
+status,
+use
+FROM okta.authorizationservers.oauth2_resource_server_jwks
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+Retrieves a custom authorization server public JSON web key by key `id`
+
+```sql
+SELECT
+id,
+_links,
+created,
+e,
+kid,
+kty,
+lastUpdated,
+n,
+status,
+use
+FROM okta.authorizationservers.oauth2_resource_server_jwks
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Adds a new JSON Web Key to the custom authorization server`s JSON web keys.
> **Note:** This API doesn't allow you to add a key if the existing key doesn't have a `kid`. Use the [Replace an Authorization Server](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/AuthorizationServer/#tag/AuthorizationServer/operation/replaceAuthorizationServer) operation to update the JWKS or [Delete a Custom Authorization Server Public JSON Web Key](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/OAuth2ResourceServerCredentialsKeys/#tag/OAuth2ResourceServerCredentialsKeys/operation/deleteOAuth2ResourceServerJsonWebKey) and re-add the key with a `kid`.
> **Note:** This API doesn't allow you to add a key with an ACTIVE status. You need to add an INACTIVE key first, and then ACTIVATE the key.
+
+```sql
+INSERT INTO okta.authorizationservers.oauth2_resource_server_jwks (
+data__e,
+data__kid,
+data__kty,
+data__n,
+data__status,
+data__use,
+subdomain
+)
+SELECT
+'{{ e }}',
+'{{ kid }}',
+'{{ kty }}',
+'{{ n }}',
+'{{ status }}',
+'{{ use }}',
+'{{ subdomain }}'
+RETURNING
+id,
+_links,
+created,
+e,
+kid,
+kty,
+lastUpdated,
+n,
+status,
+use
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: oauth2_resource_server_jwks
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the oauth2_resource_server_jwks resource.
+ - name: e
+ value: string
+ description: >
+ RSA key value (exponent) for key binding
+
+ - name: kid
+ value: string
+ description: >
+ Unique identifier of the JSON web key in the custom authorization server's public JWKS
+
+ - name: kty
+ value: string
+ description: >
+ Cryptographic algorithm family for the certificate's key pair
+
+ - name: n
+ value: string
+ description: >
+ RSA key value (modulus) for key binding
+
+ - name: status
+ value: string
+ description: >
+ Status of the JSON Web Key
+
+ valid_values: ['ACTIVE', 'INACTIVE']
+ - name: use
+ value: string
+ description: >
+ Acceptable use of the JSON Web Key
+
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes a custom authorization server public JSON web key by key `id`. You can only delete an inactive key.
+
+```sql
+DELETE FROM okta.authorizationservers.oauth2_resource_server_jwks
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
+
+
+## Lifecycle Methods
+
+
+
+
+Activates a custom authorization server public JSON web key by key `id`.
> **Note:** You can have only one active key at any given time for the authorization server. When you activate an inactive key, Okta automatically deactivates the current active key.
+
+```sql
+EXEC okta.authorizationservers.oauth2_resource_server_jwks.activate_oauth2_resource_server_json_web_key
+@subdomain='{{ subdomain }}' --required;
+```
+
+
+
+Deactivates a custom authorization server public JSON web key by key `id`.
> **Note:** Deactivating the active key isn't allowed if the authorization server has access token encryption enabled. You can activate another key, which makes the current key inactive.
+
+```sql
+EXEC okta.authorizationservers.oauth2_resource_server_jwks.deactivate_oauth2_resource_server_json_web_key
+@subdomain='{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/authorizationservers/policies/index.md b/website/docs/services/authorizationservers/policies/index.md
new file mode 100644
index 0000000..e9ebf6c
--- /dev/null
+++ b/website/docs/services/authorizationservers/policies/index.md
@@ -0,0 +1,519 @@
+---
+title: policies
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - policies
+ - authorizationservers
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a policies resource.
+
+## Overview
+
+| Name | policies |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ ID of the Policy |
+
+
+ |
+ string |
+ Name of the Policy |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ object |
+ |
+
+
+ |
+ string (date-time) |
+ Timestamp when the Policy was created |
+
+
+ |
+ string |
+ Description of the Policy |
+
+
+ |
+ string (date-time) |
+ Timestamp when the Policy was last updated |
+
+
+ |
+ integer |
+ Specifies the order in which this Policy is evaluated in relation to the other Policies in a custom authorization server |
+
+
+ |
+ string |
+ Specifies whether requests have access to this Policy |
+
+
+ |
+ boolean |
+ Specifies whether Okta created this Policy |
+
+
+ |
+ string |
+ Indicates that the Policy is an authorization server Policy |
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ ID of the Policy |
+
+
+ |
+ string |
+ Name of the Policy |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ object |
+ |
+
+
+ |
+ string (date-time) |
+ Timestamp when the Policy was created |
+
+
+ |
+ string |
+ Description of the Policy |
+
+
+ |
+ string (date-time) |
+ Timestamp when the Policy was last updated |
+
+
+ |
+ integer |
+ Specifies the order in which this Policy is evaluated in relation to the other Policies in a custom authorization server |
+
+
+ |
+ string |
+ Specifies whether requests have access to this Policy |
+
+
+ |
+ boolean |
+ Specifies whether Okta created this Policy |
+
+
+ |
+ string |
+ Indicates that the Policy is an authorization server Policy |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all policies |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves a policy |
+
+
+ |
+ |
+ subdomain |
+ |
+ Creates a policy |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces a policy |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes a policy |
+
+
+ |
+ |
+ subdomain |
+ |
+ Activates an authorization server policy |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deactivates an authorization server policy |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all policies
+
+```sql
+SELECT
+id,
+name,
+_links,
+conditions,
+created,
+description,
+lastUpdated,
+priority,
+status,
+system,
+type
+FROM okta.authorizationservers.policies
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+Retrieves a policy
+
+```sql
+SELECT
+id,
+name,
+_links,
+conditions,
+created,
+description,
+lastUpdated,
+priority,
+status,
+system,
+type
+FROM okta.authorizationservers.policies
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Creates a policy
+
+```sql
+INSERT INTO okta.authorizationservers.policies (
+data__id,
+data__type,
+data__name,
+data__conditions,
+data__description,
+data__priority,
+data__status,
+data__system,
+subdomain
+)
+SELECT
+'{{ id }}',
+'{{ type }}',
+'{{ name }}',
+'{{ conditions }}',
+'{{ description }}',
+{{ priority }},
+'{{ status }}',
+{{ system }},
+'{{ subdomain }}'
+RETURNING
+id,
+name,
+_links,
+conditions,
+created,
+description,
+lastUpdated,
+priority,
+status,
+system,
+type
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: policies
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the policies resource.
+ - name: id
+ value: string
+ description: >
+ ID of the Policy
+
+ - name: type
+ value: string
+ description: >
+ Indicates that the Policy is an authorization server Policy
+
+ valid_values: ['OAUTH_AUTHORIZATION_POLICY']
+ - name: name
+ value: string
+ description: >
+ Name of the Policy
+
+ - name: conditions
+ value: object
+ - name: description
+ value: string
+ description: >
+ Description of the Policy
+
+ - name: priority
+ value: integer
+ description: >
+ Specifies the order in which this Policy is evaluated in relation to the other Policies in a custom authorization server
+
+ - name: status
+ value: string
+ description: >
+ Specifies whether requests have access to this Policy
+
+ valid_values: ['ACTIVE', 'INACTIVE']
+ - name: system
+ value: boolean
+ description: >
+ Specifies whether Okta created this Policy
+
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces a policy
+
+```sql
+REPLACE okta.authorizationservers.policies
+SET
+data__id = '{{ id }}',
+data__type = '{{ type }}',
+data__name = '{{ name }}',
+data__conditions = '{{ conditions }}',
+data__description = '{{ description }}',
+data__priority = {{ priority }},
+data__status = '{{ status }}',
+data__system = {{ system }}
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+id,
+name,
+_links,
+conditions,
+created,
+description,
+lastUpdated,
+priority,
+status,
+system,
+type;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes a policy
+
+```sql
+DELETE FROM okta.authorizationservers.policies
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
+
+
+## Lifecycle Methods
+
+
+
+
+Activates an authorization server policy
+
+```sql
+EXEC okta.authorizationservers.policies.activate_authorization_server_policy
+@subdomain='{{ subdomain }}' --required;
+```
+
+
+
+Deactivates an authorization server policy
+
+```sql
+EXEC okta.authorizationservers.policies.deactivate_authorization_server_policy
+@subdomain='{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/authorizationservers/refresh_tokens/index.md b/website/docs/services/authorizationservers/refresh_tokens/index.md
new file mode 100644
index 0000000..8ef14f1
--- /dev/null
+++ b/website/docs/services/authorizationservers/refresh_tokens/index.md
@@ -0,0 +1,352 @@
+---
+title: refresh_tokens
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - refresh_tokens
+ - authorizationservers
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a refresh_tokens resource.
+
+## Overview
+
+| Name | refresh_tokens |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ ID of the Token object (example: oar579Mcp7OUsNTlo0g3) |
+
+
+ |
+ object |
+ The embedded resources related to the object if the `expand` query parameter is specified |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ Client ID |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was created (example: 2017-03-28T01:11:10.000Z) |
+
+
+ |
+ string (date-time) |
+ Expiration time of the OAuth 2.0 Token |
+
+
+ |
+ string |
+ The complete URL of the authorization server that issued the Token (example: https://{yourOktaDomain}/oauth2/ausain6z9zIedDCxB0h7) |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was last updated |
+
+
+ |
+ array |
+ The scope names attached to the Token |
+
+
+ |
+ string |
+ Status (example: ACTIVE) |
+
+
+ |
+ string |
+ The ID of the user associated with the Token (example: 00u5t60iloOHN9pBi0h7) |
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ ID of the Token object (example: oar579Mcp7OUsNTlo0g3) |
+
+
+ |
+ object |
+ The embedded resources related to the object if the `expand` query parameter is specified |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ Client ID |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was created (example: 2017-03-28T01:11:10.000Z) |
+
+
+ |
+ string (date-time) |
+ Expiration time of the OAuth 2.0 Token |
+
+
+ |
+ string |
+ The complete URL of the authorization server that issued the Token (example: https://{yourOktaDomain}/oauth2/ausain6z9zIedDCxB0h7) |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was last updated |
+
+
+ |
+ array |
+ The scope names attached to the Token |
+
+
+ |
+ string |
+ Status (example: ACTIVE) |
+
+
+ |
+ string |
+ The ID of the user associated with the Token (example: 00u5t60iloOHN9pBi0h7) |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ expand, after, limit |
+ Lists all refresh tokens issued by an authorization server for a specific Client |
+
+
+ |
+ |
+ subdomain |
+ expand |
+ Retrieves a refresh token for a Client |
+
+
+ |
+ |
+ subdomain |
+ |
+ Revokes all refresh tokens for a Client |
+
+
+ |
+ |
+ subdomain |
+ |
+ Revokes a refresh token for a Client |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ Specifies the pagination cursor for the next page of tokens |
+
+
+ |
+ string |
+ Valid value: `scope`. If specified, scope details are included in the `_embedded` attribute. |
+
+
+ |
+ integer (int32) |
+ The maximum number of tokens to return (maximum 200) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all refresh tokens issued by an authorization server for a specific Client
+
+```sql
+SELECT
+id,
+_embedded,
+_links,
+clientId,
+created,
+expiresAt,
+issuer,
+lastUpdated,
+scopes,
+status,
+userId
+FROM okta.authorizationservers.refresh_tokens
+WHERE subdomain = '{{ subdomain }}' -- required
+AND expand = '{{ expand }}'
+AND after = '{{ after }}'
+AND limit = '{{ limit }}';
+```
+
+
+
+Retrieves a refresh token for a Client
+
+```sql
+SELECT
+id,
+_embedded,
+_links,
+clientId,
+created,
+expiresAt,
+issuer,
+lastUpdated,
+scopes,
+status,
+userId
+FROM okta.authorizationservers.refresh_tokens
+WHERE subdomain = '{{ subdomain }}' -- required
+AND expand = '{{ expand }}';
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Revokes all refresh tokens for a Client
+
+```sql
+DELETE FROM okta.authorizationservers.refresh_tokens
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
+
+Revokes a refresh token for a Client
+
+```sql
+DELETE FROM okta.authorizationservers.refresh_tokens
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/authorizationservers/rules/index.md b/website/docs/services/authorizationservers/rules/index.md
new file mode 100644
index 0000000..9df6c96
--- /dev/null
+++ b/website/docs/services/authorizationservers/rules/index.md
@@ -0,0 +1,511 @@
+---
+title: rules
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - rules
+ - authorizationservers
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a rules resource.
+
+## Overview
+
+| Name | rules |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Identifier of the rule |
+
+
+ |
+ string |
+ Name of the rule |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ object |
+ |
+
+
+ |
+ object |
+ |
+
+
+ |
+ string (date-time) |
+ Timestamp when the rule was created |
+
+
+ |
+ string (date-time) |
+ Timestamp when the rule was last modified |
+
+
+ |
+ integer |
+ Priority of the rule |
+
+
+ |
+ string |
+ Status of the rule |
+
+
+ |
+ boolean |
+ Set to `true` for system rules. You can't delete system rules. |
+
+
+ |
+ string |
+ Rule type |
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Identifier of the rule |
+
+
+ |
+ string |
+ Name of the rule |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ object |
+ |
+
+
+ |
+ object |
+ |
+
+
+ |
+ string (date-time) |
+ Timestamp when the rule was created |
+
+
+ |
+ string (date-time) |
+ Timestamp when the rule was last modified |
+
+
+ |
+ integer |
+ Priority of the rule |
+
+
+ |
+ string |
+ Status of the rule |
+
+
+ |
+ boolean |
+ Set to `true` for system rules. You can't delete system rules. |
+
+
+ |
+ string |
+ Rule type |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all policy rules for the specified Custom Authorization Server and Policy |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves a policy rule by `ruleId` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Creates a policy rule for the specified Custom Authorization Server and Policy |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces the configuration of the Policy Rule defined in the specified Custom Authorization Server and Policy |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes a Policy Rule defined in the specified Custom Authorization Server and Policy |
+
+
+ |
+ |
+ subdomain |
+ |
+ Activates an authorization server policy rule |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deactivates an authorization server policy rule |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all policy rules for the specified Custom Authorization Server and Policy
+
+```sql
+SELECT
+id,
+name,
+_links,
+actions,
+conditions,
+created,
+lastUpdated,
+priority,
+status,
+system,
+type
+FROM okta.authorizationservers.rules
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+Retrieves a policy rule by `ruleId`
+
+```sql
+SELECT
+id,
+name,
+_links,
+actions,
+conditions,
+created,
+lastUpdated,
+priority,
+status,
+system,
+type
+FROM okta.authorizationservers.rules
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Creates a policy rule for the specified Custom Authorization Server and Policy
+
+```sql
+INSERT INTO okta.authorizationservers.rules (
+data__actions,
+data__conditions,
+data__name,
+data__priority,
+data__status,
+data__system,
+data__type,
+subdomain
+)
+SELECT
+'{{ actions }}',
+'{{ conditions }}' --required,
+'{{ name }}' --required,
+{{ priority }},
+'{{ status }}',
+{{ system }},
+'{{ type }}' --required,
+'{{ subdomain }}'
+RETURNING
+id,
+name,
+_links,
+actions,
+conditions,
+created,
+lastUpdated,
+priority,
+status,
+system,
+type
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: rules
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the rules resource.
+ - name: actions
+ value: object
+ - name: conditions
+ value: object
+ - name: name
+ value: string
+ description: >
+ Name of the rule
+
+ - name: priority
+ value: integer
+ description: >
+ Priority of the rule
+
+ - name: status
+ value: string
+ description: >
+ Status of the rule
+
+ valid_values: ['ACTIVE', 'INACTIVE']
+ - name: system
+ value: boolean
+ description: >
+ Set to `true` for system rules. You can't delete system rules.
+
+ - name: type
+ value: string
+ description: >
+ Rule type
+
+ valid_values: ['RESOURCE_ACCESS']
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces the configuration of the Policy Rule defined in the specified Custom Authorization Server and Policy
+
+```sql
+REPLACE okta.authorizationservers.rules
+SET
+data__actions = '{{ actions }}',
+data__conditions = '{{ conditions }}',
+data__name = '{{ name }}',
+data__priority = {{ priority }},
+data__status = '{{ status }}',
+data__system = {{ system }},
+data__type = '{{ type }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+AND data__name = '{{ name }}' --required
+AND data__conditions = '{{ conditions }}' --required
+AND data__type = '{{ type }}' --required
+RETURNING
+id,
+name,
+_links,
+actions,
+conditions,
+created,
+lastUpdated,
+priority,
+status,
+system,
+type;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes a Policy Rule defined in the specified Custom Authorization Server and Policy
+
+```sql
+DELETE FROM okta.authorizationservers.rules
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
+
+
+## Lifecycle Methods
+
+
+
+
+Activates an authorization server policy rule
+
+```sql
+EXEC okta.authorizationservers.rules.activate_authorization_server_policy_rule
+@subdomain='{{ subdomain }}' --required;
+```
+
+
+
+Deactivates an authorization server policy rule
+
+```sql
+EXEC okta.authorizationservers.rules.deactivate_authorization_server_policy_rule
+@subdomain='{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/authorizationservers/scopes/index.md b/website/docs/services/authorizationservers/scopes/index.md
new file mode 100644
index 0000000..ac5037d
--- /dev/null
+++ b/website/docs/services/authorizationservers/scopes/index.md
@@ -0,0 +1,494 @@
+---
+title: scopes
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - scopes
+ - authorizationservers
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a scopes resource.
+
+## Overview
+
+| Name | scopes |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Scope object ID |
+
+
+ |
+ string |
+ Scope name |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ Indicates whether a consent dialog is needed for the Scope (default: IMPLICIT) |
+
+
+ |
+ boolean |
+ Indicates if this Scope is a default scope |
+
+
+ |
+ string |
+ Description of the Scope |
+
+
+ |
+ string |
+ Name of the end user displayed in a consent dialog |
+
+
+ |
+ string |
+ Indicates whether the Scope is included in the metadata (default: NO_CLIENTS) |
+
+
+ |
+ boolean |
+ Indicates whether the Scope is optional. When set to `true`, the user can skip consent for the scope. |
+
+
+ |
+ boolean |
+ Indicates if Okta created the Scope |
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Scope object ID |
+
+
+ |
+ string |
+ Scope name |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ Indicates whether a consent dialog is needed for the Scope (default: IMPLICIT) |
+
+
+ |
+ boolean |
+ Indicates if this Scope is a default scope |
+
+
+ |
+ string |
+ Description of the Scope |
+
+
+ |
+ string |
+ Name of the end user displayed in a consent dialog |
+
+
+ |
+ string |
+ Indicates whether the Scope is included in the metadata (default: NO_CLIENTS) |
+
+
+ |
+ boolean |
+ Indicates whether the Scope is optional. When set to `true`, the user can skip consent for the scope. |
+
+
+ |
+ boolean |
+ Indicates if Okta created the Scope |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ q, filter, after, limit |
+ Lists all custom token scopes |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves a custom token scope |
+
+
+ |
+ |
+ subdomain |
+ |
+ Creates a custom token scope |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces a custom token scope |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes a custom token scope |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ Specifies the pagination cursor for the next page of scopes. Treat the after cursor as an opaque value and obtain it through the next link relationship. See [Pagination](https://developer.okta.com/docs/api/#pagination). |
+
+
+ |
+ string |
+ Filter expression for Custom Token Scopes |
+
+
+ |
+ integer |
+ Specifies the number of objects to return per page. If there are multiple pages of results, the Link header contains a `next` link that you need to use as an opaque value (follow it, don't parse it). See [Pagination](https://developer.okta.com/docs/api/#pagination). |
+
+
+ |
+ string |
+ Searches the `name` of Custom Token Scopes for matching values |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all custom token scopes
+
+```sql
+SELECT
+id,
+name,
+_links,
+consent,
+default,
+description,
+displayName,
+metadataPublish,
+optional,
+system
+FROM okta.authorizationservers.scopes
+WHERE subdomain = '{{ subdomain }}' -- required
+AND q = '{{ q }}'
+AND filter = '{{ filter }}'
+AND after = '{{ after }}'
+AND limit = '{{ limit }}';
+```
+
+
+
+Retrieves a custom token scope
+
+```sql
+SELECT
+id,
+name,
+_links,
+consent,
+default,
+description,
+displayName,
+metadataPublish,
+optional,
+system
+FROM okta.authorizationservers.scopes
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Creates a custom token scope
+
+```sql
+INSERT INTO okta.authorizationservers.scopes (
+data__consent,
+data__default,
+data__description,
+data__displayName,
+data__metadataPublish,
+data__name,
+data__optional,
+data__system,
+subdomain
+)
+SELECT
+'{{ consent }}',
+{{ default }},
+'{{ description }}',
+'{{ displayName }}',
+'{{ metadataPublish }}',
+'{{ name }}' --required,
+{{ optional }},
+{{ system }},
+'{{ subdomain }}'
+RETURNING
+id,
+name,
+_links,
+consent,
+default,
+description,
+displayName,
+metadataPublish,
+optional,
+system
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: scopes
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the scopes resource.
+ - name: consent
+ value: string
+ description: >
+ Indicates whether a consent dialog is needed for the Scope
+
+ valid_values: ['FLEXIBLE', 'IMPLICIT', 'REQUIRED']
+ default: IMPLICIT
+ - name: default
+ value: boolean
+ description: >
+ Indicates if this Scope is a default scope
+
+ default: false
+ - name: description
+ value: string
+ description: >
+ Description of the Scope
+
+ - name: displayName
+ value: string
+ description: >
+ Name of the end user displayed in a consent dialog
+
+ - name: metadataPublish
+ value: string
+ description: >
+ Indicates whether the Scope is included in the metadata
+
+ valid_values: ['ALL_CLIENTS', 'NO_CLIENTS']
+ default: NO_CLIENTS
+ - name: name
+ value: string
+ description: >
+ Scope name
+
+ - name: optional
+ value: boolean
+ description: >
+ Indicates whether the Scope is optional. When set to `true`, the user can skip consent for the scope.
+
+ default: false
+ - name: system
+ value: boolean
+ description: >
+ Indicates if Okta created the Scope
+
+ default: false
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces a custom token scope
+
+```sql
+REPLACE okta.authorizationservers.scopes
+SET
+data__consent = '{{ consent }}',
+data__default = {{ default }},
+data__description = '{{ description }}',
+data__displayName = '{{ displayName }}',
+data__metadataPublish = '{{ metadataPublish }}',
+data__name = '{{ name }}',
+data__optional = {{ optional }},
+data__system = {{ system }}
+WHERE
+subdomain = '{{ subdomain }}' --required
+AND data__name = '{{ name }}' --required
+RETURNING
+id,
+name,
+_links,
+consent,
+default,
+description,
+displayName,
+metadataPublish,
+optional,
+system;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes a custom token scope
+
+```sql
+DELETE FROM okta.authorizationservers.scopes
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/behaviors/behavior_detection_rules/index.md b/website/docs/services/behaviors/behavior_detection_rules/index.md
new file mode 100644
index 0000000..e2d9eb9
--- /dev/null
+++ b/website/docs/services/behaviors/behavior_detection_rules/index.md
@@ -0,0 +1,418 @@
+---
+title: behavior_detection_rules
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - behavior_detection_rules
+ - behaviors
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a behavior_detection_rules resource.
+
+## Overview
+
+| Name | behavior_detection_rules |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ ID of the Behavior Detection Rule |
+
+
+ |
+ string |
+ Name of the Behavior Detection Rule |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ Timestamp when the Behavior Detection Rule was created |
+
+
+ |
+ string |
+ Timestamp when the Behavior Detection Rule was last modified |
+
+
+ |
+ string |
+ |
+
+
+ |
+ string |
+ |
+
+
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ ID of the Behavior Detection Rule |
+
+
+ |
+ string |
+ Name of the Behavior Detection Rule |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ Timestamp when the Behavior Detection Rule was created |
+
+
+ |
+ string |
+ Timestamp when the Behavior Detection Rule was last modified |
+
+
+ |
+ string |
+ |
+
+
+ |
+ string |
+ |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all behavior detection rules with pagination support |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves a Behavior Detection Rule by `behaviorId` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Creates a new behavior detection rule |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces a Behavior Detection Rule by `behaviorId` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes a Behavior Detection Rule by `behaviorId` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Activates a behavior detection rule |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deactivates a behavior detection rule |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all behavior detection rules with pagination support
+
+```sql
+SELECT
+id,
+name,
+_link,
+created,
+lastUpdated,
+status,
+type
+FROM okta.behaviors.behavior_detection_rules
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+Retrieves a Behavior Detection Rule by `behaviorId`
+
+```sql
+SELECT
+id,
+name,
+_link,
+created,
+lastUpdated,
+status,
+type
+FROM okta.behaviors.behavior_detection_rules
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Creates a new behavior detection rule
+
+```sql
+INSERT INTO okta.behaviors.behavior_detection_rules (
+data__name,
+data__status,
+data__type,
+subdomain
+)
+SELECT
+'{{ name }}' --required,
+'{{ status }}',
+'{{ type }}' --required,
+'{{ subdomain }}'
+RETURNING
+id,
+name,
+_link,
+created,
+lastUpdated,
+status,
+type
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: behavior_detection_rules
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the behavior_detection_rules resource.
+ - name: name
+ value: string
+ description: >
+ Name of the Behavior Detection Rule
+
+ - name: status
+ value: string
+ valid_values: ['ACTIVE', 'INACTIVE']
+ - name: type
+ value: string
+ valid_values: ['ANOMALOUS_DEVICE', 'ANOMALOUS_IP', 'ANOMALOUS_LOCATION', 'VELOCITY']
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces a Behavior Detection Rule by `behaviorId`
+
+```sql
+REPLACE okta.behaviors.behavior_detection_rules
+SET
+data__name = '{{ name }}',
+data__status = '{{ status }}',
+data__type = '{{ type }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+AND data__name = '{{ name }}' --required
+AND data__type = '{{ type }}' --required
+RETURNING
+id,
+name,
+_link,
+created,
+lastUpdated,
+status,
+type;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes a Behavior Detection Rule by `behaviorId`
+
+```sql
+DELETE FROM okta.behaviors.behavior_detection_rules
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
+
+
+## Lifecycle Methods
+
+
+
+
+Activates a behavior detection rule
+
+```sql
+EXEC okta.behaviors.behavior_detection_rules.activate_behavior_detection_rule
+@subdomain='{{ subdomain }}' --required;
+```
+
+
+
+Deactivates a behavior detection rule
+
+```sql
+EXEC okta.behaviors.behavior_detection_rules.deactivate_behavior_detection_rule
+@subdomain='{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/behaviors/index.md b/website/docs/services/behaviors/index.md
new file mode 100644
index 0000000..9e6a926
--- /dev/null
+++ b/website/docs/services/behaviors/index.md
@@ -0,0 +1,33 @@
+---
+title: behaviors
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - behaviors
+ - okta
+ - stackql
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+behaviors service documentation.
+
+:::info[Service Summary]
+
+total resources: __1__
+
+:::
+
+## Resources
+
\ No newline at end of file
diff --git a/website/docs/services/brands/brand_well_known_uris/index.md b/website/docs/services/brands/brand_well_known_uris/index.md
new file mode 100644
index 0000000..6567777
--- /dev/null
+++ b/website/docs/services/brands/brand_well_known_uris/index.md
@@ -0,0 +1,168 @@
+---
+title: brand_well_known_uris
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - brand_well_known_uris
+ - brands
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a brand_well_known_uris resource.
+
+## Overview
+
+| Name | brand_well_known_uris |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Successfully retrieved the customized well-known URI content
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ object |
+ The well-known URI content in JSON format |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves the customized content of a well-known URI for a specific brand and well-known URI path |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces the content of a customized well-known URI that you specify.
There are endpoint-specific format requirements when you update the content of a customized well-known URI. See [Customize associated domains](https://developer.okta.com/docs/guides/custom-well-known-uri/main/). |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Retrieves the customized content of a well-known URI for a specific brand and well-known URI path
+
+```sql
+SELECT
+_links,
+representation
+FROM okta.brands.brand_well_known_uris
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces the content of a customized well-known URI that you specify.
There are endpoint-specific format requirements when you update the content of a customized well-known URI. See [Customize associated domains](https://developer.okta.com/docs/guides/custom-well-known-uri/main/).
+
+```sql
+REPLACE okta.brands.brand_well_known_uris
+SET
+data__representation = '{{ representation }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+AND data__representation = '{{ representation }}' --required
+RETURNING
+_links,
+representation;
+```
+
+
diff --git a/website/docs/services/brands/brands/index.md b/website/docs/services/brands/brands/index.md
new file mode 100644
index 0000000..14bff9f
--- /dev/null
+++ b/website/docs/services/brands/brands/index.md
@@ -0,0 +1,424 @@
+---
+title: brands
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - brands
+ - brands
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a brands resource.
+
+## Overview
+
+| Name | brands |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Successfully returned the list of brands
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The Brand ID |
+
+
+ |
+ string |
+ The name of the Brand |
+
+
+ |
+ boolean |
+ Consent for updating the custom privacy URL. Not required when resetting the URL. |
+
+
+ |
+ string |
+ Custom privacy policy URL |
+
+
+ |
+ object |
+ |
+
+
+ |
+ string |
+ The ID of the email domain |
+
+
+ |
+ boolean |
+ If `true`, the Brand is used for the Okta subdomain |
+
+
+ |
+ string |
+ The language specified as an [IETF BCP 47 language tag](https://datatracker.ietf.org/doc/html/rfc5646) |
+
+
+ |
+ boolean |
+ Removes "Powered by Okta" from the sign-in page in redirect authentication deployments, and "© [current year] Okta, Inc." from the Okta End-User Dashboard |
+
+
+
+
+
+
+Successfully retrieved the brand
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The Brand ID |
+
+
+ |
+ string |
+ The name of the Brand |
+
+
+ |
+ boolean |
+ Consent for updating the custom privacy URL. Not required when resetting the URL. |
+
+
+ |
+ string |
+ Custom privacy policy URL |
+
+
+ |
+ object |
+ |
+
+
+ |
+ string |
+ The ID of the email domain |
+
+
+ |
+ boolean |
+ If `true`, the Brand is used for the Okta subdomain |
+
+
+ |
+ string |
+ The language specified as an [IETF BCP 47 language tag](https://datatracker.ietf.org/doc/html/rfc5646) |
+
+
+ |
+ boolean |
+ Removes "Powered by Okta" from the sign-in page in redirect authentication deployments, and "© [current year] Okta, Inc." from the Okta End-User Dashboard |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ expand, after, limit, q |
+ Lists all the brands in your org |
+
+
+ |
+ |
+ subdomain |
+ expand |
+ Retrieves a brand by `brandId` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Creates a new brand in your org |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces a brand by `brandId`
Passing an invalid `brandId` returns a `404 Not Found` status code with the error code `E0000007`.
Not providing `agreeToCustomPrivacyPolicy` with `customPrivacyPolicyUrl` returns a `400 Bad Request` status code with the error code `E0000001`.
|
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes a brand by `brandId` |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ The cursor to use for pagination. It is an opaque string that specifies your current location in the list and is obtained from the `Link` response header. See [Pagination](https://developer.okta.com/docs/api/#pagination). |
+
+
+ |
+ array |
+ Specifies additional metadata to be included in the response |
+
+
+ |
+ integer |
+ A limit on the number of objects to return |
+
+
+ |
+ string |
+ Searches the records for matching value |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all the brands in your org
+
+```sql
+SELECT
+id,
+name,
+agreeToCustomPrivacyPolicy,
+customPrivacyPolicyUrl,
+defaultApp,
+emailDomainId,
+isDefault,
+locale,
+removePoweredByOkta
+FROM okta.brands.brands
+WHERE subdomain = '{{ subdomain }}' -- required
+AND expand = '{{ expand }}'
+AND after = '{{ after }}'
+AND limit = '{{ limit }}'
+AND q = '{{ q }}';
+```
+
+
+
+Retrieves a brand by `brandId`
+
+```sql
+SELECT
+id,
+name,
+agreeToCustomPrivacyPolicy,
+customPrivacyPolicyUrl,
+defaultApp,
+emailDomainId,
+isDefault,
+locale,
+removePoweredByOkta
+FROM okta.brands.brands
+WHERE subdomain = '{{ subdomain }}' -- required
+AND expand = '{{ expand }}';
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Creates a new brand in your org
+
+```sql
+INSERT INTO okta.brands.brands (
+data__name,
+subdomain
+)
+SELECT
+'{{ name }}' --required,
+'{{ subdomain }}'
+RETURNING
+id,
+name,
+agreeToCustomPrivacyPolicy,
+customPrivacyPolicyUrl,
+defaultApp,
+emailDomainId,
+isDefault,
+locale,
+removePoweredByOkta
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: brands
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the brands resource.
+ - name: name
+ value: string
+ description: >
+ The name of the Brand
+
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces a brand by `brandId`
Passing an invalid `brandId` returns a `404 Not Found` status code with the error code `E0000007`.
Not providing `agreeToCustomPrivacyPolicy` with `customPrivacyPolicyUrl` returns a `400 Bad Request` status code with the error code `E0000001`.
+
+```sql
+REPLACE okta.brands.brands
+SET
+data__agreeToCustomPrivacyPolicy = {{ agreeToCustomPrivacyPolicy }},
+data__customPrivacyPolicyUrl = '{{ customPrivacyPolicyUrl }}',
+data__defaultApp = '{{ defaultApp }}',
+data__emailDomainId = '{{ emailDomainId }}',
+data__locale = '{{ locale }}',
+data__name = '{{ name }}',
+data__removePoweredByOkta = {{ removePoweredByOkta }}
+WHERE
+subdomain = '{{ subdomain }}' --required
+AND data__name = '{{ name }}' --required
+RETURNING
+id,
+name,
+agreeToCustomPrivacyPolicy,
+customPrivacyPolicyUrl,
+defaultApp,
+emailDomainId,
+isDefault,
+locale,
+removePoweredByOkta;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes a brand by `brandId`
+
+```sql
+DELETE FROM okta.brands.brands
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/brands/customization_preview/index.md b/website/docs/services/brands/customization_preview/index.md
new file mode 100644
index 0000000..978e091
--- /dev/null
+++ b/website/docs/services/brands/customization_preview/index.md
@@ -0,0 +1,140 @@
+---
+title: customization_preview
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - customization_preview
+ - brands
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a customization_preview resource.
+
+## Overview
+
+| Name | customization_preview |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Successfully generated a preview of the email customization.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ The email's HTML body |
+
+
+ |
+ string |
+ The email's subject |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves a Preview of an Email Customization. All variable references are populated from the current user's context. For example, `${user.profile.firstName}`.
<x-lifecycle class="ea"></x-lifecycle> If Custom languages for Okta Email Templates is disabled, requests for the preview of an additional language customization by ID return a `404 Not Found` error response.
|
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Retrieves a Preview of an Email Customization. All variable references are populated from the current user's context. For example, `${user.profile.firstName}`.
<x-lifecycle class="ea"></x-lifecycle> If Custom languages for Okta Email Templates is disabled, requests for the preview of an additional language customization by ID return a `404 Not Found` error response.
+
+```sql
+SELECT
+_links,
+body,
+subject
+FROM okta.brands.customization_preview
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
diff --git a/website/docs/services/brands/customized_error_page/index.md b/website/docs/services/brands/customized_error_page/index.md
new file mode 100644
index 0000000..098c1a9
--- /dev/null
+++ b/website/docs/services/brands/customized_error_page/index.md
@@ -0,0 +1,195 @@
+---
+title: customized_error_page
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - customized_error_page
+ - brands
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a customized_error_page resource.
+
+## Overview
+
+| Name | customized_error_page |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Successfully retrieved the customized error page.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ object |
+ |
+
+
+ |
+ string |
+ The HTML for the page |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves the customized error page. The customized error page appears in your live environment. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces the customized error page. The customized error page appears in your live environment. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes the customized error page. As a result, the default error page appears in your live environment. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Retrieves the customized error page. The customized error page appears in your live environment.
+
+```sql
+SELECT
+contentSecurityPolicySetting,
+pageContent
+FROM okta.brands.customized_error_page
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces the customized error page. The customized error page appears in your live environment.
+
+```sql
+REPLACE okta.brands.customized_error_page
+SET
+data__pageContent = '{{ pageContent }}',
+data__contentSecurityPolicySetting = '{{ contentSecurityPolicySetting }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+contentSecurityPolicySetting,
+pageContent;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes the customized error page. As a result, the default error page appears in your live environment.
+
+```sql
+DELETE FROM okta.brands.customized_error_page
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/brands/customized_sign_in_page/index.md b/website/docs/services/brands/customized_sign_in_page/index.md
new file mode 100644
index 0000000..800431c
--- /dev/null
+++ b/website/docs/services/brands/customized_sign_in_page/index.md
@@ -0,0 +1,184 @@
+---
+title: customized_sign_in_page
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - customized_sign_in_page
+ - brands
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a customized_sign_in_page resource.
+
+## Overview
+
+| Name | customized_sign_in_page |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Successfully retrieved the customized sign-in page.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ object |
+ |
+
+
+ |
+ string |
+ The HTML for the page |
+
+
+ |
+ object |
+ |
+
+
+ |
+ string |
+ The version specified as a [Semantic Version](https://semver.org/). (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-]+)*))?$) |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves the customized sign-in page. The customized sign-in page appears in your live environment. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces the customized sign-in page. The customized sign-in page appears in your live environment. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Retrieves the customized sign-in page. The customized sign-in page appears in your live environment.
+
+```sql
+SELECT
+contentSecurityPolicySetting,
+pageContent,
+widgetCustomizations,
+widgetVersion
+FROM okta.brands.customized_sign_in_page
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces the customized sign-in page. The customized sign-in page appears in your live environment.
+
+```sql
+REPLACE okta.brands.customized_sign_in_page
+SET
+data__pageContent = '{{ pageContent }}',
+data__contentSecurityPolicySetting = '{{ contentSecurityPolicySetting }}',
+data__widgetCustomizations = '{{ widgetCustomizations }}',
+data__widgetVersion = '{{ widgetVersion }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+contentSecurityPolicySetting,
+pageContent,
+widgetCustomizations,
+widgetVersion;
+```
+
+
diff --git a/website/docs/services/brands/default_error_page/index.md b/website/docs/services/brands/default_error_page/index.md
new file mode 100644
index 0000000..07550d1
--- /dev/null
+++ b/website/docs/services/brands/default_error_page/index.md
@@ -0,0 +1,134 @@
+---
+title: default_error_page
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - default_error_page
+ - brands
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a default_error_page resource.
+
+## Overview
+
+| Name | default_error_page |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Successfully retrieved the default error page.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ object |
+ |
+
+
+ |
+ string |
+ The HTML for the page |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves the default error page. The default error page appears when no customized error page exists. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Retrieves the default error page. The default error page appears when no customized error page exists.
+
+```sql
+SELECT
+contentSecurityPolicySetting,
+pageContent
+FROM okta.brands.default_error_page
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
diff --git a/website/docs/services/brands/default_sign_in_page/index.md b/website/docs/services/brands/default_sign_in_page/index.md
new file mode 100644
index 0000000..c1605a5
--- /dev/null
+++ b/website/docs/services/brands/default_sign_in_page/index.md
@@ -0,0 +1,146 @@
+---
+title: default_sign_in_page
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - default_sign_in_page
+ - brands
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a default_sign_in_page resource.
+
+## Overview
+
+| Name | default_sign_in_page |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Successfully retrieved the default sign-in page.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ object |
+ |
+
+
+ |
+ string |
+ The HTML for the page |
+
+
+ |
+ object |
+ |
+
+
+ |
+ string |
+ The version specified as a [Semantic Version](https://semver.org/). (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-]+)*))?$) |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves the default sign-in page. The default sign-in page appears when no customized sign-in page exists. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Retrieves the default sign-in page. The default sign-in page appears when no customized sign-in page exists.
+
+```sql
+SELECT
+contentSecurityPolicySetting,
+pageContent,
+widgetCustomizations,
+widgetVersion
+FROM okta.brands.default_sign_in_page
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
diff --git a/website/docs/services/brands/domains/index.md b/website/docs/services/brands/domains/index.md
new file mode 100644
index 0000000..b9b3dc5
--- /dev/null
+++ b/website/docs/services/brands/domains/index.md
@@ -0,0 +1,170 @@
+---
+title: domains
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - domains
+ - brands
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a domains resource.
+
+## Overview
+
+| Name | domains |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Successfully returned the list of domains for the brand
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Unique ID of the domain (example: OcDz6iRyjkaCTXkdo0g3) |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ The ID number of the brand (example: bndul904tTZ6kWVhP0g3) |
+
+
+ |
+ string |
+ Certificate source type that indicates whether the certificate is provided by the user or Okta. |
+
+
+ |
+ array |
+ |
+
+
+ |
+ string |
+ Custom domain name (example: login.example.com) |
+
+
+ |
+ object |
+ Certificate metadata for the domain |
+
+
+ |
+ string |
+ Status of the domain (example: VERIFIED) |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all domains associated with a brand by `brandId` |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all domains associated with a brand by `brandId`
+
+```sql
+SELECT
+id,
+_links,
+brandId,
+certificateSourceType,
+dnsRecords,
+domain,
+publicCertificate,
+validationStatus
+FROM okta.brands.domains
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
diff --git a/website/docs/services/brands/email_default_content/index.md b/website/docs/services/brands/email_default_content/index.md
new file mode 100644
index 0000000..4bd9e60
--- /dev/null
+++ b/website/docs/services/brands/email_default_content/index.md
@@ -0,0 +1,146 @@
+---
+title: email_default_content
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - email_default_content
+ - brands
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists an email_default_content resource.
+
+## Overview
+
+| Name | email_default_content |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Successfully retrieved the email template's default content.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ The HTML body of the email. May contain [variable references](https://velocity.apache.org/engine/1.7/user-guide.html#references). <x-lifecycle class="ea"></x-lifecycle> Not required if Custom languages for Okta Email Templates is enabled. A `null` body is replaced with a default value from one of the following in priority order: 1. An existing default email customization, if one exists 2. Okta-provided translated content for the specified language, if one exists 3. Okta-provided translated content for the brand locale, if it's set 4. Okta-provided content in English |
+
+
+ |
+ string |
+ The email subject. May contain [variable references](https://velocity.apache.org/engine/1.7/user-guide.html#references). <x-lifecycle class="ea"></x-lifecycle> Not required if Custom languages for Okta Email Templates is enabled. A `null` subject is replaced with a default value from one of the following in priority order: 1. An existing default email customization, if one exists 2. Okta-provided translated content for the specified language, if one exists 3. Okta-provided translated content for the brand locale, if it's set 4. Okta-provided content in English |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ language |
+ Retrieves an email template's default content
<x-lifecycle class="ea"></x-lifecycle> Defaults to the current user's language given the following: - Custom languages for Okta Email Templates is enabled - An additional language is specified for the `language` parameter
|
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ The language to use for the email. Defaults to the current user's language if unspecified. |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Retrieves an email template's default content
<x-lifecycle class="ea"></x-lifecycle> Defaults to the current user's language given the following:
- Custom languages for Okta Email Templates is enabled
- An additional language is specified for the `language` parameter
+
+```sql
+SELECT
+_links,
+body,
+subject
+FROM okta.brands.email_default_content
+WHERE subdomain = '{{ subdomain }}' -- required
+AND language = '{{ language }}';
+```
+
+
diff --git a/website/docs/services/brands/email_default_preview/index.md b/website/docs/services/brands/email_default_preview/index.md
new file mode 100644
index 0000000..f0a0fa4
--- /dev/null
+++ b/website/docs/services/brands/email_default_preview/index.md
@@ -0,0 +1,146 @@
+---
+title: email_default_preview
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - email_default_preview
+ - brands
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists an email_default_preview resource.
+
+## Overview
+
+| Name | email_default_preview |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Successfully generated a preview of the email template's default content.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ The email's HTML body |
+
+
+ |
+ string |
+ The email's subject |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ language |
+ Retrieves a preview of an Email Template's default content. All variable references are populated using the current user's context. For example, `${user.profile.firstName}`.
<x-lifecycle class="ea"></x-lifecycle> Defaults to the current user's language given the following: - Custom languages for Okta Email Templates is enabled - An additional language is specified for the `language` parameter
|
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ The language to use for the email. Defaults to the current user's language if unspecified. |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Retrieves a preview of an Email Template's default content. All variable references are populated using the current user's context. For example, `${user.profile.firstName}`.
<x-lifecycle class="ea"></x-lifecycle> Defaults to the current user's language given the following:
- Custom languages for Okta Email Templates is enabled
- An additional language is specified for the `language` parameter
+
+```sql
+SELECT
+_links,
+body,
+subject
+FROM okta.brands.email_default_preview
+WHERE subdomain = '{{ subdomain }}' -- required
+AND language = '{{ language }}';
+```
+
+
diff --git a/website/docs/services/brands/email_settings/index.md b/website/docs/services/brands/email_settings/index.md
new file mode 100644
index 0000000..1074a58
--- /dev/null
+++ b/website/docs/services/brands/email_settings/index.md
@@ -0,0 +1,167 @@
+---
+title: email_settings
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - email_settings
+ - brands
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists an email_settings resource.
+
+## Overview
+
+| Name | email_settings |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Successfully retrieved the email template's settings.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves an email template's settings |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces an email template's settings |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Retrieves an email template's settings
+
+```sql
+SELECT
+_links,
+recipients
+FROM okta.brands.email_settings
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces an email template's settings
+
+```sql
+REPLACE okta.brands.email_settings
+SET
+data__recipients = '{{ recipients }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+AND data__recipients = '{{ recipients }}' --required
+RETURNING
+recipients;
+```
+
+
diff --git a/website/docs/services/brands/email_template_customizations/index.md b/website/docs/services/brands/email_template_customizations/index.md
new file mode 100644
index 0000000..3959caf
--- /dev/null
+++ b/website/docs/services/brands/email_template_customizations/index.md
@@ -0,0 +1,447 @@
+---
+title: email_template_customizations
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - email_template_customizations
+ - brands
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists an email_template_customizations resource.
+
+## Overview
+
+| Name | email_template_customizations |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Successfully retrieved all email customizations for the specified email template.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ A unique identifier for this email customization |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ The HTML body of the email. May contain [variable references](https://velocity.apache.org/engine/1.7/user-guide.html#references). <x-lifecycle class="ea"></x-lifecycle> Not required if Custom languages for Okta Email Templates is enabled. A `null` body is replaced with a default value from one of the following in priority order: 1. An existing default email customization, if one exists 2. Okta-provided translated content for the specified language, if one exists 3. Okta-provided translated content for the brand locale, if it's set 4. Okta-provided content in English |
+
+
+ |
+ string (date-time) |
+ The UTC time at which this email customization was created. |
+
+
+ |
+ boolean |
+ Whether this is the default customization for the email template. Each customized email template must have exactly one default customization. Defaults to `true` for the first customization and `false` thereafter. |
+
+
+ |
+ string |
+ The language specified as an [IETF BCP 47 language tag](https://datatracker.ietf.org/doc/html/rfc5646) |
+
+
+ |
+ string (date-time) |
+ The UTC time at which this email customization was last updated. |
+
+
+ |
+ string |
+ The email subject. May contain [variable references](https://velocity.apache.org/engine/1.7/user-guide.html#references). <x-lifecycle class="ea"></x-lifecycle> Not required if Custom languages for Okta Email Templates is enabled. A `null` subject is replaced with a default value from one of the following in priority order: 1. An existing default email customization, if one exists 2. Okta-provided translated content for the specified language, if one exists 3. Okta-provided translated content for the brand locale, if it's set 4. Okta-provided content in English |
+
+
+
+
+
+
+Successfully retrieved the email customization.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ A unique identifier for this email customization |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ The HTML body of the email. May contain [variable references](https://velocity.apache.org/engine/1.7/user-guide.html#references). <x-lifecycle class="ea"></x-lifecycle> Not required if Custom languages for Okta Email Templates is enabled. A `null` body is replaced with a default value from one of the following in priority order: 1. An existing default email customization, if one exists 2. Okta-provided translated content for the specified language, if one exists 3. Okta-provided translated content for the brand locale, if it's set 4. Okta-provided content in English |
+
+
+ |
+ string (date-time) |
+ The UTC time at which this email customization was created. |
+
+
+ |
+ boolean |
+ Whether this is the default customization for the email template. Each customized email template must have exactly one default customization. Defaults to `true` for the first customization and `false` thereafter. |
+
+
+ |
+ string |
+ The language specified as an [IETF BCP 47 language tag](https://datatracker.ietf.org/doc/html/rfc5646) |
+
+
+ |
+ string (date-time) |
+ The UTC time at which this email customization was last updated. |
+
+
+ |
+ string |
+ The email subject. May contain [variable references](https://velocity.apache.org/engine/1.7/user-guide.html#references). <x-lifecycle class="ea"></x-lifecycle> Not required if Custom languages for Okta Email Templates is enabled. A `null` subject is replaced with a default value from one of the following in priority order: 1. An existing default email customization, if one exists 2. Okta-provided translated content for the specified language, if one exists 3. Okta-provided translated content for the brand locale, if it's set 4. Okta-provided content in English |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ after, limit |
+ Lists all customizations of an email template
<x-lifecycle class="ea"></x-lifecycle> If Custom languages for Okta Email Templates is enabled, all existing customizations are retrieved, including customizations for additional languages. If disabled, only customizations for Okta-supported languages are returned.
|
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves an email customization by its unique identifier
<x-lifecycle class="ea"></x-lifecycle> If Custom languages for Okta Email Templates is disabled, requests to retrieve an additional language customization by ID result in a `404 Not Found` error response.
|
+
+
+ |
+ |
+ subdomain |
+ |
+ Creates a new Email Customization
<x-lifecycle class="ea"></x-lifecycle> If Custom languages for Okta Email Templates is enabled, you can create a customization for any BCP47 language in addition to the Okta-supported languages.
|
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces an email customization using property values
<x-lifecycle class="ea"></x-lifecycle> If Custom languages for Okta Email Templates is disabled, requests to update a customization for an additional language return a `404 Not Found` error response.
|
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes all customizations for an email template
<x-lifecycle class="ea"></x-lifecycle> If Custom languages for Okta Email Templates is enabled, all customizations are deleted, including customizations for additional languages. If disabled, only customizations in Okta-supported languages are deleted.
|
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes an Email Customization by its unique identifier
<x-lifecycle class="ea"></x-lifecycle> If Custom languages for Okta Email Templates is disabled, deletion of an existing additional language customization by ID doesn't register.
|
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ The cursor to use for pagination. It is an opaque string that specifies your current location in the list and is obtained from the `Link` response header. See [Pagination](https://developer.okta.com/docs/api/#pagination). |
+
+
+ |
+ integer |
+ A limit on the number of objects to return |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all customizations of an email template
<x-lifecycle class="ea"></x-lifecycle> If Custom languages for Okta Email Templates is enabled, all existing customizations are retrieved, including customizations for additional languages. If disabled, only customizations for Okta-supported languages are returned.
+
+```sql
+SELECT
+id,
+_links,
+body,
+created,
+isDefault,
+language,
+lastUpdated,
+subject
+FROM okta.brands.email_template_customizations
+WHERE subdomain = '{{ subdomain }}' -- required
+AND after = '{{ after }}'
+AND limit = '{{ limit }}';
+```
+
+
+
+Retrieves an email customization by its unique identifier
<x-lifecycle class="ea"></x-lifecycle> If Custom languages for Okta Email Templates is disabled, requests to retrieve an additional language customization by ID result in a `404 Not Found` error response.
+
+```sql
+SELECT
+id,
+_links,
+body,
+created,
+isDefault,
+language,
+lastUpdated,
+subject
+FROM okta.brands.email_template_customizations
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Creates a new Email Customization
<x-lifecycle class="ea"></x-lifecycle> If Custom languages for Okta Email Templates is enabled, you can create a customization for any BCP47 language in addition to the Okta-supported languages.
+
+```sql
+INSERT INTO okta.brands.email_template_customizations (
+data__body,
+data__subject,
+data__isDefault,
+data__language,
+subdomain
+)
+SELECT
+'{{ body }}' --required,
+'{{ subject }}' --required,
+{{ isDefault }},
+'{{ language }}',
+'{{ subdomain }}'
+RETURNING
+id,
+_links,
+body,
+created,
+isDefault,
+language,
+lastUpdated,
+subject
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: email_template_customizations
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the email_template_customizations resource.
+ - name: body
+ value: string
+ description: >
+ The HTML body of the email. May contain [variable references](https://velocity.apache.org/engine/1.7/user-guide.html#references).
+
+ Not required if Custom languages for Okta Email Templates is enabled. A `null` body is replaced with a default value from one of the following in priority order:
+
+1. An existing default email customization, if one exists
+2. Okta-provided translated content for the specified language, if one exists
+3. Okta-provided translated content for the brand locale, if it's set
+4. Okta-provided content in English
+
+ - name: subject
+ value: string
+ description: >
+ The email subject. May contain [variable references](https://velocity.apache.org/engine/1.7/user-guide.html#references).
+
+ Not required if Custom languages for Okta Email Templates is enabled. A `null` subject is replaced with a default value from one of the following in priority order:
+
+1. An existing default email customization, if one exists
+2. Okta-provided translated content for the specified language, if one exists
+3. Okta-provided translated content for the brand locale, if it's set
+4. Okta-provided content in English
+
+ - name: isDefault
+ value: boolean
+ description: >
+ Whether this is the default customization for the email template. Each customized email template must have exactly one default customization. Defaults to `true` for the first customization and `false` thereafter.
+
+ - name: language
+ value: string
+ description: >
+ The language specified as an [IETF BCP 47 language tag](https://datatracker.ietf.org/doc/html/rfc5646)
+
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces an email customization using property values
<x-lifecycle class="ea"></x-lifecycle> If Custom languages for Okta Email Templates is disabled, requests to update a customization for an additional language return a `404 Not Found` error response.
+
+```sql
+REPLACE okta.brands.email_template_customizations
+SET
+data__body = '{{ body }}',
+data__subject = '{{ subject }}',
+data__isDefault = {{ isDefault }},
+data__language = '{{ language }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+AND data__subject = '{{ subject }}' --required
+AND data__body = '{{ body }}' --required
+RETURNING
+id,
+_links,
+body,
+created,
+isDefault,
+language,
+lastUpdated,
+subject;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes all customizations for an email template
<x-lifecycle class="ea"></x-lifecycle> If Custom languages for Okta Email Templates is enabled, all customizations are deleted, including customizations for additional languages. If disabled, only customizations in Okta-supported languages are deleted.
+
+```sql
+DELETE FROM okta.brands.email_template_customizations
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
+
+Deletes an Email Customization by its unique identifier
<x-lifecycle class="ea"></x-lifecycle> If Custom languages for Okta Email Templates is disabled, deletion of an existing additional language customization by ID doesn't register.
+
+```sql
+DELETE FROM okta.brands.email_template_customizations
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/brands/email_templates/index.md b/website/docs/services/brands/email_templates/index.md
new file mode 100644
index 0000000..6cc6c9d
--- /dev/null
+++ b/website/docs/services/brands/email_templates/index.md
@@ -0,0 +1,245 @@
+---
+title: email_templates
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - email_templates
+ - brands
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists an email_templates resource.
+
+## Overview
+
+| Name | email_templates |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Successfully returned the list of email templates.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The name of this email template |
+
+
+ |
+ object |
+ |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+
+
+
+
+Successfully retrieved the email template.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The name of this email template |
+
+
+ |
+ object |
+ |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ after, limit, expand |
+ Lists all supported email templates |
+
+
+ |
+ |
+ subdomain |
+ expand |
+ Retrieves the details of an email template by name |
+
+
+ |
+ |
+ subdomain |
+ language |
+ Sends a test email to the current user's primary and secondary email addresses. The email content is selected based on the following priority: 1. The email customization for the language specified in the `language` query parameter <x-lifecycle class="ea"></x-lifecycle> If Custom languages for Okta Email Templates is enabled and the `language` parameter is an additional language, the test email uses the customization corresponding to the language. 2. The email template's default customization 3. The email template's default content, translated to the current user's language
> **Note:** Super admins can view customized email templates with the **Send a test email** request. However, when custom email templates are sent to super admins as part of actual email notification flows, the customizations aren't applied. Instead, the default email template is used. This only applies to super admins. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ The cursor to use for pagination. It is an opaque string that specifies your current location in the list and is obtained from the `Link` response header. See [Pagination](https://developer.okta.com/docs/api/#pagination). |
+
+
+ |
+ array |
+ Specifies additional metadata to be included in the response |
+
+
+ |
+ string |
+ The language to use for the email. Defaults to the current user's language if unspecified. |
+
+
+ |
+ integer |
+ A limit on the number of objects to return |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all supported email templates
+
+```sql
+SELECT
+name,
+_embedded,
+_links
+FROM okta.brands.email_templates
+WHERE subdomain = '{{ subdomain }}' -- required
+AND after = '{{ after }}'
+AND limit = '{{ limit }}'
+AND expand = '{{ expand }}';
+```
+
+
+
+Retrieves the details of an email template by name
+
+```sql
+SELECT
+name,
+_embedded,
+_links
+FROM okta.brands.email_templates
+WHERE subdomain = '{{ subdomain }}' -- required
+AND expand = '{{ expand }}';
+```
+
+
+
+
+## Lifecycle Methods
+
+
+
+
+Sends a test email to the current user's primary and secondary email addresses. The email content is selected based on the following priority:
1. The email customization for the language specified in the `language` query parameter
<x-lifecycle class="ea"></x-lifecycle> If Custom languages for Okta Email Templates is enabled and the `language` parameter is an additional language, the test email uses the customization corresponding to the language.
2. The email template's default customization
3. The email template's default content, translated to the current user's language
> **Note:** Super admins can view customized email templates with the **Send a test email** request. However, when custom email templates are sent to super admins as part of actual email notification flows, the customizations aren't applied. Instead, the default email template is used. This only applies to super admins.
+
+```sql
+EXEC okta.brands.email_templates.send_test_email
+@subdomain='{{ subdomain }}' --required,
+@language='{{ language }}';
+```
+
+
diff --git a/website/docs/services/brands/error_page/index.md b/website/docs/services/brands/error_page/index.md
new file mode 100644
index 0000000..684dbb6
--- /dev/null
+++ b/website/docs/services/brands/error_page/index.md
@@ -0,0 +1,134 @@
+---
+title: error_page
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - error_page
+ - brands
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists an error_page resource.
+
+## Overview
+
+| Name | error_page |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Successfully retrieved the error page.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ object |
+ |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves the error page sub-resources. The `expand` query parameter specifies which sub-resources to include in the response. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Retrieves the error page sub-resources. The `expand` query parameter specifies which sub-resources to include in the response.
+
+```sql
+SELECT
+_embedded,
+_links
+FROM okta.brands.error_page
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
diff --git a/website/docs/services/brands/index.md b/website/docs/services/brands/index.md
new file mode 100644
index 0000000..aa30fe4
--- /dev/null
+++ b/website/docs/services/brands/index.md
@@ -0,0 +1,52 @@
+---
+title: brands
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - brands
+ - okta
+ - stackql
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+brands service documentation.
+
+:::info[Service Summary]
+
+total resources: __21__
+
+:::
+
+## Resources
+
\ No newline at end of file
diff --git a/website/docs/services/brands/preview_error_page/index.md b/website/docs/services/brands/preview_error_page/index.md
new file mode 100644
index 0000000..32164d2
--- /dev/null
+++ b/website/docs/services/brands/preview_error_page/index.md
@@ -0,0 +1,195 @@
+---
+title: preview_error_page
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - preview_error_page
+ - brands
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a preview_error_page resource.
+
+## Overview
+
+| Name | preview_error_page |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Successfully retrieved the preview error page.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ object |
+ |
+
+
+ |
+ string |
+ The HTML for the page |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves the preview error page. The preview error page contains unpublished changes and isn't shown in your live environment. Preview it at `${yourOktaDomain}/error/preview`. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces the preview error page. The preview error page contains unpublished changes and isn't shown in your live environment. Preview it at `${yourOktaDomain}/error/preview`. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes the preview error page. The preview error page contains unpublished changes and isn't shown in your live environment. Preview it at `${yourOktaDomain}/error/preview`. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Retrieves the preview error page. The preview error page contains unpublished changes and isn't shown in your live environment. Preview it at `${yourOktaDomain}/error/preview`.
+
+```sql
+SELECT
+contentSecurityPolicySetting,
+pageContent
+FROM okta.brands.preview_error_page
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces the preview error page. The preview error page contains unpublished changes and isn't shown in your live environment. Preview it at `${yourOktaDomain}/error/preview`.
+
+```sql
+REPLACE okta.brands.preview_error_page
+SET
+data__pageContent = '{{ pageContent }}',
+data__contentSecurityPolicySetting = '{{ contentSecurityPolicySetting }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+contentSecurityPolicySetting,
+pageContent;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes the preview error page. The preview error page contains unpublished changes and isn't shown in your live environment. Preview it at `${yourOktaDomain}/error/preview`.
+
+```sql
+DELETE FROM okta.brands.preview_error_page
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/brands/preview_sign_in_page/index.md b/website/docs/services/brands/preview_sign_in_page/index.md
new file mode 100644
index 0000000..4a450ad
--- /dev/null
+++ b/website/docs/services/brands/preview_sign_in_page/index.md
@@ -0,0 +1,211 @@
+---
+title: preview_sign_in_page
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - preview_sign_in_page
+ - brands
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a preview_sign_in_page resource.
+
+## Overview
+
+| Name | preview_sign_in_page |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Successfully retrieved the preview sign-in page.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ object |
+ |
+
+
+ |
+ string |
+ The HTML for the page |
+
+
+ |
+ object |
+ |
+
+
+ |
+ string |
+ The version specified as a [Semantic Version](https://semver.org/). (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-]+)*))?$) |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves the preview sign-in page. The preview sign-in page contains unpublished changes and isn't shown in your live environment. Preview it at `${yourOktaDomain}/login/preview`. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces the preview sign-in page. The preview sign-in page contains unpublished changes and isn't shown in your live environment. Preview it at `${yourOktaDomain}/login/preview`. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes the preview sign-in page. The preview sign-in page contains unpublished changes and isn't shown in your live environment. Preview it at `${yourOktaDomain}/login/preview`. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Retrieves the preview sign-in page. The preview sign-in page contains unpublished changes and isn't shown in your live environment. Preview it at `${yourOktaDomain}/login/preview`.
+
+```sql
+SELECT
+contentSecurityPolicySetting,
+pageContent,
+widgetCustomizations,
+widgetVersion
+FROM okta.brands.preview_sign_in_page
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces the preview sign-in page. The preview sign-in page contains unpublished changes and isn't shown in your live environment. Preview it at `${yourOktaDomain}/login/preview`.
+
+```sql
+REPLACE okta.brands.preview_sign_in_page
+SET
+data__pageContent = '{{ pageContent }}',
+data__contentSecurityPolicySetting = '{{ contentSecurityPolicySetting }}',
+data__widgetCustomizations = '{{ widgetCustomizations }}',
+data__widgetVersion = '{{ widgetVersion }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+contentSecurityPolicySetting,
+pageContent,
+widgetCustomizations,
+widgetVersion;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes the preview sign-in page. The preview sign-in page contains unpublished changes and isn't shown in your live environment. Preview it at `${yourOktaDomain}/login/preview`.
+
+```sql
+DELETE FROM okta.brands.preview_sign_in_page
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/brands/sign_in_page/index.md b/website/docs/services/brands/sign_in_page/index.md
new file mode 100644
index 0000000..952695f
--- /dev/null
+++ b/website/docs/services/brands/sign_in_page/index.md
@@ -0,0 +1,161 @@
+---
+title: sign_in_page
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - sign_in_page
+ - brands
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a sign_in_page resource.
+
+## Overview
+
+| Name | sign_in_page |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Successfully retrieved the sign-in page.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ object |
+ |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves the sign-in page sub-resources. The `expand` query parameter specifies which sub-resources to include in the response. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes the customized sign-in page. As a result, the default sign-in page appears in your live environment. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Retrieves the sign-in page sub-resources. The `expand` query parameter specifies which sub-resources to include in the response.
+
+```sql
+SELECT
+_embedded,
+_links
+FROM okta.brands.sign_in_page
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes the customized sign-in page. As a result, the default sign-in page appears in your live environment.
+
+```sql
+DELETE FROM okta.brands.sign_in_page
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/brands/sign_in_widget_versions/index.md b/website/docs/services/brands/sign_in_widget_versions/index.md
new file mode 100644
index 0000000..1a2d9c4
--- /dev/null
+++ b/website/docs/services/brands/sign_in_widget_versions/index.md
@@ -0,0 +1,123 @@
+---
+title: sign_in_widget_versions
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - sign_in_widget_versions
+ - brands
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a sign_in_widget_versions resource.
+
+## Overview
+
+| Name | sign_in_widget_versions |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Successfully listed the sign-in widget versions.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all sign-in widget versions supported by the current org |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all sign-in widget versions supported by the current org
+
+```sql
+SELECT
+*
+FROM okta.brands.sign_in_widget_versions
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
diff --git a/website/docs/services/brands/sign_out_page_settings/index.md b/website/docs/services/brands/sign_out_page_settings/index.md
new file mode 100644
index 0000000..bba75f5
--- /dev/null
+++ b/website/docs/services/brands/sign_out_page_settings/index.md
@@ -0,0 +1,169 @@
+---
+title: sign_out_page_settings
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - sign_out_page_settings
+ - brands
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a sign_out_page_settings resource.
+
+## Overview
+
+| Name | sign_out_page_settings |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Successfully retrieved the sign-out page settings.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ |
+
+
+ |
+ string |
+ |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves the sign-out page settings |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces the sign-out page settings |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Retrieves the sign-out page settings
+
+```sql
+SELECT
+type,
+url
+FROM okta.brands.sign_out_page_settings
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces the sign-out page settings
+
+```sql
+REPLACE okta.brands.sign_out_page_settings
+SET
+data__type = '{{ type }}',
+data__url = '{{ url }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+AND data__type = '{{ type }}' --required
+RETURNING
+type,
+url;
+```
+
+
diff --git a/website/docs/services/brands/themes/index.md b/website/docs/services/brands/themes/index.md
new file mode 100644
index 0000000..9dbb949
--- /dev/null
+++ b/website/docs/services/brands/themes/index.md
@@ -0,0 +1,508 @@
+---
+title: themes
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - themes
+ - brands
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a themes resource.
+
+## Overview
+
+| Name | themes |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Successfully returned the list of themes
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ |
+
+
+ |
+ string |
+ Variant for email templates. You can publish a theme for email templates with different combinations of assets. Variants are preset combinations of those assets. (default: OKTA_DEFAULT) |
+
+
+ |
+ string |
+ Variant for the Okta End-User Dashboard. You can publish a theme for end-user dashboard with different combinations of assets. Variants are preset combinations of those assets. (default: OKTA_DEFAULT) |
+
+
+ |
+ string |
+ Variant for the error page. You can publish a theme for error page with different combinations of assets. Variants are preset combinations of those assets. (default: OKTA_DEFAULT) |
+
+
+ |
+ string |
+ |
+
+
+ |
+ string |
+ Variant for the Okta loading page. You can publish a theme for Okta loading page with different combinations of assets. Variants are preset combinations of those assets. (default: OKTA_DEFAULT) |
+
+
+ |
+ string |
+ |
+
+
+ |
+ string |
+ Primary color contrast hex code |
+
+
+ |
+ string |
+ Primary color hex code |
+
+
+ |
+ string |
+ Secondary color contrast hex code |
+
+
+ |
+ string |
+ Secondary color hex code |
+
+
+ |
+ string |
+ Variant for the Okta sign-in page. You can publish a theme for sign-in page with different combinations of assets. Variants are preset combinations of those assets. > **Note:** For a non-`OKTA_DEFAULT` variant, `primaryColorHex` is used for button background color and `primaryColorContrastHex` is used to optimize the opacity for button text. |
+
+
+
+
+
+
+Successfully retrieved the theme
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ |
+
+
+ |
+ string |
+ Variant for email templates. You can publish a theme for email templates with different combinations of assets. Variants are preset combinations of those assets. (default: OKTA_DEFAULT) |
+
+
+ |
+ string |
+ Variant for the Okta End-User Dashboard. You can publish a theme for end-user dashboard with different combinations of assets. Variants are preset combinations of those assets. (default: OKTA_DEFAULT) |
+
+
+ |
+ string |
+ Variant for the error page. You can publish a theme for error page with different combinations of assets. Variants are preset combinations of those assets. (default: OKTA_DEFAULT) |
+
+
+ |
+ string |
+ |
+
+
+ |
+ string |
+ Variant for the Okta loading page. You can publish a theme for Okta loading page with different combinations of assets. Variants are preset combinations of those assets. (default: OKTA_DEFAULT) |
+
+
+ |
+ string |
+ |
+
+
+ |
+ string |
+ Primary color contrast hex code |
+
+
+ |
+ string |
+ Primary color hex code |
+
+
+ |
+ string |
+ Secondary color contrast hex code |
+
+
+ |
+ string |
+ Secondary color hex code |
+
+
+ |
+ string |
+ Variant for the Okta sign-in page. You can publish a theme for sign-in page with different combinations of assets. Variants are preset combinations of those assets. > **Note:** For a non-`OKTA_DEFAULT` variant, `primaryColorHex` is used for button background color and `primaryColorContrastHex` is used to optimize the opacity for button text. |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all the themes in your brand.
> **Important:** Currently each org supports only one theme, therefore this contains a single object only. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves a theme for a brand |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces a theme for a brand |
+
+
+ |
+ |
+ subdomain |
+ |
+ Uploads and replaces the background image for the theme. The file must be in PNG, JPG, or GIF format and less than 2 MB in size. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes a theme background image |
+
+
+ |
+ |
+ subdomain |
+ |
+ Uploads and replaces the favicon for the theme |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes a theme favicon. The theme will use the default Okta favicon. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Uploads and replaces the logo for the theme. The file must be in PNG, JPG, or GIF format and less than 100kB in size. For best results use landscape orientation, a transparent background, and a minimum size of 300px by 50px to prevent upscaling. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes a Theme logo. The theme will use the default Okta logo. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all the themes in your brand.
> **Important:** Currently each org supports only one theme, therefore this contains a single object only.
+
+```sql
+SELECT
+id,
+_links,
+backgroundImage,
+emailTemplateTouchPointVariant,
+endUserDashboardTouchPointVariant,
+errorPageTouchPointVariant,
+favicon,
+loadingPageTouchPointVariant,
+logo,
+primaryColorContrastHex,
+primaryColorHex,
+secondaryColorContrastHex,
+secondaryColorHex,
+signInPageTouchPointVariant
+FROM okta.brands.themes
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+Retrieves a theme for a brand
+
+```sql
+SELECT
+id,
+_links,
+backgroundImage,
+emailTemplateTouchPointVariant,
+endUserDashboardTouchPointVariant,
+errorPageTouchPointVariant,
+favicon,
+loadingPageTouchPointVariant,
+logo,
+primaryColorContrastHex,
+primaryColorHex,
+secondaryColorContrastHex,
+secondaryColorHex,
+signInPageTouchPointVariant
+FROM okta.brands.themes
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces a theme for a brand
+
+```sql
+REPLACE okta.brands.themes
+SET
+data__emailTemplateTouchPointVariant = '{{ emailTemplateTouchPointVariant }}',
+data__endUserDashboardTouchPointVariant = '{{ endUserDashboardTouchPointVariant }}',
+data__errorPageTouchPointVariant = '{{ errorPageTouchPointVariant }}',
+data__loadingPageTouchPointVariant = '{{ loadingPageTouchPointVariant }}',
+data__primaryColorContrastHex = '{{ primaryColorContrastHex }}',
+data__primaryColorHex = '{{ primaryColorHex }}',
+data__secondaryColorContrastHex = '{{ secondaryColorContrastHex }}',
+data__secondaryColorHex = '{{ secondaryColorHex }}',
+data__signInPageTouchPointVariant = '{{ signInPageTouchPointVariant }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+AND data__primaryColorHex = '{{ primaryColorHex }}' --required
+AND data__secondaryColorHex = '{{ secondaryColorHex }}' --required
+AND data__signInPageTouchPointVariant = '{{ signInPageTouchPointVariant }}' --required
+AND data__endUserDashboardTouchPointVariant = '{{ endUserDashboardTouchPointVariant }}' --required
+AND data__errorPageTouchPointVariant = '{{ errorPageTouchPointVariant }}' --required
+AND data__emailTemplateTouchPointVariant = '{{ emailTemplateTouchPointVariant }}' --required
+RETURNING
+id,
+_links,
+backgroundImage,
+emailTemplateTouchPointVariant,
+endUserDashboardTouchPointVariant,
+errorPageTouchPointVariant,
+favicon,
+loadingPageTouchPointVariant,
+logo,
+primaryColorContrastHex,
+primaryColorHex,
+secondaryColorContrastHex,
+secondaryColorHex,
+signInPageTouchPointVariant;
+```
+
+
+
+
+## Lifecycle Methods
+
+
+
+
+Uploads and replaces the background image for the theme. The file must be in PNG, JPG, or GIF format and less than 2 MB in size.
+
+```sql
+EXEC okta.brands.themes.upload_brand_theme_background_image
+@subdomain='{{ subdomain }}' --required
+@@json=
+'{
+"file": "{{ file }}"
+}';
+```
+
+
+
+Deletes a theme background image
+
+```sql
+EXEC okta.brands.themes.delete_brand_theme_background_image
+@subdomain='{{ subdomain }}' --required;
+```
+
+
+
+Uploads and replaces the favicon for the theme
+
+```sql
+EXEC okta.brands.themes.upload_brand_theme_favicon
+@subdomain='{{ subdomain }}' --required
+@@json=
+'{
+"file": "{{ file }}"
+}';
+```
+
+
+
+Deletes a theme favicon. The theme will use the default Okta favicon.
+
+```sql
+EXEC okta.brands.themes.delete_brand_theme_favicon
+@subdomain='{{ subdomain }}' --required;
+```
+
+
+
+Uploads and replaces the logo for the theme. The file must be in PNG, JPG, or GIF format and less than 100kB in size. For best results use landscape orientation, a transparent background, and a minimum size of 300px by 50px to prevent upscaling.
+
+```sql
+EXEC okta.brands.themes.upload_brand_theme_logo
+@subdomain='{{ subdomain }}' --required
+@@json=
+'{
+"file": "{{ file }}"
+}';
+```
+
+
+
+Deletes a Theme logo. The theme will use the default Okta logo.
+
+```sql
+EXEC okta.brands.themes.delete_brand_theme_logo
+@subdomain='{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/brands/well_known_uris/index.md b/website/docs/services/brands/well_known_uris/index.md
new file mode 100644
index 0000000..1975e08
--- /dev/null
+++ b/website/docs/services/brands/well_known_uris/index.md
@@ -0,0 +1,181 @@
+---
+title: well_known_uris
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - well_known_uris
+ - brands
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a well_known_uris resource.
+
+## Overview
+
+| Name | well_known_uris |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Successfully retrieved all the well-known URIs
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ object |
+ |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+
+
+
+
+Successfully retrieved the well-known URI
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ object |
+ The well-known URI content in JSON format |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves the content from each of the well-known URIs for a specified brand |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves the well-known URI of a specific brand and well-known URI path |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Retrieves the content from each of the well-known URIs for a specified brand
+
+```sql
+SELECT
+_embedded,
+_links
+FROM okta.brands.well_known_uris
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+Retrieves the well-known URI of a specific brand and well-known URI path
+
+```sql
+SELECT
+_links,
+representation
+FROM okta.brands.well_known_uris
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
diff --git a/website/docs/services/captchas/captcha_instances/index.md b/website/docs/services/captchas/captcha_instances/index.md
new file mode 100644
index 0000000..90a79ea
--- /dev/null
+++ b/website/docs/services/captchas/captcha_instances/index.md
@@ -0,0 +1,411 @@
+---
+title: captcha_instances
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - captcha_instances
+ - captchas
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a captcha_instances resource.
+
+## Overview
+
+| Name | captcha_instances |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The unique key for the CAPTCHA instance |
+
+
+ |
+ string |
+ The name of the CAPTCHA instance |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ The secret key issued from the CAPTCHA provider to perform server-side validation for a CAPTCHA token |
+
+
+ |
+ string |
+ The site key issued from the CAPTCHA provider to render a CAPTCHA on a page |
+
+
+ |
+ string |
+ The type of CAPTCHA provider |
+
+
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The unique key for the CAPTCHA instance |
+
+
+ |
+ string |
+ The name of the CAPTCHA instance |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ The secret key issued from the CAPTCHA provider to perform server-side validation for a CAPTCHA token |
+
+
+ |
+ string |
+ The site key issued from the CAPTCHA provider to render a CAPTCHA on a page |
+
+
+ |
+ string |
+ The type of CAPTCHA provider |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all CAPTCHA instances with pagination support. A subset of CAPTCHA instances can be returned that match a supported filter expression or query. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves the properties of a specified CAPTCHA instance |
+
+
+ |
+ |
+ subdomain |
+ |
+ Creates a new CAPTCHA instance. Currently, an org can only configure a single CAPTCHA instance. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Partially updates the properties of a specified CAPTCHA instance |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces the properties for a specified CAPTCHA instance |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes a specified CAPTCHA instance > **Note:** If your CAPTCHA instance is still associated with your org, the request fails. You must first update your Org-wide CAPTCHA settings to remove the CAPTCHA instance. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all CAPTCHA instances with pagination support. A subset of CAPTCHA instances can be returned that match a supported filter expression or query.
+
+```sql
+SELECT
+id,
+name,
+_links,
+secretKey,
+siteKey,
+type
+FROM okta.captchas.captcha_instances
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+Retrieves the properties of a specified CAPTCHA instance
+
+```sql
+SELECT
+id,
+name,
+_links,
+secretKey,
+siteKey,
+type
+FROM okta.captchas.captcha_instances
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Creates a new CAPTCHA instance. Currently, an org can only configure a single CAPTCHA instance.
+
+```sql
+INSERT INTO okta.captchas.captcha_instances (
+data__name,
+data__secretKey,
+data__siteKey,
+data__type,
+subdomain
+)
+SELECT
+'{{ name }}',
+'{{ secretKey }}',
+'{{ siteKey }}',
+'{{ type }}',
+'{{ subdomain }}'
+RETURNING
+id,
+name,
+_links,
+secretKey,
+siteKey,
+type
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: captcha_instances
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the captcha_instances resource.
+ - name: name
+ value: string
+ description: >
+ The name of the CAPTCHA instance
+
+ - name: secretKey
+ value: string
+ description: >
+ The secret key issued from the CAPTCHA provider to perform server-side validation for a CAPTCHA token
+
+ - name: siteKey
+ value: string
+ description: >
+ The site key issued from the CAPTCHA provider to render a CAPTCHA on a page
+
+ - name: type
+ value: string
+ description: >
+ The type of CAPTCHA provider
+
+ valid_values: ['HCAPTCHA', 'RECAPTCHA_V2']
+```
+
+
+
+
+## `UPDATE` examples
+
+
+
+
+Partially updates the properties of a specified CAPTCHA instance
+
+```sql
+UPDATE okta.captchas.captcha_instances
+SET
+data__name = '{{ name }}',
+data__secretKey = '{{ secretKey }}',
+data__siteKey = '{{ siteKey }}',
+data__type = '{{ type }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+id,
+name,
+_links,
+secretKey,
+siteKey,
+type;
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces the properties for a specified CAPTCHA instance
+
+```sql
+REPLACE okta.captchas.captcha_instances
+SET
+data__name = '{{ name }}',
+data__secretKey = '{{ secretKey }}',
+data__siteKey = '{{ siteKey }}',
+data__type = '{{ type }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+id,
+name,
+_links,
+secretKey,
+siteKey,
+type;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes a specified CAPTCHA instance
> **Note:** If your CAPTCHA instance is still associated with your org, the request fails. You must first update your Org-wide CAPTCHA settings to remove the CAPTCHA instance.
+
+```sql
+DELETE FROM okta.captchas.captcha_instances
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/captchas/index.md b/website/docs/services/captchas/index.md
new file mode 100644
index 0000000..4772b4f
--- /dev/null
+++ b/website/docs/services/captchas/index.md
@@ -0,0 +1,33 @@
+---
+title: captchas
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - captchas
+ - okta
+ - stackql
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+captchas service documentation.
+
+:::info[Service Summary]
+
+total resources: __1__
+
+:::
+
+## Resources
+
\ No newline at end of file
diff --git a/website/docs/services/device_access/index.md b/website/docs/services/device_access/index.md
new file mode 100644
index 0000000..b07a8e6
--- /dev/null
+++ b/website/docs/services/device_access/index.md
@@ -0,0 +1,33 @@
+---
+title: device_access
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - device_access
+ - okta
+ - stackql
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+device_access service documentation.
+
+:::info[Service Summary]
+
+total resources: __2__
+
+:::
+
+## Resources
+
\ No newline at end of file
diff --git a/website/docs/services/device_access/mfa_challenge_org_setting/index.md b/website/docs/services/device_access/mfa_challenge_org_setting/index.md
new file mode 100644
index 0000000..c806e05
--- /dev/null
+++ b/website/docs/services/device_access/mfa_challenge_org_setting/index.md
@@ -0,0 +1,158 @@
+---
+title: mfa_challenge_org_setting
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - mfa_challenge_org_setting
+ - device_access
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a mfa_challenge_org_setting resource.
+
+## Overview
+
+| Name | mfa_challenge_org_setting |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ boolean |
+ Indicates whether or not the Desktop MFA Enforce Number Matching Challenge push notifications feature is enabled |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves the status of the Desktop MFA Enforce Number Matching Challenge push notifications feature. That is, whether or not the feature is enabled for your org. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces the status of the Desktop MFA Enforce Number Matching Challenge push notifications feature. That is, whether or not the feature is enabled for your org. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Retrieves the status of the Desktop MFA Enforce Number Matching Challenge push notifications feature. That is, whether or not the feature is enabled for your org.
+
+```sql
+SELECT
+desktopMFAEnforceNumberMatchingChallengeEnabled
+FROM okta.device_access.mfa_challenge_org_setting
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces the status of the Desktop MFA Enforce Number Matching Challenge push notifications feature. That is, whether or not the feature is enabled for your org.
+
+```sql
+REPLACE okta.device_access.mfa_challenge_org_setting
+SET
+data__desktopMFAEnforceNumberMatchingChallengeEnabled = {{ desktopMFAEnforceNumberMatchingChallengeEnabled }}
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+desktopMFAEnforceNumberMatchingChallengeEnabled;
+```
+
+
diff --git a/website/docs/services/device_access/mfa_recovery_pin_setting/index.md b/website/docs/services/device_access/mfa_recovery_pin_setting/index.md
new file mode 100644
index 0000000..f6b2266
--- /dev/null
+++ b/website/docs/services/device_access/mfa_recovery_pin_setting/index.md
@@ -0,0 +1,158 @@
+---
+title: mfa_recovery_pin_setting
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - mfa_recovery_pin_setting
+ - device_access
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a mfa_recovery_pin_setting resource.
+
+## Overview
+
+| Name | mfa_recovery_pin_setting |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ boolean |
+ Indicates whether or not the Desktop MFA Recovery PIN feature is enabled |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves the status of the Desktop MFA Recovery PIN feature. That is, whether or not the feature is enabled for your org. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces the Desktop MFA Recovery PIN feature for your org |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Retrieves the status of the Desktop MFA Recovery PIN feature. That is, whether or not the feature is enabled for your org.
+
+```sql
+SELECT
+desktopMFARecoveryPinEnabled
+FROM okta.device_access.mfa_recovery_pin_setting
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces the Desktop MFA Recovery PIN feature for your org
+
+```sql
+REPLACE okta.device_access.mfa_recovery_pin_setting
+SET
+data__desktopMFARecoveryPinEnabled = {{ desktopMFARecoveryPinEnabled }}
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+desktopMFARecoveryPinEnabled;
+```
+
+
diff --git a/website/docs/services/device_assurances/device_assurance_policies/index.md b/website/docs/services/device_assurances/device_assurance_policies/index.md
new file mode 100644
index 0000000..fe915bf
--- /dev/null
+++ b/website/docs/services/device_assurances/device_assurance_policies/index.md
@@ -0,0 +1,447 @@
+---
+title: device_assurance_policies
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - device_assurance_policies
+ - device_assurances
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a device_assurance_policies resource.
+
+## Overview
+
+| Name | device_assurance_policies |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ |
+
+
+ |
+ string |
+ Display name of the device assurance policy |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ |
+
+
+ |
+ string |
+ |
+
+
+ |
+ object |
+ <x-lifecycle-container><x-lifecycle class="ea"></x-lifecycle></x-lifecycle-container>Represents the Device Posture Checks configuration for the device assurance policy |
+
+
+ |
+ string |
+ <x-lifecycle-container><x-lifecycle class="ea"></x-lifecycle></x-lifecycle-container>Represents the remediation mode of this device assurance policy when users are denied access due to device noncompliance (example: SHOW) |
+
+
+ |
+ object |
+ <x-lifecycle-container><x-lifecycle class="ea"></x-lifecycle></x-lifecycle-container>Represents the Grace Period configuration for the device assurance policy |
+
+
+ |
+ string |
+ |
+
+
+ |
+ string |
+ |
+
+
+ |
+ string |
+ |
+
+
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ |
+
+
+ |
+ string |
+ Display name of the device assurance policy |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ |
+
+
+ |
+ string |
+ |
+
+
+ |
+ object |
+ <x-lifecycle-container><x-lifecycle class="ea"></x-lifecycle></x-lifecycle-container>Represents the Device Posture Checks configuration for the device assurance policy |
+
+
+ |
+ string |
+ <x-lifecycle-container><x-lifecycle class="ea"></x-lifecycle></x-lifecycle-container>Represents the remediation mode of this device assurance policy when users are denied access due to device noncompliance (example: SHOW) |
+
+
+ |
+ object |
+ <x-lifecycle-container><x-lifecycle class="ea"></x-lifecycle></x-lifecycle-container>Represents the Grace Period configuration for the device assurance policy |
+
+
+ |
+ string |
+ |
+
+
+ |
+ string |
+ |
+
+
+ |
+ string |
+ |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all device assurance policies |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves a device assurance policy by `deviceAssuranceId` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Creates a new device assurance policy |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces a device assurance policy by `deviceAssuranceId` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes a device assurance policy by `deviceAssuranceId`. If the device assurance policy is currently being used in the org Authentication Policies, the delete will not be allowed. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all device assurance policies
+
+```sql
+SELECT
+id,
+name,
+_links,
+createdBy,
+createdDate,
+devicePostureChecks,
+displayRemediationMode,
+gracePeriod,
+lastUpdate,
+lastUpdatedBy,
+platform
+FROM okta.device_assurances.device_assurance_policies
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+Retrieves a device assurance policy by `deviceAssuranceId`
+
+```sql
+SELECT
+id,
+name,
+_links,
+createdBy,
+createdDate,
+devicePostureChecks,
+displayRemediationMode,
+gracePeriod,
+lastUpdate,
+lastUpdatedBy,
+platform
+FROM okta.device_assurances.device_assurance_policies
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Creates a new device assurance policy
+
+```sql
+INSERT INTO okta.device_assurances.device_assurance_policies (
+data__devicePostureChecks,
+data__displayRemediationMode,
+data__gracePeriod,
+data__name,
+data__platform,
+subdomain
+)
+SELECT
+'{{ devicePostureChecks }}',
+'{{ displayRemediationMode }}',
+'{{ gracePeriod }}',
+'{{ name }}',
+'{{ platform }}',
+'{{ subdomain }}'
+RETURNING
+id,
+name,
+_links,
+createdBy,
+createdDate,
+devicePostureChecks,
+displayRemediationMode,
+gracePeriod,
+lastUpdate,
+lastUpdatedBy,
+platform
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: device_assurance_policies
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the device_assurance_policies resource.
+ - name: devicePostureChecks
+ value: object
+ description: >
+ Represents the Device Posture Checks configuration for the device assurance policy
+
+ - name: displayRemediationMode
+ value: string
+ description: >
+ Represents the remediation mode of this device assurance policy when users are denied access due to device noncompliance
+
+ valid_values: ['HIDE', 'SHOW']
+ - name: gracePeriod
+ value: object
+ description: >
+ Represents the Grace Period configuration for the device assurance policy
+
+ - name: name
+ value: string
+ description: >
+ Display name of the device assurance policy
+
+ - name: platform
+ value: string
+ valid_values: ['ANDROID', 'CHROMEOS', 'IOS', 'MACOS', 'WINDOWS']
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces a device assurance policy by `deviceAssuranceId`
+
+```sql
+REPLACE okta.device_assurances.device_assurance_policies
+SET
+data__devicePostureChecks = '{{ devicePostureChecks }}',
+data__displayRemediationMode = '{{ displayRemediationMode }}',
+data__gracePeriod = '{{ gracePeriod }}',
+data__name = '{{ name }}',
+data__platform = '{{ platform }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+id,
+name,
+_links,
+createdBy,
+createdDate,
+devicePostureChecks,
+displayRemediationMode,
+gracePeriod,
+lastUpdate,
+lastUpdatedBy,
+platform;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes a device assurance policy by `deviceAssuranceId`. If the device assurance policy is currently being used in the org Authentication Policies, the delete will not be allowed.
+
+```sql
+DELETE FROM okta.device_assurances.device_assurance_policies
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/device_assurances/index.md b/website/docs/services/device_assurances/index.md
new file mode 100644
index 0000000..bd107dc
--- /dev/null
+++ b/website/docs/services/device_assurances/index.md
@@ -0,0 +1,33 @@
+---
+title: device_assurances
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - device_assurances
+ - okta
+ - stackql
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+device_assurances service documentation.
+
+:::info[Service Summary]
+
+total resources: __1__
+
+:::
+
+## Resources
+
\ No newline at end of file
diff --git a/website/docs/services/device_integrations/device_integrations/index.md b/website/docs/services/device_integrations/device_integrations/index.md
new file mode 100644
index 0000000..6c56edc
--- /dev/null
+++ b/website/docs/services/device_integrations/device_integrations/index.md
@@ -0,0 +1,281 @@
+---
+title: device_integrations
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - device_integrations
+ - device_integrations
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a device_integrations resource.
+
+## Overview
+
+| Name | device_integrations |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The ID of the device integration |
+
+
+ |
+ string |
+ The namespace of the device integration |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ The display name of the device integration |
+
+
+ |
+ object |
+ The metadata of the device integration |
+
+
+ |
+ string |
+ |
+
+
+ |
+ string |
+ The status of the device integration |
+
+
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The ID of the device integration |
+
+
+ |
+ string |
+ The namespace of the device integration |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ The display name of the device integration |
+
+
+ |
+ object |
+ The metadata of the device integration |
+
+
+ |
+ string |
+ |
+
+
+ |
+ string |
+ The status of the device integration |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all device integrations for your org. Examples include Device Posture Provider, Windows Security Center, Chrome Device Trust, OSQuery, and Android Device Trust. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves a device integration by `deviceIntegrationId` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Activates a device integration and populates the related configurations by `deviceIntegrationId` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deactivates a device integration by `deviceIntegrationId` |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all device integrations for your org. Examples include Device Posture Provider, Windows Security Center, Chrome Device Trust, OSQuery, and Android Device Trust.
+
+```sql
+SELECT
+id,
+name,
+_links,
+displayName,
+metadata,
+platform,
+status
+FROM okta.device_integrations.device_integrations
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+Retrieves a device integration by `deviceIntegrationId`
+
+```sql
+SELECT
+id,
+name,
+_links,
+displayName,
+metadata,
+platform,
+status
+FROM okta.device_integrations.device_integrations
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## Lifecycle Methods
+
+
+
+
+Activates a device integration and populates the related configurations by `deviceIntegrationId`
+
+```sql
+EXEC okta.device_integrations.device_integrations.activate_device_integration
+@subdomain='{{ subdomain }}' --required;
+```
+
+
+
+Deactivates a device integration by `deviceIntegrationId`
+
+```sql
+EXEC okta.device_integrations.device_integrations.deactivate_device_integration
+@subdomain='{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/device_integrations/index.md b/website/docs/services/device_integrations/index.md
new file mode 100644
index 0000000..131e459
--- /dev/null
+++ b/website/docs/services/device_integrations/index.md
@@ -0,0 +1,33 @@
+---
+title: device_integrations
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - device_integrations
+ - okta
+ - stackql
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+device_integrations service documentation.
+
+:::info[Service Summary]
+
+total resources: __1__
+
+:::
+
+## Resources
+
\ No newline at end of file
diff --git a/website/docs/services/device_posture_checks/default_device_posture_checks/index.md b/website/docs/services/device_posture_checks/default_device_posture_checks/index.md
new file mode 100644
index 0000000..ad8aed8
--- /dev/null
+++ b/website/docs/services/device_posture_checks/default_device_posture_checks/index.md
@@ -0,0 +1,204 @@
+---
+title: default_device_posture_checks
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - default_device_posture_checks
+ - device_posture_checks
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a default_device_posture_checks resource.
+
+## Overview
+
+| Name | default_device_posture_checks |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The ID of the device posture check (example: dch3m8o4rWhwReDeM1c5) |
+
+
+ |
+ string |
+ Display name of the device posture check (example: Device posture check macOS) |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ User who created the device posture check (example: 00u217pyf72CdUrBt1c5) |
+
+
+ |
+ string |
+ Time the device posture check was created (example: 2019-10-02T18:03:07.000Z) |
+
+
+ |
+ string |
+ Description of the device posture check (example: Query macOS devices to check if firewall is enabled) |
+
+
+ |
+ string |
+ Time the device posture check was updated (example: 2019-10-02T18:03:07.000Z) |
+
+
+ |
+ string |
+ User who updated the device posture check (example: 00u217pyf72CdUrBt1c5) |
+
+
+ |
+ string |
+ Represents how the device posture check is rendered in device assurance policies |
+
+
+ |
+ string |
+ |
+
+
+ |
+ string |
+ OSQuery for the device posture check (example: SELECT CASE WHEN global_state = 0 THEN 0 ELSE 1 END AS firewall_enabled FROM alf;) |
+
+
+ |
+ object |
+ Represents the remediation instructions shown to the end user when the device posture check fails |
+
+
+ |
+ string |
+ |
+
+
+ |
+ string |
+ Unique name of the device posture check (example: macOSFirewall) |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all default device posture checks. Default device posture checks are defined by Okta. Their type will always be `BUILTIN`. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all default device posture checks. Default device posture checks are defined by Okta. Their type will always be `BUILTIN`.
+
+```sql
+SELECT
+id,
+name,
+_links,
+createdBy,
+createdDate,
+description,
+lastUpdate,
+lastUpdatedBy,
+mappingType,
+platform,
+query,
+remediationSettings,
+type,
+variableName
+FROM okta.device_posture_checks.default_device_posture_checks
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
diff --git a/website/docs/services/device_posture_checks/device_posture_checks/index.md b/website/docs/services/device_posture_checks/device_posture_checks/index.md
new file mode 100644
index 0000000..b4a5ec4
--- /dev/null
+++ b/website/docs/services/device_posture_checks/device_posture_checks/index.md
@@ -0,0 +1,511 @@
+---
+title: device_posture_checks
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - device_posture_checks
+ - device_posture_checks
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a device_posture_checks resource.
+
+## Overview
+
+| Name | device_posture_checks |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The ID of the device posture check (example: dch3m8o4rWhwReDeM1c5) |
+
+
+ |
+ string |
+ Display name of the device posture check (example: Device posture check macOS) |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ User who created the device posture check (example: 00u217pyf72CdUrBt1c5) |
+
+
+ |
+ string |
+ Time the device posture check was created (example: 2019-10-02T18:03:07.000Z) |
+
+
+ |
+ string |
+ Description of the device posture check (example: Query macOS devices to check if firewall is enabled) |
+
+
+ |
+ string |
+ Time the device posture check was updated (example: 2019-10-02T18:03:07.000Z) |
+
+
+ |
+ string |
+ User who updated the device posture check (example: 00u217pyf72CdUrBt1c5) |
+
+
+ |
+ string |
+ Represents how the device posture check is rendered in device assurance policies |
+
+
+ |
+ string |
+ |
+
+
+ |
+ string |
+ OSQuery for the device posture check (example: SELECT CASE WHEN global_state = 0 THEN 0 ELSE 1 END AS firewall_enabled FROM alf;) |
+
+
+ |
+ object |
+ Represents the remediation instructions shown to the end user when the device posture check fails |
+
+
+ |
+ string |
+ |
+
+
+ |
+ string |
+ Unique name of the device posture check (example: macOSFirewall) |
+
+
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The ID of the device posture check (example: dch3m8o4rWhwReDeM1c5) |
+
+
+ |
+ string |
+ Display name of the device posture check (example: Device posture check macOS) |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ User who created the device posture check (example: 00u217pyf72CdUrBt1c5) |
+
+
+ |
+ string |
+ Time the device posture check was created (example: 2019-10-02T18:03:07.000Z) |
+
+
+ |
+ string |
+ Description of the device posture check (example: Query macOS devices to check if firewall is enabled) |
+
+
+ |
+ string |
+ Time the device posture check was updated (example: 2019-10-02T18:03:07.000Z) |
+
+
+ |
+ string |
+ User who updated the device posture check (example: 00u217pyf72CdUrBt1c5) |
+
+
+ |
+ string |
+ Represents how the device posture check is rendered in device assurance policies |
+
+
+ |
+ string |
+ |
+
+
+ |
+ string |
+ OSQuery for the device posture check (example: SELECT CASE WHEN global_state = 0 THEN 0 ELSE 1 END AS firewall_enabled FROM alf;) |
+
+
+ |
+ object |
+ Represents the remediation instructions shown to the end user when the device posture check fails |
+
+
+ |
+ string |
+ |
+
+
+ |
+ string |
+ Unique name of the device posture check (example: macOSFirewall) |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all device posture checks |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves a device posture check by `postureCheckId` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Creates a device posture check |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces a device posture check by `postureCheckId` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes a device posture check by `postureCheckId`. You can't delete the device posture check if it's used in a device assurance policy. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all device posture checks
+
+```sql
+SELECT
+id,
+name,
+_links,
+createdBy,
+createdDate,
+description,
+lastUpdate,
+lastUpdatedBy,
+mappingType,
+platform,
+query,
+remediationSettings,
+type,
+variableName
+FROM okta.device_posture_checks.device_posture_checks
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+Retrieves a device posture check by `postureCheckId`
+
+```sql
+SELECT
+id,
+name,
+_links,
+createdBy,
+createdDate,
+description,
+lastUpdate,
+lastUpdatedBy,
+mappingType,
+platform,
+query,
+remediationSettings,
+type,
+variableName
+FROM okta.device_posture_checks.device_posture_checks
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Creates a device posture check
+
+```sql
+INSERT INTO okta.device_posture_checks.device_posture_checks (
+data__description,
+data__mappingType,
+data__name,
+data__platform,
+data__query,
+data__remediationSettings,
+data__type,
+data__variableName,
+subdomain
+)
+SELECT
+'{{ description }}',
+'{{ mappingType }}',
+'{{ name }}',
+'{{ platform }}',
+'{{ query }}',
+'{{ remediationSettings }}',
+'{{ type }}',
+'{{ variableName }}',
+'{{ subdomain }}'
+RETURNING
+id,
+name,
+_links,
+createdBy,
+createdDate,
+description,
+lastUpdate,
+lastUpdatedBy,
+mappingType,
+platform,
+query,
+remediationSettings,
+type,
+variableName
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: device_posture_checks
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the device_posture_checks resource.
+ - name: description
+ value: string
+ description: >
+ Description of the device posture check
+
+ - name: mappingType
+ value: string
+ description: >
+ Represents how the device posture check is rendered in device assurance policies
+
+ valid_values: ['CHECKBOX', 'TEXTBOX']
+ - name: name
+ value: string
+ description: >
+ Display name of the device posture check
+
+ - name: platform
+ value: string
+ valid_values: ['MACOS', 'WINDOWS']
+ - name: query
+ value: string
+ description: >
+ OSQuery for the device posture check
+
+ - name: remediationSettings
+ value: object
+ description: >
+ Represents the remediation instructions shown to the end user when the device posture check fails
+
+ - name: type
+ value: string
+ valid_values: ['BUILTIN', 'CUSTOM']
+ - name: variableName
+ value: string
+ description: >
+ Unique name of the device posture check
+
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces a device posture check by `postureCheckId`
+
+```sql
+REPLACE okta.device_posture_checks.device_posture_checks
+SET
+data__description = '{{ description }}',
+data__mappingType = '{{ mappingType }}',
+data__name = '{{ name }}',
+data__platform = '{{ platform }}',
+data__query = '{{ query }}',
+data__remediationSettings = '{{ remediationSettings }}',
+data__type = '{{ type }}',
+data__variableName = '{{ variableName }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+id,
+name,
+_links,
+createdBy,
+createdDate,
+description,
+lastUpdate,
+lastUpdatedBy,
+mappingType,
+platform,
+query,
+remediationSettings,
+type,
+variableName;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes a device posture check by `postureCheckId`. You can't delete the device posture check if it's used in a device assurance policy.
+
+```sql
+DELETE FROM okta.device_posture_checks.device_posture_checks
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/device_posture_checks/index.md b/website/docs/services/device_posture_checks/index.md
new file mode 100644
index 0000000..ff2f162
--- /dev/null
+++ b/website/docs/services/device_posture_checks/index.md
@@ -0,0 +1,33 @@
+---
+title: device_posture_checks
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - device_posture_checks
+ - okta
+ - stackql
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+device_posture_checks service documentation.
+
+:::info[Service Summary]
+
+total resources: __2__
+
+:::
+
+## Resources
+
\ No newline at end of file
diff --git a/website/docs/services/devices/device_users/index.md b/website/docs/services/devices/device_users/index.md
new file mode 100644
index 0000000..8eaed6e
--- /dev/null
+++ b/website/docs/services/devices/device_users/index.md
@@ -0,0 +1,146 @@
+---
+title: device_users
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - device_users
+ - devices
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a device_users resource.
+
+## Overview
+
+| Name | device_users |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Timestamp when device was created |
+
+
+ |
+ string |
+ The management status of the device |
+
+
+ |
+ string |
+ Screen lock type of the device |
+
+
+ |
+ object |
+ |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all Users for a device by `deviceId` |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all Users for a device by `deviceId`
+
+```sql
+SELECT
+created,
+managementStatus,
+screenLockType,
+user
+FROM okta.devices.device_users
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
diff --git a/website/docs/services/devices/devices/index.md b/website/docs/services/devices/devices/index.md
new file mode 100644
index 0000000..499b301
--- /dev/null
+++ b/website/docs/services/devices/devices/index.md
@@ -0,0 +1,408 @@
+---
+title: devices
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - devices
+ - devices
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a devices resource.
+
+## Overview
+
+| Name | devices |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Unique key for the device |
+
+
+ |
+ object |
+ List of associated users for the device if the `expand=user` query parameter is specified in the request. Use `expand=userSummary` to get only a summary of each associated user for the device. |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string (date-time) |
+ Timestamp when the device was created |
+
+
+ |
+ string (date-time) |
+ Timestamp when the device record was last updated. Updates occur when Okta collects and saves device signals during authentication, and when the lifecycle state of the device changes. |
+
+
+ |
+ object |
+ |
+
+
+ |
+ string |
+ |
+
+
+ |
+ object |
+ Display name of the device |
+
+
+ |
+ string |
+ Alternate key for the `id` |
+
+
+ |
+ string |
+ (default: UDDevice) |
+
+
+ |
+ string |
+ The state object of the device |
+
+
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Unique key for the device |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string (date-time) |
+ Timestamp when the device was created |
+
+
+ |
+ string (date-time) |
+ Timestamp when the device record was last updated. Updates occur when Okta collects and saves device signals during authentication, and when the lifecycle state of the device changes. |
+
+
+ |
+ object |
+ |
+
+
+ |
+ string |
+ |
+
+
+ |
+ object |
+ Display name of the device |
+
+
+ |
+ string |
+ Alternate key for the `id` |
+
+
+ |
+ string |
+ (default: UDDevice) |
+
+
+ |
+ string |
+ The state object of the device |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ after, limit, search, expand |
+ Lists all devices with pagination support.
>**Note:** To list all devices enrolled by a user, use the [List all devices endpoint in the User Resources API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserResources/#tag/UserResources/operation/listUserDevices).
You can return a subset of devices that match a supported search criteria using the `search` query parameter. Searches for devices based on the properties specified in the `search` parameter conforming SCIM filter specifications (case-insensitive). This data is eventually consistent. The API returns different results depending on specified queries in the request. Empty list is returned if no objects match `search` request. > **Note:** Listing devices with `search` should not be used as a part of any critical flow, such as authentication or updates, to prevent potential data loss. `search` results may not reflect the latest information, as this endpoint uses a search index which may not be up-to-date with recent updates to the object.
Don't use search results directly for record updates, as the data might be stale and therefore overwrite newer data, resulting in data loss.
Use an `id` lookup for records that you update to ensure your results contain the latest data.
This operation requires [URL encoding](https://www.w3.org/TR/html4/interact/forms.html#h-17.13.4.1). For example, `search=profile.displayName eq "Bob"` is encoded as `search=profile.displayName%20eq%20%22Bob%22`. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves a device by `deviceId` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes (permanently) a device by `deviceId` if it has a status of `DEACTIVATED`. You can transition the device to `DEACTIVATED` status using the [Deactivate a Device](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Device/#tag/Device/operation/deactivateDevice) endpoint. This request is destructive and deletes all of the profile data related to the device. Once deleted, device data can't be recovered. However, reenrollment creates a new device record. > **Note:** Attempts to delete a device that isn't in a `DEACTIVATED` state raise an error. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Activates a device by setting its status to `ACTIVE` by `deviceId`. Activated devices are used to create and delete device user links. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deactivates a device by setting its status to `DEACTIVATED` by `deviceId`. Deactivation causes a device to lose all device user links. Set the device status to `DEACTIVATED` before deleting it. > **Note:** When deactivating a Device, keep in mind the following: - Device deactivation is a destructive operation for device factors and client certificates. Device reenrollment using Okta Verify allows end users to set up new factors on the device. - Device deletion removes the device record from Okta. Reenrollment creates a new device record. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Suspends a device by setting its status to `SUSPENDED`. Use suspended devices to create and delete device user links. You can only unsuspend or deactivate suspended devices. > **Note:** `SUSPENDED` status is meant to be temporary, so it isn't destructive. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Unsuspends a device by returning its `status` to `ACTIVE`. >**Note:** Only devices with a `SUSPENDED` status can be unsuspended. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ |
+
+
+ |
+ string |
+ Includes associated user details and management status for the device in the `_embedded` attribute |
+
+
+ |
+ integer |
+ A limit on the number of objects to return (recommend `20`) |
+
+
+ |
+ string |
+ A SCIM filter expression that filters the results. Searches include all device `profile` properties and the device `id`, `status`, and `lastUpdated` properties. Searches for devices can be filtered by the contains (`co`) operator. You can only use `co` with these select device profile attributes: `profile.displayName`, `profile.serialNumber`, `profile.imei`, `profile.meid`, `profile.udid`, and `profile.sid`. See [Operators](https://developer.okta.com/docs/api/#operators). |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all devices with pagination support.
>**Note:** To list all devices enrolled by a user, use the [List all devices endpoint in the User Resources API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserResources/#tag/UserResources/operation/listUserDevices).
You can return a subset of devices that match a supported search criteria using the `search` query parameter.
Searches for devices based on the properties specified in the `search` parameter conforming SCIM filter specifications (case-insensitive). This data is eventually consistent. The API returns different results depending on specified queries in the request. Empty list is returned if no objects match `search` request.
> **Note:** Listing devices with `search` should not be used as a part of any critical flow, such as authentication or updates, to prevent potential data loss. `search` results may not reflect the latest information, as this endpoint uses a search index which may not be up-to-date with recent updates to the object.
Don't use search results directly for record updates, as the data might be stale and therefore overwrite newer data, resulting in data loss.
Use an `id` lookup for records that you update to ensure your results contain the latest data.
This operation requires [URL encoding](https://www.w3.org/TR/html4/interact/forms.html#h-17.13.4.1). For example, `search=profile.displayName eq "Bob"` is encoded as `search=profile.displayName%20eq%20%22Bob%22`.
+
+```sql
+SELECT
+id,
+_embedded,
+_links,
+created,
+lastUpdated,
+profile,
+resourceAlternateId,
+resourceDisplayName,
+resourceId,
+resourceType,
+status
+FROM okta.devices.devices
+WHERE subdomain = '{{ subdomain }}' -- required
+AND after = '{{ after }}'
+AND limit = '{{ limit }}'
+AND search = '{{ search }}'
+AND expand = '{{ expand }}';
+```
+
+
+
+Retrieves a device by `deviceId`
+
+```sql
+SELECT
+id,
+_links,
+created,
+lastUpdated,
+profile,
+resourceAlternateId,
+resourceDisplayName,
+resourceId,
+resourceType,
+status
+FROM okta.devices.devices
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes (permanently) a device by `deviceId` if it has a status of `DEACTIVATED`. You can transition the device to `DEACTIVATED` status using the [Deactivate a Device](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Device/#tag/Device/operation/deactivateDevice) endpoint.
This request is destructive and deletes all of the profile data related to the device. Once deleted, device data can't be recovered. However, reenrollment creates a new device record.
> **Note:** Attempts to delete a device that isn't in a `DEACTIVATED` state raise an error.
+
+```sql
+DELETE FROM okta.devices.devices
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
+
+
+## Lifecycle Methods
+
+
+
+
+Activates a device by setting its status to `ACTIVE` by `deviceId`.
Activated devices are used to create and delete device user links.
+
+```sql
+EXEC okta.devices.devices.activate_device
+@subdomain='{{ subdomain }}' --required;
+```
+
+
+
+Deactivates a device by setting its status to `DEACTIVATED` by `deviceId`.
Deactivation causes a device to lose all device user links. Set the device status to `DEACTIVATED` before deleting it.
> **Note:** When deactivating a Device, keep in mind the following:
- Device deactivation is a destructive operation for device factors and client certificates. Device reenrollment using Okta Verify allows end users to set up new factors on the device.
- Device deletion removes the device record from Okta. Reenrollment creates a new device record.
+
+```sql
+EXEC okta.devices.devices.deactivate_device
+@subdomain='{{ subdomain }}' --required;
+```
+
+
+
+Suspends a device by setting its status to `SUSPENDED`.
Use suspended devices to create and delete device user links. You can only unsuspend or deactivate suspended devices.
> **Note:** `SUSPENDED` status is meant to be temporary, so it isn't destructive.
+
+```sql
+EXEC okta.devices.devices.suspend_device
+@subdomain='{{ subdomain }}' --required;
+```
+
+
+
+Unsuspends a device by returning its `status` to `ACTIVE`.
>**Note:** Only devices with a `SUSPENDED` status can be unsuspended.
+
+```sql
+EXEC okta.devices.devices.unsuspend_device
+@subdomain='{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/devices/index.md b/website/docs/services/devices/index.md
new file mode 100644
index 0000000..db93814
--- /dev/null
+++ b/website/docs/services/devices/index.md
@@ -0,0 +1,33 @@
+---
+title: devices
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - devices
+ - okta
+ - stackql
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+devices service documentation.
+
+:::info[Service Summary]
+
+total resources: __2__
+
+:::
+
+## Resources
+
\ No newline at end of file
diff --git a/website/docs/services/directories/directories_integration/index.md b/website/docs/services/directories/directories_integration/index.md
new file mode 100644
index 0000000..90e8832
--- /dev/null
+++ b/website/docs/services/directories/directories_integration/index.md
@@ -0,0 +1,104 @@
+---
+title: directories_integration
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - directories_integration
+ - directories
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a directories_integration resource.
+
+## Overview
+
+| Name | directories_integration |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource.
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Updates an Active Directory group membership directly in Active Directory
> **Note:** See **Before you begin: Active Directory integration with the following setup** in the [Use Okta Access Certifications to manage AD group membership](https://help.okta.com/okta_help.htm?type=oie&id=ad-bidirectional-group-mgt-configure) product documentation. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `UPDATE` examples
+
+
+
+
+Updates an Active Directory group membership directly in Active Directory
> **Note:** See **Before you begin: Active Directory integration with the following setup** in the [Use Okta Access Certifications to manage AD group membership](https://help.okta.com/okta_help.htm?type=oie&id=ad-bidirectional-group-mgt-configure) product documentation.
+
+```sql
+UPDATE okta.directories.directories_integration
+SET
+data__id = '{{ id }}',
+data__parameters = '{{ parameters }}'
+WHERE
+subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/directories/index.md b/website/docs/services/directories/index.md
new file mode 100644
index 0000000..f8a976c
--- /dev/null
+++ b/website/docs/services/directories/index.md
@@ -0,0 +1,33 @@
+---
+title: directories
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - directories
+ - okta
+ - stackql
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+directories service documentation.
+
+:::info[Service Summary]
+
+total resources: __1__
+
+:::
+
+## Resources
+
\ No newline at end of file
diff --git a/website/docs/services/domains/custom_domains/index.md b/website/docs/services/domains/custom_domains/index.md
new file mode 100644
index 0000000..a61885f
--- /dev/null
+++ b/website/docs/services/domains/custom_domains/index.md
@@ -0,0 +1,396 @@
+---
+title: custom_domains
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - custom_domains
+ - domains
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a custom_domains resource.
+
+## Overview
+
+| Name | custom_domains |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ array |
+ Each element of the array defines an individual domain. |
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Unique ID of the domain (example: OcDz6iRyjkaCTXkdo0g3) |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ The ID number of the brand (example: bndul904tTZ6kWVhP0g3) |
+
+
+ |
+ string |
+ Certificate source type that indicates whether the certificate is provided by the user or Okta. |
+
+
+ |
+ array |
+ |
+
+
+ |
+ string |
+ Custom domain name (example: login.example.com) |
+
+
+ |
+ object |
+ Certificate metadata for the domain |
+
+
+ |
+ string |
+ Status of the domain (example: VERIFIED) |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all verified custom domains for the org |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves a custom domain by `domainId` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Creates your custom domain |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces a custom domain's brand |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes a custom domain by `domainId` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Upserts (creates or renews) the `MANUAL` certificate for the custom domain
> **Notes:** > * If the existing `certificateSourceType` is `OKTA_MANAGED`, this operation changes the source type to `MANUAL`. Okta no longer manages and renews certificates for this domain after you provide a user-managed certificate. > * Okta supports TLS certificates and private keys that are PEM-encoded and 2048, 3072, or 4096 bits. See the [Custom domain guide](https://developer.okta.com/docs/guides/custom-url-domain/main/) for more details. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Verifies the custom domain and validity of DNS records by `domainId`. Furthermore, if the `certificateSourceType` in the domain is `OKTA_MANAGED`, then an attempt is made to obtain and install a certificate. After a certificate is obtained and installed by Okta, Okta manages the certificate including certificate renewal. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all verified custom domains for the org
+
+```sql
+SELECT
+domains
+FROM okta.domains.custom_domains
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+Retrieves a custom domain by `domainId`
+
+```sql
+SELECT
+id,
+_links,
+brandId,
+certificateSourceType,
+dnsRecords,
+domain,
+publicCertificate,
+validationStatus
+FROM okta.domains.custom_domains
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Creates your custom domain
+
+```sql
+INSERT INTO okta.domains.custom_domains (
+data__certificateSourceType,
+data__domain,
+subdomain
+)
+SELECT
+'{{ certificateSourceType }}' --required,
+'{{ domain }}' --required,
+'{{ subdomain }}'
+RETURNING
+id,
+_links,
+brandId,
+certificateSourceType,
+dnsRecords,
+domain,
+publicCertificate,
+validationStatus
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: custom_domains
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the custom_domains resource.
+ - name: certificateSourceType
+ value: string
+ description: >
+ Certificate source type that indicates whether the certificate is provided by the user or Okta.
+
+ valid_values: ['MANUAL', 'OKTA_MANAGED']
+ - name: domain
+ value: string
+ description: >
+ Custom domain name
+
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces a custom domain's brand
+
+```sql
+REPLACE okta.domains.custom_domains
+SET
+data__brandId = '{{ brandId }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+AND data__brandId = '{{ brandId }}' --required
+RETURNING
+id,
+_links,
+brandId,
+certificateSourceType,
+dnsRecords,
+domain,
+publicCertificate,
+validationStatus;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes a custom domain by `domainId`
+
+```sql
+DELETE FROM okta.domains.custom_domains
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
+
+
+## Lifecycle Methods
+
+
+
+
+Upserts (creates or renews) the `MANUAL` certificate for the custom domain
> **Notes:**
> * If the existing `certificateSourceType` is `OKTA_MANAGED`, this operation changes the source type to `MANUAL`. Okta no longer manages and renews certificates for this domain after you provide a user-managed certificate.
> * Okta supports TLS certificates and private keys that are PEM-encoded and 2048, 3072, or 4096 bits. See the [Custom domain guide](https://developer.okta.com/docs/guides/custom-url-domain/main/) for more details.
+
+```sql
+EXEC okta.domains.custom_domains.upsert_certificate
+@subdomain='{{ subdomain }}' --required
+@@json=
+'{
+"certificate": "{{ certificate }}",
+"certificateChain": "{{ certificateChain }}",
+"privateKey": "{{ privateKey }}",
+"type": "{{ type }}"
+}';
+```
+
+
+
+Verifies the custom domain and validity of DNS records by `domainId`. Furthermore, if the `certificateSourceType` in the domain is `OKTA_MANAGED`, then an attempt is made to obtain and install a certificate. After a certificate is obtained and installed by Okta, Okta manages the certificate including certificate renewal.
+
+```sql
+EXEC okta.domains.custom_domains.verify_domain
+@subdomain='{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/domains/index.md b/website/docs/services/domains/index.md
new file mode 100644
index 0000000..bbddfde
--- /dev/null
+++ b/website/docs/services/domains/index.md
@@ -0,0 +1,33 @@
+---
+title: domains
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - domains
+ - okta
+ - stackql
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+domains service documentation.
+
+:::info[Service Summary]
+
+total resources: __1__
+
+:::
+
+## Resources
+
\ No newline at end of file
diff --git a/website/docs/services/email_domains/email_domains/index.md b/website/docs/services/email_domains/email_domains/index.md
new file mode 100644
index 0000000..e77b0d3
--- /dev/null
+++ b/website/docs/services/email_domains/email_domains/index.md
@@ -0,0 +1,323 @@
+---
+title: email_domains
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - email_domains
+ - email_domains
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists an email_domains resource.
+
+## Overview
+
+| Name | email_domains |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ |
+
+
+ |
+ string |
+ |
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ |
+
+
+ |
+ string |
+ |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all the Email Domains in your org |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves an Email Domain by `emailDomainId` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Creates an Email Domain in your org |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces associated username and sender display name by `emailDomainId` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes an Email Domain by `emailDomainId` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Verifies an Email Domain by `emailDomainId` |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all the Email Domains in your org
+
+```sql
+SELECT
+displayName,
+userName
+FROM okta.email_domains.email_domains
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+Retrieves an Email Domain by `emailDomainId`
+
+```sql
+SELECT
+displayName,
+userName
+FROM okta.email_domains.email_domains
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Creates an Email Domain in your org
+
+```sql
+INSERT INTO okta.email_domains.email_domains (
+data__displayName,
+data__userName,
+subdomain
+)
+SELECT
+'{{ displayName }}' --required,
+'{{ userName }}' --required,
+'{{ subdomain }}'
+RETURNING
+displayName,
+userName
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: email_domains
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the email_domains resource.
+ - name: displayName
+ value: string
+ - name: userName
+ value: string
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces associated username and sender display name by `emailDomainId`
+
+```sql
+REPLACE okta.email_domains.email_domains
+SET
+data__displayName = '{{ displayName }}',
+data__userName = '{{ userName }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+AND data__displayName = '{{ displayName }}' --required
+AND data__userName = '{{ userName }}' --required
+RETURNING
+displayName,
+userName;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes an Email Domain by `emailDomainId`
+
+```sql
+DELETE FROM okta.email_domains.email_domains
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
+
+
+## Lifecycle Methods
+
+
+
+
+Verifies an Email Domain by `emailDomainId`
+
+```sql
+EXEC okta.email_domains.email_domains.verify_email_domain
+@subdomain='{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/email_domains/index.md b/website/docs/services/email_domains/index.md
new file mode 100644
index 0000000..dc6e178
--- /dev/null
+++ b/website/docs/services/email_domains/index.md
@@ -0,0 +1,33 @@
+---
+title: email_domains
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - email_domains
+ - okta
+ - stackql
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+email_domains service documentation.
+
+:::info[Service Summary]
+
+total resources: __1__
+
+:::
+
+## Resources
+
\ No newline at end of file
diff --git a/website/docs/services/email_servers/email_servers/index.md b/website/docs/services/email_servers/email_servers/index.md
new file mode 100644
index 0000000..b83f50e
--- /dev/null
+++ b/website/docs/services/email_servers/email_servers/index.md
@@ -0,0 +1,358 @@
+---
+title: email_servers
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - email_servers
+ - email_servers
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists an email_servers resource.
+
+## Overview
+
+| Name | email_servers |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ array |
+ |
+
+
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ array |
+ |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all the enrolled custom SMTP server configurations |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves the specified custom SMTP server configuration |
+
+
+ |
+ |
+ subdomain |
+ |
+ Creates a custom email SMTP server configuration for your org |
+
+
+ |
+ |
+ subdomain |
+ |
+ Updates the specified custom SMTP server configuration |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes the specified custom SMTP server configuration |
+
+
+ |
+ |
+ subdomain |
+ |
+ Tests the specified custom SMTP Server configuration |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all the enrolled custom SMTP server configurations
+
+```sql
+SELECT
+email-servers
+FROM okta.email_servers.email_servers
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+Retrieves the specified custom SMTP server configuration
+
+```sql
+SELECT
+email-servers
+FROM okta.email_servers.email_servers
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Creates a custom email SMTP server configuration for your org
+
+```sql
+INSERT INTO okta.email_servers.email_servers (
+data__alias,
+data__enabled,
+data__host,
+data__port,
+data__username,
+data__password,
+subdomain
+)
+SELECT
+'{{ alias }}' --required,
+{{ enabled }},
+'{{ host }}' --required,
+{{ port }} --required,
+'{{ username }}' --required,
+'{{ password }}' --required,
+'{{ subdomain }}'
+RETURNING
+id,
+alias,
+enabled,
+host,
+port,
+username
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: email_servers
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the email_servers resource.
+ - name: alias
+ value: string
+ description: >
+ Human-readable name for your SMTP server
+
+ - name: enabled
+ value: boolean
+ description: >
+ If `true`, routes all email traffic through your SMTP server
+
+ - name: host
+ value: string
+ description: >
+ Hostname or IP address of your SMTP server
+
+ - name: port
+ value: integer
+ description: >
+ Port number of your SMTP server
+
+ - name: username
+ value: string
+ description: >
+ Username used to access your SMTP server
+
+ - name: password
+ value: string
+ description: >
+ Password used to access your SMTP server
+
+```
+
+
+
+
+## `UPDATE` examples
+
+
+
+
+Updates the specified custom SMTP server configuration
+
+```sql
+UPDATE okta.email_servers.email_servers
+SET
+data__alias = '{{ alias }}',
+data__enabled = {{ enabled }},
+data__host = '{{ host }}',
+data__port = {{ port }},
+data__username = '{{ username }}',
+data__password = '{{ password }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+id,
+alias,
+enabled,
+host,
+port,
+username;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes the specified custom SMTP server configuration
+
+```sql
+DELETE FROM okta.email_servers.email_servers
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
+
+
+## Lifecycle Methods
+
+
+
+
+Tests the specified custom SMTP Server configuration
+
+```sql
+EXEC okta.email_servers.email_servers.test_email_server
+@subdomain='{{ subdomain }}' --required
+@@json=
+'{
+"from": "{{ from }}",
+"to": "{{ to }}"
+}';
+```
+
+
diff --git a/website/docs/services/email_servers/index.md b/website/docs/services/email_servers/index.md
new file mode 100644
index 0000000..287fc9b
--- /dev/null
+++ b/website/docs/services/email_servers/index.md
@@ -0,0 +1,33 @@
+---
+title: email_servers
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - email_servers
+ - okta
+ - stackql
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+email_servers service documentation.
+
+:::info[Service Summary]
+
+total resources: __1__
+
+:::
+
+## Resources
+
\ No newline at end of file
diff --git a/website/docs/services/eventhooks/event_hooks/index.md b/website/docs/services/eventhooks/event_hooks/index.md
new file mode 100644
index 0000000..8e7ce26
--- /dev/null
+++ b/website/docs/services/eventhooks/event_hooks/index.md
@@ -0,0 +1,502 @@
+---
+title: event_hooks
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - event_hooks
+ - eventhooks
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists an event_hooks resource.
+
+## Overview
+
+| Name | event_hooks |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Unique key for the event hook |
+
+
+ |
+ string |
+ Display name for the event hook |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ object |
+ |
+
+
+ |
+ string (date-time) |
+ Timestamp of the event hook creation |
+
+
+ |
+ string |
+ The ID of the user who created the event hook |
+
+
+ |
+ string |
+ Description of the event hook |
+
+
+ |
+ object |
+ |
+
+
+ |
+ string (date-time) |
+ Date of the last event hook update |
+
+
+ |
+ string |
+ Status of the event hook |
+
+
+ |
+ string |
+ Verification status of the event hook. `UNVERIFIED` event hooks won't receive any events. |
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Unique key for the event hook |
+
+
+ |
+ string |
+ Display name for the event hook |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ object |
+ |
+
+
+ |
+ string (date-time) |
+ Timestamp of the event hook creation |
+
+
+ |
+ string |
+ The ID of the user who created the event hook |
+
+
+ |
+ string |
+ Description of the event hook |
+
+
+ |
+ object |
+ |
+
+
+ |
+ string (date-time) |
+ Date of the last event hook update |
+
+
+ |
+ string |
+ Status of the event hook |
+
+
+ |
+ string |
+ Verification status of the event hook. `UNVERIFIED` event hooks won't receive any events. |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all event hooks |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves an event hook |
+
+
+ |
+ |
+ subdomain |
+ |
+ Creates a new event hook for your organization in `ACTIVE` status. You pass an event hook object in the JSON payload of your request. That object represents the set of required information about the event hook you're registering, including: * The URI of your external service * The [events](https://developer.okta.com/docs/reference/api/event-types/) in Okta you want to subscribe to * An optional event hook filter that can reduce the number of event hook calls. This is a self-service Early Access (EA) feature. See [Create an event hook filter](https://developer.okta.com/docs/concepts/event-hooks/#create-an-event-hook-filter).
Additionally, you can specify a secret API key for Okta to pass to your external service endpoint for security verification. Note that the API key you set here is unrelated to the Okta API token you must supply when making calls to Okta APIs. Optionally, you can specify extra headers that Okta passes to your external service with each call. Your external service must use a valid HTTPS endpoint. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces an event hook. Okta validates the new properties before replacing the existing values. Some event hook properties are immutable and can't be updated. Refer to the parameter description in the request body schema.
>**Note:** Updating the `channel` property requires you to verify the hook again. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes the event hook that matches the provided `id`. After deletion, the event hook is unrecoverable. As a safety precaution, you can only delete event hooks with a status of `INACTIVE`. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Activates the event hook that matches the provided `id` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deactivates the event hook that matches the provided `id` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Verifies that the event hook matches the provided `eventHookId`. To verify ownership, your endpoint must send information back to Okta in JSON format. See [Event hooks](https://developer.okta.com/docs/concepts/event-hooks/#one-time-verification-request).
Only `ACTIVE` and `VERIFIED` event hooks can receive events from Okta.
If a response is not received within 3 seconds, the outbound request times out. One retry is attempted after a timeout or error response. If a successful response still isn't received, this operation returns a 400 error with more information about the failure. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all event hooks
+
+```sql
+SELECT
+id,
+name,
+_links,
+channel,
+created,
+createdBy,
+description,
+events,
+lastUpdated,
+status,
+verificationStatus
+FROM okta.eventhooks.event_hooks
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+Retrieves an event hook
+
+```sql
+SELECT
+id,
+name,
+_links,
+channel,
+created,
+createdBy,
+description,
+events,
+lastUpdated,
+status,
+verificationStatus
+FROM okta.eventhooks.event_hooks
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Creates a new event hook for your organization in `ACTIVE` status. You pass an event hook object in the JSON payload
of your request. That object represents the set of required information about the event hook you're registering, including:
* The URI of your external service
* The [events](https://developer.okta.com/docs/reference/api/event-types/) in Okta you want to subscribe to
* An optional event hook filter that can reduce the number of event hook calls. This is a self-service Early Access (EA) feature.
See [Create an event hook filter](https://developer.okta.com/docs/concepts/event-hooks/#create-an-event-hook-filter).
Additionally, you can specify a secret API key for Okta to pass to your external service endpoint for security verification. Note that the API key you set here is unrelated to the Okta API token
you must supply when making calls to Okta APIs. Optionally, you can specify extra headers that Okta passes to your external
service with each call.
Your external service must use a valid HTTPS endpoint.
+
+```sql
+INSERT INTO okta.eventhooks.event_hooks (
+data__channel,
+data__description,
+data__events,
+data__name,
+subdomain
+)
+SELECT
+'{{ channel }}' --required,
+'{{ description }}',
+'{{ events }}' --required,
+'{{ name }}' --required,
+'{{ subdomain }}'
+RETURNING
+id,
+name,
+_links,
+channel,
+created,
+createdBy,
+description,
+events,
+lastUpdated,
+status,
+verificationStatus
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: event_hooks
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the event_hooks resource.
+ - name: channel
+ value: object
+ - name: description
+ value: string
+ description: >
+ Description of the event hook
+
+ - name: events
+ value: object
+ - name: name
+ value: string
+ description: >
+ Display name for the event hook
+
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces an event hook. Okta validates the new properties before replacing the existing values.
Some event hook properties are immutable and can't be updated. Refer to the parameter description in the request body schema.
>**Note:** Updating the `channel` property requires you to verify the hook again.
+
+```sql
+REPLACE okta.eventhooks.event_hooks
+SET
+data__channel = '{{ channel }}',
+data__description = '{{ description }}',
+data__events = '{{ events }}',
+data__name = '{{ name }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+AND data__name = '{{ name }}' --required
+AND data__events = '{{ events }}' --required
+AND data__channel = '{{ channel }}' --required
+RETURNING
+id,
+name,
+_links,
+channel,
+created,
+createdBy,
+description,
+events,
+lastUpdated,
+status,
+verificationStatus;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes the event hook that matches the provided `id`. After deletion, the event hook is unrecoverable.
As a safety precaution, you can only delete event hooks with a status of `INACTIVE`.
+
+```sql
+DELETE FROM okta.eventhooks.event_hooks
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
+
+
+## Lifecycle Methods
+
+
+
+
+Activates the event hook that matches the provided `id`
+
+```sql
+EXEC okta.eventhooks.event_hooks.activate_event_hook
+@subdomain='{{ subdomain }}' --required;
+```
+
+
+
+Deactivates the event hook that matches the provided `id`
+
+```sql
+EXEC okta.eventhooks.event_hooks.deactivate_event_hook
+@subdomain='{{ subdomain }}' --required;
+```
+
+
+
+Verifies that the event hook matches the provided `eventHookId`. To verify ownership, your endpoint must send information back to Okta in JSON format. See [Event hooks](https://developer.okta.com/docs/concepts/event-hooks/#one-time-verification-request).
Only `ACTIVE` and `VERIFIED` event hooks can receive events from Okta.
If a response is not received within 3 seconds, the outbound request times out. One retry is attempted after a timeout or error response.
If a successful response still isn't received, this operation returns a 400 error with more information about the failure.
+
+```sql
+EXEC okta.eventhooks.event_hooks.verify_event_hook
+@subdomain='{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/eventhooks/index.md b/website/docs/services/eventhooks/index.md
new file mode 100644
index 0000000..5414faf
--- /dev/null
+++ b/website/docs/services/eventhooks/index.md
@@ -0,0 +1,33 @@
+---
+title: eventhooks
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - eventhooks
+ - okta
+ - stackql
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+eventhooks service documentation.
+
+:::info[Service Summary]
+
+total resources: __1__
+
+:::
+
+## Resources
+
\ No newline at end of file
diff --git a/website/docs/services/features/feature_dependencies/index.md b/website/docs/services/features/feature_dependencies/index.md
new file mode 100644
index 0000000..0813f71
--- /dev/null
+++ b/website/docs/services/features/feature_dependencies/index.md
@@ -0,0 +1,164 @@
+---
+title: feature_dependencies
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - feature_dependencies
+ - features
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a feature_dependencies resource.
+
+## Overview
+
+| Name | feature_dependencies |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Unique identifier for this feature |
+
+
+ |
+ string |
+ Name of the feature |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ Brief description of the feature and what it provides |
+
+
+ |
+ object |
+ Current release cycle stage of a feature If a feature's stage value is `EA`, the state is `null` and not returned. If the value is `BETA`, the state is `OPEN` or `CLOSED` depending on whether the `BETA` feature is manageable. > **Note:** If a feature's stage is `OPEN BETA`, you can update it only in Preview cells. If a feature's stage is `CLOSED BETA`, you can disable it only in Preview cells. |
+
+
+ |
+ string |
+ Setting status |
+
+
+ |
+ string |
+ Type of feature |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all feature dependencies for a specified feature.
A feature's dependencies are the features that it requires to be enabled in order for itself to be enabled. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all feature dependencies for a specified feature.
A feature's dependencies are the features that it requires to be enabled in order for itself to be enabled.
+
+```sql
+SELECT
+id,
+name,
+_links,
+description,
+stage,
+status,
+type
+FROM okta.features.feature_dependencies
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
diff --git a/website/docs/services/features/feature_dependents/index.md b/website/docs/services/features/feature_dependents/index.md
new file mode 100644
index 0000000..4afe161
--- /dev/null
+++ b/website/docs/services/features/feature_dependents/index.md
@@ -0,0 +1,164 @@
+---
+title: feature_dependents
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - feature_dependents
+ - features
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a feature_dependents resource.
+
+## Overview
+
+| Name | feature_dependents |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Unique identifier for this feature |
+
+
+ |
+ string |
+ Name of the feature |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ Brief description of the feature and what it provides |
+
+
+ |
+ object |
+ Current release cycle stage of a feature If a feature's stage value is `EA`, the state is `null` and not returned. If the value is `BETA`, the state is `OPEN` or `CLOSED` depending on whether the `BETA` feature is manageable. > **Note:** If a feature's stage is `OPEN BETA`, you can update it only in Preview cells. If a feature's stage is `CLOSED BETA`, you can disable it only in Preview cells. |
+
+
+ |
+ string |
+ Setting status |
+
+
+ |
+ string |
+ Type of feature |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all feature dependents for the specified feature.
A feature's dependents are the features that need to be disabled in order for the feature itself to be disabled. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all feature dependents for the specified feature.
A feature's dependents are the features that need to be disabled in order for the feature itself to be disabled.
+
+```sql
+SELECT
+id,
+name,
+_links,
+description,
+stage,
+status,
+type
+FROM okta.features.feature_dependents
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
diff --git a/website/docs/services/features/features/index.md b/website/docs/services/features/features/index.md
new file mode 100644
index 0000000..3c393d7
--- /dev/null
+++ b/website/docs/services/features/features/index.md
@@ -0,0 +1,274 @@
+---
+title: features
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - features
+ - features
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a features resource.
+
+## Overview
+
+| Name | features |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Unique identifier for this feature |
+
+
+ |
+ string |
+ Name of the feature |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ Brief description of the feature and what it provides |
+
+
+ |
+ object |
+ Current release cycle stage of a feature If a feature's stage value is `EA`, the state is `null` and not returned. If the value is `BETA`, the state is `OPEN` or `CLOSED` depending on whether the `BETA` feature is manageable. > **Note:** If a feature's stage is `OPEN BETA`, you can update it only in Preview cells. If a feature's stage is `CLOSED BETA`, you can disable it only in Preview cells. |
+
+
+ |
+ string |
+ Setting status |
+
+
+ |
+ string |
+ Type of feature |
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Unique identifier for this feature |
+
+
+ |
+ string |
+ Name of the feature |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ Brief description of the feature and what it provides |
+
+
+ |
+ object |
+ Current release cycle stage of a feature If a feature's stage value is `EA`, the state is `null` and not returned. If the value is `BETA`, the state is `OPEN` or `CLOSED` depending on whether the `BETA` feature is manageable. > **Note:** If a feature's stage is `OPEN BETA`, you can update it only in Preview cells. If a feature's stage is `CLOSED BETA`, you can disable it only in Preview cells. |
+
+
+ |
+ string |
+ Setting status |
+
+
+ |
+ string |
+ Type of feature |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all self-service features for your org |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves a feature by ID |
+
+
+ |
+ |
+ subdomain |
+ mode |
+ Updates a feature's lifecycle status. Use this endpoint to enable or disable a feature for your org.
Use the `mode=force` parameter to override dependency restrictions for a particular feature. Normally, you can't enable a feature if it has one or more dependencies that aren't enabled.
When you use the `mode=force` parameter while enabling a feature, Okta first tries to enable any disabled features that this feature may have as dependencies. If you don't pass the `mode=force` parameter and the feature has dependencies that need to be enabled before the feature is enabled, a 400 error is returned.
When you use the `mode=force` parameter while disabling a feature, Okta first tries to disable any enabled features that this feature may have as dependents. If you don't pass the `mode=force` parameter and the feature has dependents that need to be disabled before the feature is disabled, a 400 error is returned.
The following chart shows the different state transitions for a feature.
 |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ Indicates if you want to force enable or disable a feature. Supported value is `force`. |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all self-service features for your org
+
+```sql
+SELECT
+id,
+name,
+_links,
+description,
+stage,
+status,
+type
+FROM okta.features.features
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+Retrieves a feature by ID
+
+```sql
+SELECT
+id,
+name,
+_links,
+description,
+stage,
+status,
+type
+FROM okta.features.features
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## Lifecycle Methods
+
+
+
+
+Updates a feature's lifecycle status. Use this endpoint to enable or disable a feature for your org.
Use the `mode=force` parameter to override dependency restrictions for a particular feature. Normally, you can't enable a feature if it has one or more dependencies that aren't enabled.
When you use the `mode=force` parameter while enabling a feature, Okta first tries to enable any disabled features that this feature may have as dependencies. If you don't pass the `mode=force` parameter and the feature has dependencies that need to be enabled before the feature is enabled, a 400 error is returned.
When you use the `mode=force` parameter while disabling a feature, Okta first tries to disable any enabled features that this feature may have as dependents. If you don't pass the `mode=force` parameter and the feature has dependents that need to be disabled before the feature is disabled, a 400 error is returned.
The following chart shows the different state transitions for a feature.

+
+```sql
+EXEC okta.features.features.update_feature_lifecycle
+@subdomain='{{ subdomain }}' --required,
+@mode='{{ mode }}';
+```
+
+
diff --git a/website/docs/services/features/index.md b/website/docs/services/features/index.md
new file mode 100644
index 0000000..2c25bbd
--- /dev/null
+++ b/website/docs/services/features/index.md
@@ -0,0 +1,34 @@
+---
+title: features
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - features
+ - okta
+ - stackql
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+features service documentation.
+
+:::info[Service Summary]
+
+total resources: __3__
+
+:::
+
+## Resources
+
\ No newline at end of file
diff --git a/website/docs/services/first_party_app_settings/first_party_app_settings/index.md b/website/docs/services/first_party_app_settings/first_party_app_settings/index.md
new file mode 100644
index 0000000..9f9c002
--- /dev/null
+++ b/website/docs/services/first_party_app_settings/first_party_app_settings/index.md
@@ -0,0 +1,166 @@
+---
+title: first_party_app_settings
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - first_party_app_settings
+ - first_party_app_settings
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a first_party_app_settings resource.
+
+## Overview
+
+| Name | first_party_app_settings |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ integer |
+ The maximum idle time before the Okta Admin Console session expires. Must be no more than 12 hours. |
+
+
+ |
+ integer |
+ The absolute maximum session lifetime of the Okta Admin Console. Must be no more than 7 days. |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves the settings for an Okta app (also known as an Okta first-party app) |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces the settings for an Okta app (also known as an Okta first-party app) |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Retrieves the settings for an Okta app (also known as an Okta first-party app)
+
+```sql
+SELECT
+sessionIdleTimeoutMinutes,
+sessionMaxLifetimeMinutes
+FROM okta.first_party_app_settings.first_party_app_settings
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces the settings for an Okta app (also known as an Okta first-party app)
+
+```sql
+REPLACE okta.first_party_app_settings.first_party_app_settings
+SET
+data__sessionIdleTimeoutMinutes = {{ sessionIdleTimeoutMinutes }},
+data__sessionMaxLifetimeMinutes = {{ sessionMaxLifetimeMinutes }}
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+sessionIdleTimeoutMinutes,
+sessionMaxLifetimeMinutes;
+```
+
+
diff --git a/website/docs/services/first_party_app_settings/index.md b/website/docs/services/first_party_app_settings/index.md
new file mode 100644
index 0000000..4cbba2b
--- /dev/null
+++ b/website/docs/services/first_party_app_settings/index.md
@@ -0,0 +1,33 @@
+---
+title: first_party_app_settings
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - first_party_app_settings
+ - okta
+ - stackql
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+first_party_app_settings service documentation.
+
+:::info[Service Summary]
+
+total resources: __1__
+
+:::
+
+## Resources
+
\ No newline at end of file
diff --git a/website/docs/services/groups/app_instance_targets/index.md b/website/docs/services/groups/app_instance_targets/index.md
new file mode 100644
index 0000000..fae464c
--- /dev/null
+++ b/website/docs/services/groups/app_instance_targets/index.md
@@ -0,0 +1,130 @@
+---
+title: app_instance_targets
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - app_instance_targets
+ - groups
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists an app_instance_targets resource.
+
+## Overview
+
+| Name | app_instance_targets |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource.
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Assigns an app instance target to an `APP_ADMIN` role assignment to a group. When you assign the first OIN app or app instance target, you reduce the scope of the role assignment. The role no longer applies to all app targets, but applies only to the specified target.
> **Note:** You can target a mixture of both OIN app and app instance targets, but you can't assign permissions to manage all instances of an OIN app and then assign a subset of permissions to the same app. > For example, you can't specify that an admin has access to manage all instances of the Salesforce app and then also manage specific configurations of the Salesforce app. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Unassigns an app instance target from an `APP_ADMIN` role assignment to a group
> **Note:** You can't remove the last app instance target from a role assignment. > If you need a role assignment that applies to all apps, delete the `APP_ADMIN` role assignment with the target and create another one. See [Unassign a group role](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/RoleAssignmentBGroup/#tag/RoleAssignmentBGroup/operation/unassignRoleFromGroup). |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Assigns an app instance target to an `APP_ADMIN` role assignment to a group. When you assign the first OIN app or app instance target, you reduce the scope of the role assignment.
The role no longer applies to all app targets, but applies only to the specified target.
> **Note:** You can target a mixture of both OIN app and app instance targets, but you can't assign permissions to manage all instances of an OIN app and then assign a subset of permissions to the same app.
> For example, you can't specify that an admin has access to manage all instances of the Salesforce app and then also manage specific configurations of the Salesforce app.
+
+```sql
+REPLACE okta.groups.app_instance_targets
+SET
+-- No updatable properties
+WHERE
+subdomain = '{{ subdomain }}' --required;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Unassigns an app instance target from an `APP_ADMIN` role assignment to a group
> **Note:** You can't remove the last app instance target from a role assignment.
> If you need a role assignment that applies to all apps, delete the `APP_ADMIN` role assignment with the target and create another one. See [Unassign a group role](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/RoleAssignmentBGroup/#tag/RoleAssignmentBGroup/operation/unassignRoleFromGroup).
+
+```sql
+DELETE FROM okta.groups.app_instance_targets
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/groups/app_targets/index.md b/website/docs/services/groups/app_targets/index.md
new file mode 100644
index 0000000..730b692
--- /dev/null
+++ b/website/docs/services/groups/app_targets/index.md
@@ -0,0 +1,263 @@
+---
+title: app_targets
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - app_targets
+ - groups
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists an app_targets resource.
+
+## Overview
+
+| Name | app_targets |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ ID of the app instance. Okta returns this property only for apps not in the OIN catalog. |
+
+
+ |
+ string |
+ App key name. For OIN catalog apps, this is a unique key for the app definition. |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification |
+
+
+ |
+ string |
+ Category for the app in the OIN catalog (example: SOCIAL) |
+
+
+ |
+ string |
+ Description of the app in the OIN catalog |
+
+
+ |
+ string |
+ OIN catalog app display name |
+
+
+ |
+ array |
+ Features supported by the app. See app [features](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Application/#tag/Application/operation/listApplications!c=200&path=0/features&t=response). |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was last updated (example: 2024-09-19T23:37:37.000Z) |
+
+
+ |
+ array |
+ Authentication mode for the app. See app [signOnMode](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Application/#tag/Application/operation/listApplications!c=200&path=0/signOnMode&t=response). |
+
+
+ |
+ string |
+ App status |
+
+
+ |
+ string |
+ OIN verification status of the catalog app (example: OKTA_VERIFIED) |
+
+
+ |
+ string |
+ Website of the OIN catalog app |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ after, limit |
+ Lists all app targets for an `APP_ADMIN` role assignment to a group. The response includes a list of OIN-cataloged apps or app instances. The response payload for an app instance contains the `id` property, but an OIN-cataloged app doesn't. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Assigns an OIN app target to an `APP_ADMIN` role assignment to a group. When you assign the first OIN app target, you reduce the scope of the role assignment. The role no longer applies to all app targets, but applies only to the specified target. An OIN app target that's assigned to the role overrides any existing instance targets of the OIN app. For example, if a user is assigned to administer a specific Facebook instance, a successful request to add an OIN app with `facebook` for `appName` makes that user the administrator for all Facebook instances. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Unassigns an OIN app target from an `APP_ADMIN` role assignment to a group
> **Note:** You can't remove the last app target from a role assignment. > If you need a role assignment that applies to all apps, delete the `APP_ADMIN` role assignment with the target and create another one. See [Unassign a group role](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/RoleAssignmentBGroup/#tag/RoleAssignmentBGroup/operation/unassignRoleFromGroup).
|
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ The cursor to use for pagination. It is an opaque string that specifies your current location in the list and is obtained from the `Link` response header. See [Pagination](https://developer.okta.com/docs/api/#pagination). |
+
+
+ |
+ integer |
+ A limit on the number of objects to return |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all app targets for an `APP_ADMIN` role assignment to a group. The response includes a list of OIN-cataloged apps or app instances. The response payload for an app instance contains the `id` property, but an OIN-cataloged app doesn't.
+
+```sql
+SELECT
+id,
+name,
+_links,
+category,
+description,
+displayName,
+features,
+lastUpdated,
+signOnModes,
+status,
+verificationStatus,
+website
+FROM okta.groups.app_targets
+WHERE subdomain = '{{ subdomain }}' -- required
+AND after = '{{ after }}'
+AND limit = '{{ limit }}';
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Assigns an OIN app target to an `APP_ADMIN` role assignment to a group. When you assign the first OIN app target, you reduce the scope of the role assignment. The role no longer applies to all app targets, but applies only to the specified target. An OIN app target that's assigned to the role overrides any existing instance targets of the OIN app. For example, if a user is assigned to administer a specific Facebook instance, a successful request to add an OIN app with `facebook` for `appName` makes that user the administrator for all Facebook instances.
+
+```sql
+REPLACE okta.groups.app_targets
+SET
+-- No updatable properties
+WHERE
+subdomain = '{{ subdomain }}' --required;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Unassigns an OIN app target from an `APP_ADMIN` role assignment to a group
> **Note:** You can't remove the last app target from a role assignment.
> If you need a role assignment that applies to all apps, delete the `APP_ADMIN` role assignment with the target and create another one. See [Unassign a group role](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/RoleAssignmentBGroup/#tag/RoleAssignmentBGroup/operation/unassignRoleFromGroup).
+
+```sql
+DELETE FROM okta.groups.app_targets
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/groups/assigned_apps/index.md b/website/docs/services/groups/assigned_apps/index.md
new file mode 100644
index 0000000..b56b7fc
--- /dev/null
+++ b/website/docs/services/groups/assigned_apps/index.md
@@ -0,0 +1,224 @@
+---
+title: assigned_apps
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - assigned_apps
+ - groups
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists an assigned_apps resource.
+
+## Overview
+
+| Name | assigned_apps |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Unique ID for the app instance |
+
+
+ |
+ object |
+ Embedded resources related to the app using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. If the `expand=user/{userId}` query parameter is specified, then the assigned [Application User](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/ApplicationUsers/) is embedded. |
+
+
+ |
+ object |
+ Discoverable resources related to the app |
+
+
+ |
+ object |
+ Specifies access settings for the app |
+
+
+ |
+ string (date-time) |
+ Timestamp when the application object was created |
+
+
+ |
+ array |
+ Enabled app features > **Note:** See [Application Features](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/ApplicationFeatures/) for app provisioning features. |
+
+
+ |
+ string |
+ User-defined display name for app |
+
+
+ |
+ string (date-time) |
+ Timestamp when the application object was last updated |
+
+
+ |
+ object |
+ Licenses for the app |
+
+
+ |
+ string |
+ The Okta resource name (ORN) for the current app instance |
+
+
+ |
+ object |
+ Contains any valid JSON schema for specifying properties that can be referenced from a request (only available to OAuth 2.0 client apps). For example, add an app manager contact email address or define an allowlist of groups that you can then reference using the Okta Expression Language `getFilteredGroups` function. > **Notes:** > * `profile` isn't encrypted, so don't store sensitive data in it. > * `profile` doesn't limit the level of nesting in the JSON schema you created, but there is a practical size limit. Okta recommends a JSON schema size of 1 MB or less for best performance. |
+
+
+ |
+ string |
+ Authentication mode for the app | signOnMode | Description | | ---------- | ----------- | | AUTO_LOGIN | Secure Web Authentication (SWA) | | BASIC_AUTH | HTTP Basic Authentication with Okta Browser Plugin | | BOOKMARK | Just a bookmark (no-authentication) | | BROWSER_PLUGIN | Secure Web Authentication (SWA) with Okta Browser Plugin | | OPENID_CONNECT | Federated Authentication with OpenID Connect (OIDC) | | SAML_1_1 | Federated Authentication with SAML 1.1 WebSSO (not supported for custom apps) | | SAML_2_0 | Federated Authentication with SAML 2.0 WebSSO | | SECURE_PASSWORD_STORE | Secure Web Authentication (SWA) with POST (plugin not required) | | WS_FEDERATION | Federated Authentication with WS-Federation Passive Requestor Profile | Select the `signOnMode` for your custom app: |
+
+
+ |
+ string |
+ App instance status |
+
+
+ |
+ object |
+ <div class="x-lifecycle-container"><x-lifecycle class="oie"></x-lifecycle></div> Universal Logout properties for the app. These properties are only returned and can't be updated. (example: ACTIVE) |
+
+
+ |
+ object |
+ Specifies visibility settings for the app |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ after, limit |
+ Lists all apps that are assigned to a group. See [Application Groups API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/ApplicationGroups/). |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ Specifies the pagination cursor for the next page of apps |
+
+
+ |
+ integer (int32) |
+ Specifies the number of app results for a page |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all apps that are assigned to a group. See [Application Groups API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/ApplicationGroups/).
+
+```sql
+SELECT
+id,
+_embedded,
+_links,
+accessibility,
+created,
+features,
+label,
+lastUpdated,
+licensing,
+orn,
+profile,
+signOnMode,
+status,
+universalLogout,
+visibility
+FROM okta.groups.assigned_apps
+WHERE subdomain = '{{ subdomain }}' -- required
+AND after = '{{ after }}'
+AND limit = '{{ limit }}';
+```
+
+
diff --git a/website/docs/services/groups/assigned_roles/index.md b/website/docs/services/groups/assigned_roles/index.md
new file mode 100644
index 0000000..1cdbd0a
--- /dev/null
+++ b/website/docs/services/groups/assigned_roles/index.md
@@ -0,0 +1,245 @@
+---
+title: assigned_roles
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - assigned_roles
+ - groups
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists an assigned_roles resource.
+
+## Overview
+
+| Name | assigned_roles |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ expand |
+ Lists all assigned roles of a group by `groupId` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves a role assigned to a group (identified by the `groupId`). The `roleAssignmentId` is the unique identifier for either a standard role group assignment object or a custom role resource set binding object. |
+
+
+ |
+ |
+ subdomain |
+ disableNotifications |
+ Assigns a [standard role](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/guides/roles/#standard-roles) to a group.
You can also assign a custom role to a group, but the preferred method to assign a custom role to a group is to create a binding between the custom role, the resource set, and the group. See [Create a role resource set binding](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/RoleDResourceSetBinding/#tag/RoleDResourceSetBinding/operation/createResourceSetBinding).
> **Notes:** > * The request payload is different for standard and custom role assignments. > * For IAM-based standard role assignments, use the request payload for standard roles. However, the response payload for IAM-based role assignments is similar to the custom role's assignment response. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Unassigns a role assignment (identified by `roleAssignmentId`) from a group (identified by the `groupId`) |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ boolean |
+ Grants the group third-party admin status when set to `true` |
+
+
+ |
+ string |
+ An optional parameter used to return targets configured for the standard role assignment in the `embedded` property. Supported values: `targets/groups` or `targets/catalog/apps` |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all assigned roles of a group by `groupId`
+
+```sql
+SELECT
+*
+FROM okta.groups.assigned_roles
+WHERE subdomain = '{{ subdomain }}' -- required
+AND expand = '{{ expand }}';
+```
+
+
+
+Retrieves a role assigned to a group (identified by the `groupId`). The `roleAssignmentId` is the unique identifier for either a standard role group assignment object or a custom role resource set binding object.
+
+```sql
+SELECT
+*
+FROM okta.groups.assigned_roles
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Assigns a [standard role](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/guides/roles/#standard-roles) to a group.
You can also assign a custom role to a group, but the preferred method to assign a custom role to a group is to create a binding between the custom role, the resource set, and the group. See [Create a role resource set binding](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/RoleDResourceSetBinding/#tag/RoleDResourceSetBinding/operation/createResourceSetBinding).
> **Notes:**
> * The request payload is different for standard and custom role assignments.
> * For IAM-based standard role assignments, use the request payload for standard roles. However, the response payload for IAM-based role assignments is similar to the custom role's assignment response.
+
+```sql
+INSERT INTO okta.groups.assigned_roles (
+subdomain,
+disableNotifications
+)
+SELECT
+'{{ subdomain }}',
+'{{ disableNotifications }}'
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: assigned_roles
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the assigned_roles resource.
+ - name: disableNotifications
+ value: boolean
+ description: Grants the group third-party admin status when set to `true`
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Unassigns a role assignment (identified by `roleAssignmentId`) from a group (identified by the `groupId`)
+
+```sql
+DELETE FROM okta.groups.assigned_roles
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/groups/group_targets/index.md b/website/docs/services/groups/group_targets/index.md
new file mode 100644
index 0000000..0539905
--- /dev/null
+++ b/website/docs/services/groups/group_targets/index.md
@@ -0,0 +1,245 @@
+---
+title: group_targets
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - group_targets
+ - groups
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a group_targets resource.
+
+## Overview
+
+| Name | group_targets |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Unique ID for the group (example: 0gabcd1234) |
+
+
+ |
+ object |
+ Embedded resources related to the group |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string (date-time) |
+ Timestamp when the group was created |
+
+
+ |
+ string (date-time) |
+ Timestamp when the groups memberships were last updated |
+
+
+ |
+ string (date-time) |
+ Timestamp when the group's profile was last updated |
+
+
+ |
+ array |
+ Determines the group's `profile` |
+
+
+ |
+ |
+ Specifies required and optional properties for a group. The `objectClass` of a group determines which additional properties are available. You can extend group profiles with custom properties, but you must first add the properties to the group profile schema before you can reference them. Use the Profile Editor in the Admin Console or the [Schemas API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Schema/)to manage schema extensions. Custom properties can contain HTML tags. It is the client's responsibility to escape or encode this data before displaying it. Use [best-practices](https://cheatsheetseries.owasp.org/cheatsheets/Cross_Site_Scripting_Prevention_Cheat_Sheet.html) to prevent cross-site scripting. |
+
+
+ |
+ string |
+ Determines how a group's profile and memberships are managed |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ after, limit |
+ Lists all group targets for a [`USER_ADMIN`](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/guides/roles/#standard-roles), `HELP_DESK_ADMIN`, or `GROUP_MEMBERSHIP_ADMIN` role assignment to a group. If the role isn't scoped to specific group targets, Okta returns an empty array `[]`. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Assigns a group target to a [`USER_ADMIN`](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/guides/roles/#standard-roles), `HELP_DESK_ADMIN`, or `GROUP_MEMBERSHIP_ADMIN` role assignment to a group. When you assign the first group target, you reduce the scope of the role assignment. The role no longer applies to all targets but applies only to the specified target. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Unassigns a group target from a [`USER_ADMIN`](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/guides/roles/#standard-roles), `HELP_DESK_ADMIN`, or `GROUP_MEMBERSHIP_ADMIN` role assignment to a group. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ The cursor to use for pagination. It is an opaque string that specifies your current location in the list and is obtained from the `Link` response header. See [Pagination](https://developer.okta.com/docs/api/#pagination). |
+
+
+ |
+ integer |
+ A limit on the number of objects to return |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all group targets for a [`USER_ADMIN`](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/guides/roles/#standard-roles), `HELP_DESK_ADMIN`, or `GROUP_MEMBERSHIP_ADMIN` role assignment to a group.
If the role isn't scoped to specific group targets, Okta returns an empty array `[]`.
+
+```sql
+SELECT
+id,
+_embedded,
+_links,
+created,
+lastMembershipUpdated,
+lastUpdated,
+objectClass,
+profile,
+type
+FROM okta.groups.group_targets
+WHERE subdomain = '{{ subdomain }}' -- required
+AND after = '{{ after }}'
+AND limit = '{{ limit }}';
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Assigns a group target to a [`USER_ADMIN`](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/guides/roles/#standard-roles), `HELP_DESK_ADMIN`, or `GROUP_MEMBERSHIP_ADMIN` role assignment to a group.
When you assign the first group target, you reduce the scope of the role assignment. The role no longer applies to all targets but applies only to the specified target.
+
+```sql
+REPLACE okta.groups.group_targets
+SET
+-- No updatable properties
+WHERE
+subdomain = '{{ subdomain }}' --required;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Unassigns a group target from a [`USER_ADMIN`](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/guides/roles/#standard-roles), `HELP_DESK_ADMIN`, or `GROUP_MEMBERSHIP_ADMIN` role assignment to a group.
+
+```sql
+DELETE FROM okta.groups.group_targets
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/groups/groups/index.md b/website/docs/services/groups/groups/index.md
new file mode 100644
index 0000000..358cbd9
--- /dev/null
+++ b/website/docs/services/groups/groups/index.md
@@ -0,0 +1,443 @@
+---
+title: groups
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - groups
+ - groups
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a groups resource.
+
+## Overview
+
+| Name | groups |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Unique ID for the group (example: 0gabcd1234) |
+
+
+ |
+ object |
+ Embedded resources related to the group |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string (date-time) |
+ Timestamp when the group was created |
+
+
+ |
+ string (date-time) |
+ Timestamp when the groups memberships were last updated |
+
+
+ |
+ string (date-time) |
+ Timestamp when the group's profile was last updated |
+
+
+ |
+ array |
+ Determines the group's `profile` |
+
+
+ |
+ |
+ Specifies required and optional properties for a group. The `objectClass` of a group determines which additional properties are available. You can extend group profiles with custom properties, but you must first add the properties to the group profile schema before you can reference them. Use the Profile Editor in the Admin Console or the [Schemas API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Schema/)to manage schema extensions. Custom properties can contain HTML tags. It is the client's responsibility to escape or encode this data before displaying it. Use [best-practices](https://cheatsheetseries.owasp.org/cheatsheets/Cross_Site_Scripting_Prevention_Cheat_Sheet.html) to prevent cross-site scripting. |
+
+
+ |
+ string |
+ Determines how a group's profile and memberships are managed |
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Unique ID for the group (example: 0gabcd1234) |
+
+
+ |
+ object |
+ Embedded resources related to the group |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string (date-time) |
+ Timestamp when the group was created |
+
+
+ |
+ string (date-time) |
+ Timestamp when the groups memberships were last updated |
+
+
+ |
+ string (date-time) |
+ Timestamp when the group's profile was last updated |
+
+
+ |
+ array |
+ Determines the group's `profile` |
+
+
+ |
+ |
+ Specifies required and optional properties for a group. The `objectClass` of a group determines which additional properties are available. You can extend group profiles with custom properties, but you must first add the properties to the group profile schema before you can reference them. Use the Profile Editor in the Admin Console or the [Schemas API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Schema/)to manage schema extensions. Custom properties can contain HTML tags. It is the client's responsibility to escape or encode this data before displaying it. Use [best-practices](https://cheatsheetseries.owasp.org/cheatsheets/Cross_Site_Scripting_Prevention_Cheat_Sheet.html) to prevent cross-site scripting. |
+
+
+ |
+ string |
+ Determines how a group's profile and memberships are managed |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ search, filter, q, after, limit, expand, sortBy, sortOrder |
+ Lists all groups with pagination support.
> **Note:** To list all groups belonging to a member, use the [List all groups endpoint in the User Resources API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserResources/#tag/UserResources/operation/listUserGroups).
The number of groups returned depends on the specified [`limit`](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Group/#tag/Group/operation/listGroups!in=query&path=limit&t=request), if you have a search, filter, and/or query parameter set, and if that parameter is not null. We recommend using a limit less than or equal to 200.
A subset of groups can be returned that match a supported filter expression, query, or search criteria.
> **Note:** Results from the filter or query parameter are driven from an eventually consistent datasource. The synchronization lag is typically less than one second. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves a specific group by `id` from your org |
+
+
+ |
+ |
+ subdomain |
+ |
+ Adds a new group with the `OKTA_GROUP` type to your org. > **Note:** App import operations are responsible for syncing groups with `APP_GROUP` type such as Active Directory groups. See [About groups](https://help.okta.com/okta_help.htm?id=Directory_Groups) in the help documentation. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces the profile for a group of `OKTA_GROUP` type from your org. > **Note :** You only can modify profiles for groups of the `OKTA_GROUP` type. > > App imports are responsible for updating profiles for groups of the `APP_GROUP` type, such as Active Directory groups. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes a group of the `OKTA_GROUP` or `APP_GROUP` type from your org. > **Note:** You can't remove groups of type `APP_GROUP` if they are used in a group push mapping. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ Specifies the pagination cursor for the next page of groups. The `after` cursor should be treated as an opaque value and obtained through the next link relation. See [Pagination](https://developer.okta.com/docs/api/#pagination). |
+
+
+ |
+ string |
+ If specified, additional metadata is included in the response. Possible values are `stats` and `app`. This additional metadata is listed in the [`_embedded`](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Group/#tag/Group/operation/addGroup!c=200&path=_embedded&t=response) property of the response. > **Note:** You can use the `stats` value to return the number of users within a group. This is listed as the `_embedded.stats.usersCount` value in the response. See this [Knowledge Base article](https://support.okta.com/help/s/article/Is-there-an-API-that-returns-the-number-of-users-in-a-group?language=en_US) for more information and an example. |
+
+
+ |
+ string |
+ Filter expression for groups. See [Filter](https://developer.okta.com/docs/api/#filter). > **Note:** All filters must be [URL encoded](https://developer.mozilla.org/en-US/docs/Glossary/Percent-encoding). For example, `filter=lastUpdated gt "2013-06-01T00:00:00.000Z"` is encoded as `filter=lastUpdated%20gt%20%222013-06-01T00:00:00.000Z%22`. |
+
+
+ |
+ integer (int32) |
+ Specifies the number of group results in a page. Okta recommends using a specific value other than the default or maximum. If your request times out, retry your request with a smaller `limit` and [page the results](https://developer.okta.com/docs/api/#pagination). The Okta default `Everyone` group isn't returned for users with a group admin role. |
+
+
+ |
+ string |
+ Finds a group that matches the `name` property. > **Note:** Paging and searching are currently mutually exclusive. You can't page a query. The default limit for a query is 300 results. Query is intended for an auto-complete picker use case where users refine their search string to constrain the results. |
+
+
+ |
+ string |
+ Searches for groups with a supported [filtering](https://developer.okta.com/docs/api/#filter) expression for all properties except for `_embedded`, `_links`, and `objectClass`. This operation supports [pagination](https://developer.okta.com/docs/api/#pagination). Using search requires [URL encoding](https://developer.mozilla.org/en-US/docs/Glossary/Percent-encoding), for example, `search=type eq "OKTA_GROUP"` is encoded as `search=type+eq+%22OKTA_GROUP%22`. This operation searches many properties: * Any group profile attribute, including imported app group profile attributes. * The top-level properties: `id`, `created`, `lastMembershipUpdated`, `lastUpdated`, and `type`. * The [source](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Group/#tag/Group/operation/listGroups!c=200&path=_links/source&t=response) of groups with type of `APP_GROUP`, accessed as `source.id`. You can also use the `sortBy` and `sortOrder` parameters. Searches for groups can be filtered by the following operators: `sw`, `eq`, and `co`. You can only use `co` with these select profile attributes: `profile.name` and `profile.description`. See [Operators](https://developer.okta.com/docs/api/#operators). |
+
+
+ |
+ string |
+ Specifies field to sort by **(for search queries only)**. `sortBy` can be any single property, for example `sortBy=profile.name`. |
+
+
+ |
+ string |
+ Specifies sort order: `asc` or `desc` (for search queries only). This parameter is ignored if `sortBy` isn't present. Groups with the same value for the `sortBy` property are ordered by `id`'. |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all groups with pagination support.
> **Note:** To list all groups belonging to a member, use the [List all groups endpoint in the User Resources API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserResources/#tag/UserResources/operation/listUserGroups).
The number of groups returned depends on the specified [`limit`](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Group/#tag/Group/operation/listGroups!in=query&path=limit&t=request), if you have a search, filter, and/or query parameter set, and if that parameter is not null. We recommend using a limit less than or equal to 200.
A subset of groups can be returned that match a supported filter expression, query, or search criteria.
> **Note:** Results from the filter or query parameter are driven from an eventually consistent datasource. The synchronization lag is typically less than one second.
+
+```sql
+SELECT
+id,
+_embedded,
+_links,
+created,
+lastMembershipUpdated,
+lastUpdated,
+objectClass,
+profile,
+type
+FROM okta.groups.groups
+WHERE subdomain = '{{ subdomain }}' -- required
+AND search = '{{ search }}'
+AND filter = '{{ filter }}'
+AND q = '{{ q }}'
+AND after = '{{ after }}'
+AND limit = '{{ limit }}'
+AND expand = '{{ expand }}'
+AND sortBy = '{{ sortBy }}'
+AND sortOrder = '{{ sortOrder }}';
+```
+
+
+
+Retrieves a specific group by `id` from your org
+
+```sql
+SELECT
+id,
+_embedded,
+_links,
+created,
+lastMembershipUpdated,
+lastUpdated,
+objectClass,
+profile,
+type
+FROM okta.groups.groups
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Adds a new group with the `OKTA_GROUP` type to your org.
> **Note:** App import operations are responsible for syncing groups with `APP_GROUP` type such as Active Directory groups. See
[About groups](https://help.okta.com/okta_help.htm?id=Directory_Groups) in the help documentation.
+
+```sql
+INSERT INTO okta.groups.groups (
+data__profile,
+subdomain
+)
+SELECT
+'{{ profile }}',
+'{{ subdomain }}'
+RETURNING
+id,
+_embedded,
+_links,
+created,
+lastMembershipUpdated,
+lastUpdated,
+objectClass,
+profile,
+type
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: groups
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the groups resource.
+ - name: profile
+ value: object
+ description: >
+ Profile for any group that is not imported from Active Directory. Specifies the standard
+and custom profile properties for a group.
+
+The `objectClass` for these groups is `okta:user_group`.
+
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces the profile for a group of `OKTA_GROUP` type from your org.
> **Note :** You only can modify profiles for groups of the `OKTA_GROUP` type.
>
> App imports are responsible for updating profiles for groups of the `APP_GROUP` type, such as Active Directory groups.
+
+```sql
+REPLACE okta.groups.groups
+SET
+data__profile = '{{ profile }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+id,
+_embedded,
+_links,
+created,
+lastMembershipUpdated,
+lastUpdated,
+objectClass,
+profile,
+type;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes a group of the `OKTA_GROUP` or `APP_GROUP` type from your org.
> **Note:** You can't remove groups of type `APP_GROUP` if they are used in a group push mapping.
+
+```sql
+DELETE FROM okta.groups.groups
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/groups/index.md b/website/docs/services/groups/index.md
new file mode 100644
index 0000000..3aeba70
--- /dev/null
+++ b/website/docs/services/groups/index.md
@@ -0,0 +1,40 @@
+---
+title: groups
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - groups
+ - okta
+ - stackql
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+groups service documentation.
+
+:::info[Service Summary]
+
+total resources: __9__
+
+:::
+
+## Resources
+
\ No newline at end of file
diff --git a/website/docs/services/groups/owners/index.md b/website/docs/services/groups/owners/index.md
new file mode 100644
index 0000000..158cf8d
--- /dev/null
+++ b/website/docs/services/groups/owners/index.md
@@ -0,0 +1,285 @@
+---
+title: owners
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - owners
+ - groups
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists an owners resource.
+
+## Overview
+
+| Name | owners |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The `id` of the group owner |
+
+
+ |
+ string |
+ The display name of the group owner |
+
+
+ |
+ string (date-time) |
+ Timestamp when the group owner was last updated |
+
+
+ |
+ string |
+ The ID of the app instance if the `originType` is `APPLICATION`. This value is `NULL` if `originType` is `OKTA_DIRECTORY`. |
+
+
+ |
+ string |
+ The source where group ownership is managed |
+
+
+ |
+ boolean |
+ If `originType`is APPLICATION, this parameter is set to `FALSE` until the owner's `originId` is reconciled with an associated Okta ID. |
+
+
+ |
+ string |
+ The entity type of the owner |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ search, after, limit |
+ Lists all owners for a specific group |
+
+
+ |
+ |
+ groupId, subdomain |
+ |
+ Assigns a group owner |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes a group owner from a specific group |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The `id` of the group |
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ Specifies the pagination cursor for the next page of owners |
+
+
+ |
+ integer (int32) |
+ Specifies the number of owner results in a page |
+
+
+ |
+ string |
+ SCIM filter expression for group owners. Allows you to filter owners by type. |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all owners for a specific group
+
+```sql
+SELECT
+id,
+displayName,
+lastUpdated,
+originId,
+originType,
+resolved,
+type
+FROM okta.groups.owners
+WHERE subdomain = '{{ subdomain }}' -- required
+AND search = '{{ search }}'
+AND after = '{{ after }}'
+AND limit = '{{ limit }}';
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Assigns a group owner
+
+```sql
+INSERT INTO okta.groups.owners (
+data__id,
+data__type,
+groupId,
+subdomain
+)
+SELECT
+'{{ id }}',
+'{{ type }}',
+'{{ groupId }}',
+'{{ subdomain }}'
+RETURNING
+id,
+displayName,
+lastUpdated,
+originId,
+originType,
+resolved,
+type
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: owners
+ props:
+ - name: groupId
+ value: string
+ description: Required parameter for the owners resource.
+ - name: subdomain
+ value: string
+ description: Required parameter for the owners resource.
+ - name: id
+ value: string
+ description: >
+ The `id` of the group owner
+
+ - name: type
+ value: string
+ description: >
+ The entity type of the owner
+
+ valid_values: ['GROUP', 'USER']
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes a group owner from a specific group
+
+```sql
+DELETE FROM okta.groups.owners
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/groups/rules/index.md b/website/docs/services/groups/rules/index.md
new file mode 100644
index 0000000..e99e00e
--- /dev/null
+++ b/website/docs/services/groups/rules/index.md
@@ -0,0 +1,476 @@
+---
+title: rules
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - rules
+ - groups
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a rules resource.
+
+## Overview
+
+| Name | rules |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ ID of the group rule |
+
+
+ |
+ string |
+ Name of the group rule |
+
+
+ |
+ object |
+ Defines which users and groups to assign |
+
+
+ |
+ object |
+ Defines group rule conditions |
+
+
+ |
+ string (date-time) |
+ Creation date for group rule |
+
+
+ |
+ string (date-time) |
+ Date group rule was last updated |
+
+
+ |
+ string |
+ Status of group rule |
+
+
+ |
+ string |
+ Type to indicate a group rule operation. Only `group_rule` is allowed. |
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ ID of the group rule |
+
+
+ |
+ string |
+ Name of the group rule |
+
+
+ |
+ object |
+ Defines which users and groups to assign |
+
+
+ |
+ object |
+ Defines group rule conditions |
+
+
+ |
+ string (date-time) |
+ Creation date for group rule |
+
+
+ |
+ string (date-time) |
+ Date group rule was last updated |
+
+
+ |
+ string |
+ Status of group rule |
+
+
+ |
+ string |
+ Type to indicate a group rule operation. Only `group_rule` is allowed. |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ limit, after, search, expand |
+ Lists all group rules for your org |
+
+
+ |
+ |
+ subdomain |
+ expand |
+ Retrieves a specific group rule by ID from your org |
+
+
+ |
+ |
+ subdomain |
+ |
+ Creates a group rule to dynamically add users to the specified group if they match the condition > **Note:** Group rules are created with the status set to `'INACTIVE'`. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces a group rule > **Notes:** You can only update rules with a group whose status is set to `'INACTIVE'`. > > You currently can't update the `action` section. |
+
+
+ |
+ |
+ subdomain |
+ removeUsers |
+ Deletes a specific group rule by `groupRuleId` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Activates a specific group rule by ID from your org |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deactivates a specific group rule by ID from your org |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ Specifies the pagination cursor for the next page of rules |
+
+
+ |
+ string |
+ If specified as `groupIdToGroupNameMap`, then show group names |
+
+
+ |
+ integer (int32) |
+ Specifies the number of rule results in a page |
+
+
+ |
+ boolean |
+ If set to `true`, removes users from groups assigned by this rule |
+
+
+ |
+ string |
+ Specifies the keyword to search rules for |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all group rules for your org
+
+```sql
+SELECT
+id,
+name,
+actions,
+conditions,
+created,
+lastUpdated,
+status,
+type
+FROM okta.groups.rules
+WHERE subdomain = '{{ subdomain }}' -- required
+AND limit = '{{ limit }}'
+AND after = '{{ after }}'
+AND search = '{{ search }}'
+AND expand = '{{ expand }}';
+```
+
+
+
+Retrieves a specific group rule by ID from your org
+
+```sql
+SELECT
+id,
+name,
+actions,
+conditions,
+created,
+lastUpdated,
+status,
+type
+FROM okta.groups.rules
+WHERE subdomain = '{{ subdomain }}' -- required
+AND expand = '{{ expand }}';
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Creates a group rule to dynamically add users to the specified group if they match the condition
> **Note:** Group rules are created with the status set to `'INACTIVE'`.
+
+```sql
+INSERT INTO okta.groups.rules (
+data__actions,
+data__conditions,
+data__name,
+data__type,
+subdomain
+)
+SELECT
+'{{ actions }}',
+'{{ conditions }}',
+'{{ name }}',
+'{{ type }}',
+'{{ subdomain }}'
+RETURNING
+id,
+name,
+actions,
+conditions,
+created,
+lastUpdated,
+status,
+type
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: rules
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the rules resource.
+ - name: actions
+ value: object
+ description: >
+ Defines which users and groups to assign
+
+ - name: conditions
+ value: object
+ description: >
+ Defines group rule conditions
+
+ - name: name
+ value: string
+ description: >
+ Name of the group rule
+
+ - name: type
+ value: string
+ valid_values: ['group_rule']
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces a group rule
> **Notes:** You can only update rules with a group whose status is set to `'INACTIVE'`.
>
> You currently can't update the `action` section.
+
+```sql
+REPLACE okta.groups.rules
+SET
+data__actions = '{{ actions }}',
+data__conditions = '{{ conditions }}',
+data__name = '{{ name }}',
+data__status = '{{ status }}',
+data__type = '{{ type }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+id,
+name,
+actions,
+conditions,
+created,
+lastUpdated,
+status,
+type;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes a specific group rule by `groupRuleId`
+
+```sql
+DELETE FROM okta.groups.rules
+WHERE subdomain = '{{ subdomain }}' --required
+AND removeUsers = '{{ removeUsers }}';
+```
+
+
+
+
+## Lifecycle Methods
+
+
+
+
+Activates a specific group rule by ID from your org
+
+```sql
+EXEC okta.groups.rules.activate_group_rule
+@subdomain='{{ subdomain }}' --required;
+```
+
+
+
+Deactivates a specific group rule by ID from your org
+
+```sql
+EXEC okta.groups.rules.deactivate_group_rule
+@subdomain='{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/groups/users/index.md b/website/docs/services/groups/users/index.md
new file mode 100644
index 0000000..47adf0d
--- /dev/null
+++ b/website/docs/services/groups/users/index.md
@@ -0,0 +1,281 @@
+---
+title: users
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - users
+ - groups
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a users resource.
+
+## Overview
+
+| Name | users |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The unique key for the user |
+
+
+ |
+ object |
+ Embedded resources related to the user using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string (date-time) |
+ The timestamp when the user status transitioned to `ACTIVE` |
+
+
+ |
+ string (date-time) |
+ The timestamp when the user was created |
+
+
+ |
+ object |
+ Specifies primary authentication and recovery credentials for a user. Credential types and requirements vary depending on the provider and security policy of the org. |
+
+
+ |
+ string (date-time) |
+ The timestamp of the last login |
+
+
+ |
+ string (date-time) |
+ The timestamp when the user was last updated |
+
+
+ |
+ string (date-time) |
+ The timestamp when the user's password was last updated |
+
+
+ |
+ object |
+ Specifies the default and custom profile properties for a user. The default user profile is based on the [System for Cross-domain Identity Management: Core Schema](https://datatracker.ietf.org/doc/html/rfc7643). The only permitted customizations of the default profile are to update permissions, change whether the `firstName` and `lastName` properties are nullable, and specify a [pattern](https://developer.okta.com/docs/reference/api/schemas/#login-pattern-validation) for `login`. You can use the Profile Editor in the Admin Console or the [Schemas API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UISchema/#tag/UISchema) to make schema modifications. You can extend user profiles with custom properties. You must first add the custom property to the user profile schema before you reference it. You can use the Profile Editor in the Admin Console or the [Schemas API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UISchema/#tag/UISchema) to manage schema extensions. Custom attributes can contain HTML tags. It's the client's responsibility to escape or encode this data before displaying it. Use [best-practices](https://cheatsheetseries.owasp.org/cheatsheets/Cross_Site_Scripting_Prevention_Cheat_Sheet.html) to prevent cross-site scripting. |
+
+
+ |
+ string |
+ The ID of the realm in which the user is residing. See [Realms](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Realm/). (example: guo1bfiNtSnZYILxO0g4) |
+
+
+ |
+ string |
+ The current status of the user. The status of a user changes in response to explicit events, such as admin-driven lifecycle changes, user login, or self-service password recovery. Okta doesn't asynchronously sweep through users and update their password expiry state, for example. Instead, Okta evaluates password policy at login time, notices the password has expired, and moves the user to the expired state. When running reports, remember that the data is valid as of the last login or lifecycle event for that user. |
+
+
+ |
+ string (date-time) |
+ The timestamp when the status of the user last changed |
+
+
+ |
+ string |
+ The target status of an in-progress asynchronous status transition. This property is only returned if the user's state is transitioning. |
+
+
+ |
+ object |
+ The user type that determines the schema for the user's profile. The `type` property is a map that identifies the [User Types](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserType/#tag/UserType). Currently it contains a single element, `id`. It can be specified when creating a new user, and ca be updated by an admin on a full replace of an existing user (but not a partial update). |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ after, limit |
+ Lists all users that are a member of a group. The default user limit is set to a very high number due to historical reasons that are no longer valid for most orgs. This will change in a future version of this API. The recommended page limit is now `limit=200`. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Assigns a user to a group with the `OKTA_GROUP` type. > **Note:** You only can modify memberships for groups of the `OKTA_GROUP` type. App imports are responsible for managing group memberships for groups of the `APP_GROUP` type, such as Active Directory groups. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Unassigns a user from a group with the `OKTA_GROUP` type. > **Note:** You only can modify memberships for groups of the `OKTA_GROUP` type. > > App imports are responsible for managing group memberships for groups of the `APP_GROUP` type, such as Active Directory groups. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ The cursor to use for pagination. It is an opaque string that specifies your current location in the list and is obtained from the `Link` response header. See [Pagination](https://developer.okta.com/docs/api/#pagination). |
+
+
+ |
+ integer (int32) |
+ Specifies the number of user results in a page |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all users that are a member of a group.
The default user limit is set to a very high number due to historical reasons that are no longer valid for most orgs. This will change in a future version of this API. The recommended page limit is now `limit=200`.
+
+```sql
+SELECT
+id,
+_embedded,
+_links,
+activated,
+created,
+credentials,
+lastLogin,
+lastUpdated,
+passwordChanged,
+profile,
+realmId,
+status,
+statusChanged,
+transitioningToStatus,
+type
+FROM okta.groups.users
+WHERE subdomain = '{{ subdomain }}' -- required
+AND after = '{{ after }}'
+AND limit = '{{ limit }}';
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Assigns a user to a group with the `OKTA_GROUP` type.
> **Note:** You only can modify memberships for groups of the `OKTA_GROUP` type. App imports are responsible for managing group memberships for groups of the `APP_GROUP` type, such as Active Directory groups.
+
+```sql
+REPLACE okta.groups.users
+SET
+-- No updatable properties
+WHERE
+subdomain = '{{ subdomain }}' --required;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Unassigns a user from a group with the `OKTA_GROUP` type.
> **Note:** You only can modify memberships for groups of the `OKTA_GROUP` type.
>
> App imports are responsible for managing group memberships for groups of the `APP_GROUP` type, such as Active Directory groups.
+
+```sql
+DELETE FROM okta.groups.users
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/hook_keys/hook_keys/index.md b/website/docs/services/hook_keys/hook_keys/index.md
new file mode 100644
index 0000000..18c31e0
--- /dev/null
+++ b/website/docs/services/hook_keys/hook_keys/index.md
@@ -0,0 +1,358 @@
+---
+title: hook_keys
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - hook_keys
+ - hook_keys
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a hook_keys resource.
+
+## Overview
+
+| Name | hook_keys |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The unique identifier for the key |
+
+
+ |
+ string |
+ Display name of the key |
+
+
+ |
+ string (date-time) |
+ Timestamp when the key was created |
+
+
+ |
+ string (boolean) |
+ Whether this key is currently in use by other applications |
+
+
+ |
+ string |
+ The alias of the public key |
+
+
+ |
+ string (date-time) |
+ Timestamp when the key was updated |
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The unique identifier for the key |
+
+
+ |
+ string |
+ Display name of the key |
+
+
+ |
+ string (date-time) |
+ Timestamp when the key was created |
+
+
+ |
+ string (boolean) |
+ Whether this key is currently in use by other applications |
+
+
+ |
+ string |
+ The alias of the public key |
+
+
+ |
+ string (date-time) |
+ Timestamp when the key was updated |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all keys |
+
+
+ |
+ |
+ subdomain |
+ id |
+ Retrieves the public portion of the Key object using the `id` parameter
>**Note:** The `?expand=publickey` query parameter optionally returns the full object including the details of the public key in the response body's `_embedded` property. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Creates a key for use with other parts of the application, such as inline hooks
> **Note:** Use the key name to access this key for inline hook operations.
The total number of keys that you can create in an Okta org is limited to 50.
The response is a [Key object](https://developer.okta.com/docs/reference/api/hook-keys/#key-object) that represents the key that you create. The `id` property in the response serves as the unique ID for the key, which you can specify when invoking other CRUD operations. The `keyId` provided in the response is the alias of the public key that you can use to get details of the public key data in a separate call.
> **Note:** The keyId is the alias of the public key that you can use to retrieve the public key. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces a key by `id`
This request replaces existing properties after passing validation.
> **Note:** The only parameter that you can update is the name of the key, which must be unique at all times. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes a key by `id`. After being deleted, the key is unrecoverable.
As a safety precaution, only keys that aren't being used are eligible for deletion.
|
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ A valid key ID |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all keys
+
+```sql
+SELECT
+id,
+name,
+created,
+isUsed,
+keyId,
+lastUpdated
+FROM okta.hook_keys.hook_keys
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+Retrieves the public portion of the Key object using the `id` parameter
>**Note:** The `?expand=publickey` query parameter optionally returns the full object including the details of the public key in the response body's `_embedded` property.
+
+```sql
+SELECT
+id,
+name,
+created,
+isUsed,
+keyId,
+lastUpdated
+FROM okta.hook_keys.hook_keys
+WHERE subdomain = '{{ subdomain }}' -- required
+AND id = '{{ id }}';
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Creates a key for use with other parts of the application, such as inline hooks
> **Note:** Use the key name to access this key for inline hook operations.
The total number of keys that you can create in an Okta org is limited to 50.
The response is a [Key object](https://developer.okta.com/docs/reference/api/hook-keys/#key-object) that represents the
key that you create. The `id` property in the response serves as the unique ID for the key, which you can specify when
invoking other CRUD operations. The `keyId` provided in the response is the alias of the public key that you can use to get
details of the public key data in a separate call.
> **Note:** The keyId is the alias of the public key that you can use to retrieve the public key.
+
+```sql
+INSERT INTO okta.hook_keys.hook_keys (
+data__name,
+subdomain
+)
+SELECT
+'{{ name }}',
+'{{ subdomain }}'
+RETURNING
+id,
+name,
+_embedded,
+created,
+isUsed,
+keyId,
+lastUpdated
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: hook_keys
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the hook_keys resource.
+ - name: name
+ value: string
+ description: >
+ Display name for the key
+
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces a key by `id`
This request replaces existing properties after passing validation.
> **Note:** The only parameter that you can update is the name of the key, which must be unique at all times.
+
+```sql
+REPLACE okta.hook_keys.hook_keys
+SET
+data__name = '{{ name }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+id,
+name,
+_embedded,
+created,
+isUsed,
+keyId,
+lastUpdated;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes a key by `id`. After being deleted, the key is unrecoverable.
As a safety precaution, only keys that aren't being used are eligible for deletion.
+
+```sql
+DELETE FROM okta.hook_keys.hook_keys
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/hook_keys/index.md b/website/docs/services/hook_keys/index.md
new file mode 100644
index 0000000..e5bdd30
--- /dev/null
+++ b/website/docs/services/hook_keys/index.md
@@ -0,0 +1,33 @@
+---
+title: hook_keys
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - hook_keys
+ - okta
+ - stackql
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+hook_keys service documentation.
+
+:::info[Service Summary]
+
+total resources: __2__
+
+:::
+
+## Resources
+
\ No newline at end of file
diff --git a/website/docs/services/hook_keys/public_keys/index.md b/website/docs/services/hook_keys/public_keys/index.md
new file mode 100644
index 0000000..62763ed
--- /dev/null
+++ b/website/docs/services/hook_keys/public_keys/index.md
@@ -0,0 +1,158 @@
+---
+title: public_keys
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - public_keys
+ - hook_keys
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a public_keys resource.
+
+## Overview
+
+| Name | public_keys |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Algorithm used in the key |
+
+
+ |
+ string |
+ RSA key value (exponent) for key binding |
+
+
+ |
+ string |
+ Unique identifier for the certificate |
+
+
+ |
+ string |
+ Cryptographic algorithm family for the certificate's keypair |
+
+
+ |
+ string |
+ RSA key value (modulus) for key binding |
+
+
+ |
+ string |
+ Acceptable use of the certificate |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves a public key by `keyId`
>**Note:** keyId is the alias of the public key. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Retrieves a public key by `keyId`
>**Note:** keyId is the alias of the public key.
+
+```sql
+SELECT
+alg,
+e,
+kid,
+kty,
+n,
+use
+FROM okta.hook_keys.public_keys
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
diff --git a/website/docs/services/iam/bundle_entitlement_values/index.md b/website/docs/services/iam/bundle_entitlement_values/index.md
new file mode 100644
index 0000000..0b91026
--- /dev/null
+++ b/website/docs/services/iam/bundle_entitlement_values/index.md
@@ -0,0 +1,144 @@
+---
+title: bundle_entitlement_values
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - bundle_entitlement_values
+ - iam
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a bundle_entitlement_values resource.
+
+## Overview
+
+| Name | bundle_entitlement_values |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ |
+ |
+
+
+ |
+ array |
+ |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ after, limit |
+ Lists all Entitlement Values specific to a Bundle Entitlement |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ The cursor to use for pagination. It is an opaque string that specifies your current location in the list and is obtained from the `Link` response header. See [Pagination](https://developer.okta.com/docs/api/#pagination). |
+
+
+ |
+ integer |
+ A limit on the number of objects to return |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all Entitlement Values specific to a Bundle Entitlement
+
+```sql
+SELECT
+_links,
+entitlementValues
+FROM okta.iam.bundle_entitlement_values
+WHERE subdomain = '{{ subdomain }}' -- required
+AND after = '{{ after }}'
+AND limit = '{{ limit }}';
+```
+
+
diff --git a/website/docs/services/iam/bundle_entitlements/index.md b/website/docs/services/iam/bundle_entitlements/index.md
new file mode 100644
index 0000000..b456894
--- /dev/null
+++ b/website/docs/services/iam/bundle_entitlements/index.md
@@ -0,0 +1,144 @@
+---
+title: bundle_entitlements
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - bundle_entitlements
+ - iam
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a bundle_entitlements resource.
+
+## Overview
+
+| Name | bundle_entitlements |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification |
+
+
+ |
+ array |
+ |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ after, limit |
+ Lists all Entitlements specific to a Governance Bundle |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ The cursor to use for pagination. It is an opaque string that specifies your current location in the list and is obtained from the `Link` response header. See [Pagination](https://developer.okta.com/docs/api/#pagination). |
+
+
+ |
+ integer |
+ A limit on the number of objects to return |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all Entitlements specific to a Governance Bundle
+
+```sql
+SELECT
+_links,
+entitlements
+FROM okta.iam.bundle_entitlements
+WHERE subdomain = '{{ subdomain }}' -- required
+AND after = '{{ after }}'
+AND limit = '{{ limit }}';
+```
+
+
diff --git a/website/docs/services/iam/governance_bundles/index.md b/website/docs/services/iam/governance_bundles/index.md
new file mode 100644
index 0000000..cea9839
--- /dev/null
+++ b/website/docs/services/iam/governance_bundles/index.md
@@ -0,0 +1,341 @@
+---
+title: governance_bundles
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - governance_bundles
+ - iam
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a governance_bundles resource.
+
+## Overview
+
+| Name | governance_bundles |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ |
+ |
+
+
+ |
+ array |
+ |
+
+
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ |
+
+
+ |
+ string |
+ |
+
+
+ |
+ object |
+ |
+
+
+ |
+ string |
+ |
+
+
+ |
+ string |
+ |
+
+
+ |
+ string |
+ |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ after, limit |
+ Lists all Governance Bundles for the Admin Console in your org |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves a Governance Bundle from RAMP |
+
+
+ |
+ |
+ subdomain |
+ |
+ Creates a Governance Bundle for the Admin Console in RAMP |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces a Governance Bundle in RAMP |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes a Governance Bundle from RAMP |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ The cursor to use for pagination. It is an opaque string that specifies your current location in the list and is obtained from the `Link` response header. See [Pagination](https://developer.okta.com/docs/api/#pagination). |
+
+
+ |
+ integer |
+ A limit on the number of objects to return |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all Governance Bundles for the Admin Console in your org
+
+```sql
+SELECT
+_links,
+bundles
+FROM okta.iam.governance_bundles
+WHERE subdomain = '{{ subdomain }}' -- required
+AND after = '{{ after }}'
+AND limit = '{{ limit }}';
+```
+
+
+
+Retrieves a Governance Bundle from RAMP
+
+```sql
+SELECT
+id,
+name,
+_links,
+description,
+orn,
+status
+FROM okta.iam.governance_bundles
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Creates a Governance Bundle for the Admin Console in RAMP
+
+```sql
+INSERT INTO okta.iam.governance_bundles (
+data__description,
+data__entitlements,
+data__name,
+subdomain
+)
+SELECT
+'{{ description }}',
+'{{ entitlements }}',
+'{{ name }}',
+'{{ subdomain }}'
+RETURNING
+id,
+name,
+_links,
+description,
+orn,
+status
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: governance_bundles
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the governance_bundles resource.
+ - name: description
+ value: string
+ - name: entitlements
+ value: array
+ - name: name
+ value: string
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces a Governance Bundle in RAMP
+
+```sql
+REPLACE okta.iam.governance_bundles
+SET
+data__description = '{{ description }}',
+data__entitlements = '{{ entitlements }}',
+data__name = '{{ name }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+id,
+name,
+_links,
+description,
+orn,
+status;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes a Governance Bundle from RAMP
+
+```sql
+DELETE FROM okta.iam.governance_bundles
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/iam/index.md b/website/docs/services/iam/index.md
new file mode 100644
index 0000000..97ae1a5
--- /dev/null
+++ b/website/docs/services/iam/index.md
@@ -0,0 +1,42 @@
+---
+title: iam
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - iam
+ - okta
+ - stackql
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+iam service documentation.
+
+:::info[Service Summary]
+
+total resources: __11__
+
+:::
+
+## Resources
+
\ No newline at end of file
diff --git a/website/docs/services/iam/opt_in_status/index.md b/website/docs/services/iam/opt_in_status/index.md
new file mode 100644
index 0000000..a880b8f
--- /dev/null
+++ b/website/docs/services/iam/opt_in_status/index.md
@@ -0,0 +1,176 @@
+---
+title: opt_in_status
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - opt_in_status
+ - iam
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists an opt_in_status resource.
+
+## Overview
+
+| Name | opt_in_status |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ object |
+ |
+
+
+ |
+ string |
+ |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves the opt-in status of the Admin Console from RAMP |
+
+
+ |
+ |
+ subdomain |
+ |
+ Opts in the Admin Console to RAMP |
+
+
+ |
+ |
+ subdomain |
+ |
+ Opts out the Admin Console from RAMP |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Retrieves the opt-in status of the Admin Console from RAMP
+
+```sql
+SELECT
+_links,
+optInStatus
+FROM okta.iam.opt_in_status
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## Lifecycle Methods
+
+
+
+
+Opts in the Admin Console to RAMP
+
+```sql
+EXEC okta.iam.opt_in_status.opt_in
+@subdomain='{{ subdomain }}' --required;
+```
+
+
+
+Opts out the Admin Console from RAMP
+
+```sql
+EXEC okta.iam.opt_in_status.opt_out
+@subdomain='{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/iam/role_permissions/index.md b/website/docs/services/iam/role_permissions/index.md
new file mode 100644
index 0000000..3e505af
--- /dev/null
+++ b/website/docs/services/iam/role_permissions/index.md
@@ -0,0 +1,302 @@
+---
+title: role_permissions
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - role_permissions
+ - iam
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a role_permissions resource.
+
+## Overview
+
+| Name | role_permissions |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ array |
+ Array of permissions assigned to the role. See [Permissions](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/guides/permissions). |
+
+
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ object |
+ Conditions for further restricting a permission. See [Permission conditions](https://help.okta.com/okta_help.htm?type=oie&id=ext-permission-conditions). |
+
+
+ |
+ string (date-time) |
+ Timestamp when the permission was assigned |
+
+
+ |
+ string |
+ The assigned Okta [permission](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/guides/permissions) (example: okta.users.read) |
+
+
+ |
+ string (date-time) |
+ Timestamp when the permission was last updated |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all permissions for a custom role by `roleIdOrLabel` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves a permission (identified by `permissionType`) for a custom role |
+
+
+ |
+ |
+ subdomain |
+ |
+ Creates a permission (specified by `permissionType`) for a custom role |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces a permission (specified by `permissionType`) for a custom role |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes a permission (identified by `permissionType`) from a custom role |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all permissions for a custom role by `roleIdOrLabel`
+
+```sql
+SELECT
+permissions
+FROM okta.iam.role_permissions
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+Retrieves a permission (identified by `permissionType`) for a custom role
+
+```sql
+SELECT
+_links,
+conditions,
+created,
+label,
+lastUpdated
+FROM okta.iam.role_permissions
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Creates a permission (specified by `permissionType`) for a custom role
+
+```sql
+INSERT INTO okta.iam.role_permissions (
+data__conditions,
+subdomain
+)
+SELECT
+'{{ conditions }}',
+'{{ subdomain }}'
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: role_permissions
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the role_permissions resource.
+ - name: conditions
+ value: object
+ description: >
+ Conditions for further restricting a permission. See [Permission conditions](https://help.okta.com/okta_help.htm?type=oie&id=ext-permission-conditions).
+
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces a permission (specified by `permissionType`) for a custom role
+
+```sql
+REPLACE okta.iam.role_permissions
+SET
+data__conditions = '{{ conditions }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+_links,
+conditions,
+created,
+label,
+lastUpdated;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes a permission (identified by `permissionType`) from a custom role
+
+```sql
+DELETE FROM okta.iam.role_permissions
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/iam/role_resource_set_binding_members/index.md b/website/docs/services/iam/role_resource_set_binding_members/index.md
new file mode 100644
index 0000000..8d40041
--- /dev/null
+++ b/website/docs/services/iam/role_resource_set_binding_members/index.md
@@ -0,0 +1,254 @@
+---
+title: role_resource_set_binding_members
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - role_resource_set_binding_members
+ - iam
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a role_resource_set_binding_members resource.
+
+## Overview
+
+| Name | role_resource_set_binding_members |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ array |
+ The members of the role resource set binding. If there are more than 100 members for the binding, then the `_links.next` resource is returned with the next list of members. |
+
+
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Role resource set binding member ID |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string (date-time) |
+ Timestamp when the member was created |
+
+
+ |
+ string (date-time) |
+ Timestamp when the member was last updated |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ after |
+ Lists all members of a role resource set binding with pagination support |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves a member (identified by `memberId`) that belongs to a role resource set binding |
+
+
+ |
+ |
+ subdomain |
+ |
+ Adds more members to a role resource set binding |
+
+
+ |
+ |
+ subdomain |
+ |
+ Unassigns a member (identified by `memberId`) from a role resource set binding |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ The cursor to use for pagination. It is an opaque string that specifies your current location in the list and is obtained from the `Link` response header. See [Pagination](https://developer.okta.com/docs/api/#pagination). |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all members of a role resource set binding with pagination support
+
+```sql
+SELECT
+_links,
+members
+FROM okta.iam.role_resource_set_binding_members
+WHERE subdomain = '{{ subdomain }}' -- required
+AND after = '{{ after }}';
+```
+
+
+
+Retrieves a member (identified by `memberId`) that belongs to a role resource set binding
+
+```sql
+SELECT
+id,
+_links,
+created,
+lastUpdated
+FROM okta.iam.role_resource_set_binding_members
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `UPDATE` examples
+
+
+
+
+Adds more members to a role resource set binding
+
+```sql
+UPDATE okta.iam.role_resource_set_binding_members
+SET
+data__additions = '{{ additions }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+_links;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Unassigns a member (identified by `memberId`) from a role resource set binding
+
+```sql
+DELETE FROM okta.iam.role_resource_set_binding_members
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/iam/role_resource_set_bindings/index.md b/website/docs/services/iam/role_resource_set_bindings/index.md
new file mode 100644
index 0000000..9d36a81
--- /dev/null
+++ b/website/docs/services/iam/role_resource_set_bindings/index.md
@@ -0,0 +1,269 @@
+---
+title: role_resource_set_bindings
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - role_resource_set_bindings
+ - iam
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a role_resource_set_bindings resource.
+
+## Overview
+
+| Name | role_resource_set_bindings |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ array |
+ Roles associated with the resource set binding. If there are more than 100 bindings for the specified resource set, then the `_links.next` resource is returned with the next list of bindings. |
+
+
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ `id` of the role resource set binding |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ after |
+ Lists all bindings for a resource set with pagination support.
The returned `roles` array contains the roles for each binding associated with the specified resource set. If there are more than 100 bindings for the specified resource set, `links.next` provides the resource with pagination for the next list of bindings. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves the binding of a role (identified by `roleIdOrLabel`) for a resource set (identified by `resourceSetIdOrLabel`) |
+
+
+ |
+ |
+ subdomain |
+ |
+ Creates a binding for the resource set, custom role, and members (users or groups)
> **Note:** If you use a custom role with permissions that don't apply to the resources in the resource set, it doesn't affect the admin role. For example, the `okta.users.userprofile.manage` permission gives the admin no privileges if it's granted to a resource set that only includes `https://{yourOktaDomain}/api/v1/groups/{targetGroupId}` resources. If you want the admin to be able to manage the users within the group, the resource set must include the corresponding `https://{yourOktaDomain}/api/v1/groups/{targetGroupId}/users` resource. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes a binding of a role (identified by `roleIdOrLabel`) and a resource set (identified by `resourceSetIdOrLabel`) |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ The cursor to use for pagination. It is an opaque string that specifies your current location in the list and is obtained from the `Link` response header. See [Pagination](https://developer.okta.com/docs/api/#pagination). |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all bindings for a resource set with pagination support.
The returned `roles` array contains the roles for each binding associated with the specified resource set. If there are more than 100 bindings for the specified resource set, `links.next` provides the resource with pagination for the next list of bindings.
+
+```sql
+SELECT
+_links,
+roles
+FROM okta.iam.role_resource_set_bindings
+WHERE subdomain = '{{ subdomain }}' -- required
+AND after = '{{ after }}';
+```
+
+
+
+Retrieves the binding of a role (identified by `roleIdOrLabel`) for a resource set (identified by `resourceSetIdOrLabel`)
+
+```sql
+SELECT
+id,
+_links
+FROM okta.iam.role_resource_set_bindings
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Creates a binding for the resource set, custom role, and members (users or groups)
> **Note:** If you use a custom role with permissions that don't apply to the resources in the resource set, it doesn't affect the admin role. For example,
the `okta.users.userprofile.manage` permission gives the admin no privileges if it's granted to a resource set that only includes `https://{yourOktaDomain}/api/v1/groups/{targetGroupId}`
resources. If you want the admin to be able to manage the users within the group, the resource set must include the corresponding `https://{yourOktaDomain}/api/v1/groups/{targetGroupId}/users` resource.
+
+```sql
+INSERT INTO okta.iam.role_resource_set_bindings (
+data__members,
+data__role,
+subdomain
+)
+SELECT
+'{{ members }}',
+'{{ role }}',
+'{{ subdomain }}'
+RETURNING
+_links
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: role_resource_set_bindings
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the role_resource_set_bindings resource.
+ - name: members
+ value: array
+ description: >
+ URLs to user and/or group instances that are assigned to the role
+
+ - name: role
+ value: string
+ description: >
+ Unique key for the role
+
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes a binding of a role (identified by `roleIdOrLabel`) and a resource set (identified by `resourceSetIdOrLabel`)
+
+```sql
+DELETE FROM okta.iam.role_resource_set_bindings
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/iam/role_resource_set_resources/index.md b/website/docs/services/iam/role_resource_set_resources/index.md
new file mode 100644
index 0000000..2b7d34a
--- /dev/null
+++ b/website/docs/services/iam/role_resource_set_resources/index.md
@@ -0,0 +1,336 @@
+---
+title: role_resource_set_resources
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - role_resource_set_resources
+ - iam
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a role_resource_set_resources resource.
+
+## Overview
+
+| Name | role_resource_set_resources |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available for the current status of an application using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. Use the `LinksNext` object for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ array |
+ |
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Unique ID of the resource set resource object |
+
+
+ |
+ object |
+ Related discoverable resources |
+
+
+ |
+ object |
+ Conditions for further restricting a resource. |
+
+
+ |
+ string (date-time) |
+ Timestamp when the resource set resource object was created |
+
+
+ |
+ string (date-time) |
+ Timestamp when this object was last updated |
+
+
+ |
+ string |
+ The Okta Resource Name (ORN) of the resource |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all resources for the resource set |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves a resource identified by `resourceId` in a resource set |
+
+
+ |
+ |
+ subdomain |
+ |
+ Adds more resources to a resource set |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces the conditions of a resource identified by `resourceId` in a resource set |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes a resource (identified by `resourceId`) from a resource set |
+
+
+ |
+ |
+ subdomain |
+ |
+ Adds a resource with conditions for a resource set |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all resources for the resource set
+
+```sql
+SELECT
+_links,
+resources
+FROM okta.iam.role_resource_set_resources
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+Retrieves a resource identified by `resourceId` in a resource set
+
+```sql
+SELECT
+id,
+_links,
+conditions,
+created,
+lastUpdated,
+orn
+FROM okta.iam.role_resource_set_resources
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `UPDATE` examples
+
+
+
+
+Adds more resources to a resource set
+
+```sql
+UPDATE okta.iam.role_resource_set_resources
+SET
+data__additions = '{{ additions }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+id,
+_links,
+created,
+description,
+label,
+lastUpdated;
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces the conditions of a resource identified by `resourceId` in a resource set
+
+```sql
+REPLACE okta.iam.role_resource_set_resources
+SET
+data__conditions = '{{ conditions }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+id,
+_links,
+conditions,
+created,
+lastUpdated,
+orn;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes a resource (identified by `resourceId`) from a resource set
+
+```sql
+DELETE FROM okta.iam.role_resource_set_resources
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
+
+
+## Lifecycle Methods
+
+
+
+
+Adds a resource with conditions for a resource set
+
+```sql
+EXEC okta.iam.role_resource_set_resources.add_resource_set_resource
+@subdomain='{{ subdomain }}' --required
+@@json=
+'{
+"conditions": "{{ conditions }}",
+"resourceOrnOrUrl": "{{ resourceOrnOrUrl }}"
+}';
+```
+
+
diff --git a/website/docs/services/iam/role_resource_sets/index.md b/website/docs/services/iam/role_resource_sets/index.md
new file mode 100644
index 0000000..c6db09f
--- /dev/null
+++ b/website/docs/services/iam/role_resource_sets/index.md
@@ -0,0 +1,343 @@
+---
+title: role_resource_sets
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - role_resource_sets
+ - iam
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a role_resource_sets resource.
+
+## Overview
+
+| Name | role_resource_sets |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available for the current status of an application using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. Use the `LinksNext` object for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ array |
+ |
+
+
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Unique ID for the resource set object |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string (date-time) |
+ Timestamp when the role was created |
+
+
+ |
+ string |
+ Description of the resource set |
+
+
+ |
+ string |
+ Unique label for the resource set |
+
+
+ |
+ string (date-time) |
+ Timestamp when the role was last updated |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ after |
+ Lists all resource sets with pagination support |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves a resource set by `resourceSetIdOrLabel` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Creates a new resource set. See [Supported resources](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/guides/roles/#supported-resources).
> **Note:** The maximum number of `resources` allowed in a resource set object is 1000. Resources are identified by either an Okta Resource Name (ORN) or by a REST URL format. See [Okta Resource Name](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/guides/roles/#okta-resource-name-orn). |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces the label and description of a resource set |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes a resource set by `resourceSetIdOrLabel` |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ The cursor to use for pagination. It is an opaque string that specifies your current location in the list and is obtained from the `Link` response header. See [Pagination](https://developer.okta.com/docs/api/#pagination). |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all resource sets with pagination support
+
+```sql
+SELECT
+_links,
+resource-sets
+FROM okta.iam.role_resource_sets
+WHERE subdomain = '{{ subdomain }}' -- required
+AND after = '{{ after }}';
+```
+
+
+
+Retrieves a resource set by `resourceSetIdOrLabel`
+
+```sql
+SELECT
+id,
+_links,
+created,
+description,
+label,
+lastUpdated
+FROM okta.iam.role_resource_sets
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Creates a new resource set. See [Supported resources](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/guides/roles/#supported-resources).
> **Note:** The maximum number of `resources` allowed in a resource set object is 1000. Resources are identified by either an Okta Resource Name (ORN) or by a REST URL format. See [Okta Resource Name](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/guides/roles/#okta-resource-name-orn).
+
+```sql
+INSERT INTO okta.iam.role_resource_sets (
+data__description,
+data__label,
+data__resources,
+subdomain
+)
+SELECT
+'{{ description }}' --required,
+'{{ label }}' --required,
+'{{ resources }}' --required,
+'{{ subdomain }}'
+RETURNING
+id,
+_links,
+created,
+description,
+label,
+lastUpdated
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: role_resource_sets
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the role_resource_sets resource.
+ - name: description
+ value: string
+ description: >
+ Description of the resource set
+
+ - name: label
+ value: string
+ description: >
+ Unique name for the resource set
+
+ - name: resources
+ value: array
+ description: >
+ The endpoint (URL) that references all resource objects included in the resource set. Resources are identified by either an Okta Resource Name (ORN) or by a REST URL format. See [Okta Resource Name](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/guides/roles/#okta-resource-name-orn).
+
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces the label and description of a resource set
+
+```sql
+REPLACE okta.iam.role_resource_sets
+SET
+data__description = '{{ description }}',
+data__label = '{{ label }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+id,
+_links,
+created,
+description,
+label,
+lastUpdated;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes a resource set by `resourceSetIdOrLabel`
+
+```sql
+DELETE FROM okta.iam.role_resource_sets
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/iam/roles/index.md b/website/docs/services/iam/roles/index.md
new file mode 100644
index 0000000..02db949
--- /dev/null
+++ b/website/docs/services/iam/roles/index.md
@@ -0,0 +1,345 @@
+---
+title: roles
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - roles
+ - iam
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a roles resource.
+
+## Overview
+
+| Name | roles |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available for the current status of an application using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. Use the `LinksNext` object for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ array |
+ |
+
+
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Unique key for the role |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string (date-time) |
+ Timestamp when the role was created |
+
+
+ |
+ string |
+ Description of the role |
+
+
+ |
+ string |
+ Unique label for the role |
+
+
+ |
+ string (date-time) |
+ Timestamp when the role was last updated |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ after |
+ Lists all custom roles with pagination support |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves a role by `roleIdOrLabel` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Creates a custom role |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces the label and description for a custom role by `roleIdOrLabel` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes a custom role by `roleIdOrLabel` |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ The cursor to use for pagination. It is an opaque string that specifies your current location in the list and is obtained from the `Link` response header. See [Pagination](https://developer.okta.com/docs/api/#pagination). |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all custom roles with pagination support
+
+```sql
+SELECT
+_links,
+roles
+FROM okta.iam.roles
+WHERE subdomain = '{{ subdomain }}' -- required
+AND after = '{{ after }}';
+```
+
+
+
+Retrieves a role by `roleIdOrLabel`
+
+```sql
+SELECT
+id,
+_links,
+created,
+description,
+label,
+lastUpdated
+FROM okta.iam.roles
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Creates a custom role
+
+```sql
+INSERT INTO okta.iam.roles (
+data__description,
+data__label,
+data__permissions,
+subdomain
+)
+SELECT
+'{{ description }}' --required,
+'{{ label }}' --required,
+'{{ permissions }}' --required,
+'{{ subdomain }}'
+RETURNING
+id,
+_links,
+created,
+description,
+label,
+lastUpdated
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: roles
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the roles resource.
+ - name: description
+ value: string
+ description: >
+ Description of the role
+
+ - name: label
+ value: string
+ description: >
+ Unique label for the role
+
+ - name: permissions
+ value: array
+ description: >
+ Array of permissions that the role grants. See [Permissions](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/guides/permissions).
+
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces the label and description for a custom role by `roleIdOrLabel`
+
+```sql
+REPLACE okta.iam.roles
+SET
+data__description = '{{ description }}',
+data__label = '{{ label }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+AND data__label = '{{ label }}' --required
+AND data__description = '{{ description }}' --required
+RETURNING
+id,
+_links,
+created,
+description,
+label,
+lastUpdated;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes a custom role by `roleIdOrLabel`
+
+```sql
+DELETE FROM okta.iam.roles
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/iam/users_with_role_assignments/index.md b/website/docs/services/iam/users_with_role_assignments/index.md
new file mode 100644
index 0000000..ced5b4c
--- /dev/null
+++ b/website/docs/services/iam/users_with_role_assignments/index.md
@@ -0,0 +1,146 @@
+---
+title: users_with_role_assignments
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - users_with_role_assignments
+ - iam
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a users_with_role_assignments resource.
+
+## Overview
+
+| Name | users_with_role_assignments |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. |
+
+
+ |
+ array |
+ |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ after, limit |
+ Lists all users with role assignments |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ Specifies the pagination cursor for the next page of targets |
+
+
+ |
+ integer (int32) |
+ Specifies the number of results returned. Defaults to `100`. |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all users with role assignments
+
+```sql
+SELECT
+_links,
+value
+FROM okta.iam.users_with_role_assignments
+WHERE subdomain = '{{ subdomain }}' -- required
+AND after = '{{ after }}'
+AND limit = '{{ limit }}';
+```
+
+
diff --git a/website/docs/services/identity_sources/identity_sources/index.md b/website/docs/services/identity_sources/identity_sources/index.md
new file mode 100644
index 0000000..f7e6d54
--- /dev/null
+++ b/website/docs/services/identity_sources/identity_sources/index.md
@@ -0,0 +1,144 @@
+---
+title: identity_sources
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - identity_sources
+ - identity_sources
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists an identity_sources resource.
+
+## Overview
+
+| Name | identity_sources |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource.
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Uploads external IDs of entities that need to be deleted in Okta from the identity source for the given session |
+
+
+ |
+ |
+ subdomain |
+ |
+ Uploads entities that need to be inserted or updated in Okta from the identity source for the given session |
+
+
+ |
+ |
+ subdomain |
+ |
+ Starts the import from the identity source described by the uploaded bulk operations |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## Lifecycle Methods
+
+
+
+
+Uploads external IDs of entities that need to be deleted in Okta from the identity source for the given session
+
+```sql
+EXEC okta.identity_sources.identity_sources.upload_identity_source_data_for_delete
+@subdomain='{{ subdomain }}' --required
+@@json=
+'{
+"entityType": "{{ entityType }}",
+"profiles": "{{ profiles }}"
+}';
+```
+
+
+
+Uploads entities that need to be inserted or updated in Okta from the identity source for the given session
+
+```sql
+EXEC okta.identity_sources.identity_sources.upload_identity_source_data_for_upsert
+@subdomain='{{ subdomain }}' --required
+@@json=
+'{
+"entityType": "{{ entityType }}",
+"profiles": "{{ profiles }}"
+}';
+```
+
+
+
+Starts the import from the identity source described by the uploaded bulk operations
+
+```sql
+EXEC okta.identity_sources.identity_sources.start_import_from_identity_source
+@subdomain='{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/identity_sources/index.md b/website/docs/services/identity_sources/index.md
new file mode 100644
index 0000000..7e87fc3
--- /dev/null
+++ b/website/docs/services/identity_sources/index.md
@@ -0,0 +1,33 @@
+---
+title: identity_sources
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - identity_sources
+ - okta
+ - stackql
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+identity_sources service documentation.
+
+:::info[Service Summary]
+
+total resources: __2__
+
+:::
+
+## Resources
+
\ No newline at end of file
diff --git a/website/docs/services/identity_sources/sessions/index.md b/website/docs/services/identity_sources/sessions/index.md
new file mode 100644
index 0000000..4849b55
--- /dev/null
+++ b/website/docs/services/identity_sources/sessions/index.md
@@ -0,0 +1,306 @@
+---
+title: sessions
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - sessions
+ - identity_sources
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a sessions resource.
+
+## Overview
+
+| Name | sessions |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The ID of the identity source session |
+
+
+ |
+ string (date-time) |
+ The timestamp when the identity source session was created |
+
+
+ |
+ string |
+ The ID of the custom identity source for which the session is created |
+
+
+ |
+ string |
+ The type of import. All imports are `INCREMENTAL` imports. |
+
+
+ |
+ string (date-time) |
+ The timestamp when the identity source session was created |
+
+
+ |
+ string |
+ The current status of the identity source session |
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The ID of the identity source session |
+
+
+ |
+ string (date-time) |
+ The timestamp when the identity source session was created |
+
+
+ |
+ string |
+ The ID of the custom identity source for which the session is created |
+
+
+ |
+ string |
+ The type of import. All imports are `INCREMENTAL` imports. |
+
+
+ |
+ string (date-time) |
+ The timestamp when the identity source session was created |
+
+
+ |
+ string |
+ The current status of the identity source session |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all identity source sessions for the given identity source instance |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves an identity source session for a given identity source ID and session ID |
+
+
+ |
+ |
+ subdomain |
+ |
+ Creates an identity source session for the given identity source instance |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes an identity source session for a given identity source ID and session Id |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all identity source sessions for the given identity source instance
+
+```sql
+SELECT
+id,
+created,
+identitySourceId,
+importType,
+lastUpdated,
+status
+FROM okta.identity_sources.sessions
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+Retrieves an identity source session for a given identity source ID and session ID
+
+```sql
+SELECT
+id,
+created,
+identitySourceId,
+importType,
+lastUpdated,
+status
+FROM okta.identity_sources.sessions
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Creates an identity source session for the given identity source instance
+
+```sql
+INSERT INTO okta.identity_sources.sessions (
+subdomain
+)
+SELECT
+'{{ subdomain }}'
+RETURNING
+id,
+created,
+identitySourceId,
+importType,
+lastUpdated,
+status
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: sessions
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the sessions resource.
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes an identity source session for a given identity source ID and session Id
+
+```sql
+DELETE FROM okta.identity_sources.sessions
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/idps/active_idp_signing_keys/index.md b/website/docs/services/idps/active_idp_signing_keys/index.md
new file mode 100644
index 0000000..a326caf
--- /dev/null
+++ b/website/docs/services/idps/active_idp_signing_keys/index.md
@@ -0,0 +1,182 @@
+---
+title: active_idp_signing_keys
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - active_idp_signing_keys
+ - idps
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists an active_idp_signing_keys resource.
+
+## Overview
+
+| Name | active_idp_signing_keys |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was created (example: 2016-01-03T18:15:47.000Z) |
+
+
+ |
+ string |
+ The exponent value for the RSA public key (example: AQAB) |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object expires (example: 2016-01-03T18:15:47.000Z) |
+
+
+ |
+ string |
+ Unique identifier for the key (example: your-key-id) |
+
+
+ |
+ string |
+ Identifies the cryptographic algorithm family used with the key (example: RSA) |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was last updated (example: 2016-01-03T18:15:47.000Z) |
+
+
+ |
+ string |
+ The modulus value for the RSA public key (example: 101438407598598116085679865987760095721749307901605456708912786847324207000576780508113360584555007890315805735307890113536927352312915634368993759211767770602174860126854831344273970871509573365292777620005537635317282520456901584213746937262823585533063042033441296629204165064680610660631365266976782082747) |
+
+
+ |
+ string |
+ Intended use of the public key (example: sig) |
+
+
+ |
+ array |
+ Base64-encoded X.509 certificate chain with DER encoding |
+
+
+ |
+ string |
+ Base64url-encoded SHA-256 thumbprint of the DER encoding of an X.509 certificate (example: wzPVobIrveR1x-PCbjsFGNV-6zn7Rm9KuOWOG4Rk6jE) |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists the active signing key credential for an identity provider (IdP) |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists the active signing key credential for an identity provider (IdP)
+
+```sql
+SELECT
+created,
+e,
+expiresAt,
+kid,
+kty,
+lastUpdated,
+n,
+use,
+x5c,
+x5t#S256
+FROM okta.idps.active_idp_signing_keys
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
diff --git a/website/docs/services/idps/csrs/index.md b/website/docs/services/idps/csrs/index.md
new file mode 100644
index 0000000..a11f269
--- /dev/null
+++ b/website/docs/services/idps/csrs/index.md
@@ -0,0 +1,328 @@
+---
+title: csrs
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - csrs
+ - idps
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a csrs resource.
+
+## Overview
+
+| Name | csrs |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Unique identifier for the CSR (example: h9zkutaSe7fZX0SwN1GqDApofgD1OW8g2B5l2azha50) |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was created (example: 2016-01-03T18:15:47.000Z) |
+
+
+ |
+ string |
+ Base64-encoded CSR in DER format (example: MIIC4DCCAcgCAQAwcTELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xEzARBgNVBAoMCk9rdGEsIEluYy4xDDAKBgNVBAsMA0RldjESMBAGA1UEAwwJU1AgSXNzdWVyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6m8jHVCr9/tKvvbFN59T4raoCs/78KRm4fSefHQOv1TKLXo4wTLbsqYWRWc5u0sd5orUMQgPQOyj3i6qh13mALY4BzrT057EG1BUNjGg29QgYlnOk2iX890e5BIDMQQEIKFrvOi2V8cLUkLvE2ydRn0VO1Q1frbUkYeStJYC5Api2JQsYRwa+1ZeDH1ITnIzUaugWhW2WB2lSnwZkenne5KtffxMPYVu+IhNRHoKaRA6Z51YNhMJIx17JM2hs/H4Ka3drk6kzDf7ofk/yBpb9yBWyU7CTSQhdoHidxqFprMDaT66W928t3AeOENHBuwn8c2K9WeGG+bELNyQRJVmawIDAQABoCowKAYJKoZIhvcNAQkOMRswGTAXBgNVHREEEDAOggxkZXYub2t0YS5jb20wDQYJKoZIhvcNAQELBQADggEBAA2hsVJRVM+A83X9MekjTnIbt19UNT8wX7wlE9jUKirWsxceLiZBpVGn9qfKhhVIpvdaIRSeoFYS2Kg/m1G6bCvjmZLcrQ5FcEBjZH2NKfNppGVnfC2ugtUkBtCB+UUzOhKhRKJtGugenKbP33zRWWIqnd2waF6Cy8TIuqQVPbwEDN9bCbAs7ND6CFYNguY7KYjWzQOeAR716eqpEEXuPYAS4nx/ty4ylonR8cv+gpq51rvq80A4k/36aoeM0Y6I4w64vhTfuvWW2UYFUD+/+y2FA2CSP4JfctySrf1s525v6fzTFZ3qZbB5OZQtP2b8xYWktMzywsxGKDoVDB4wkH4=) |
+
+
+ |
+ string |
+ Cryptographic algorithm family for the CSR's keypair (example: RSA) |
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Unique identifier for the CSR (example: h9zkutaSe7fZX0SwN1GqDApofgD1OW8g2B5l2azha50) |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was created (example: 2016-01-03T18:15:47.000Z) |
+
+
+ |
+ string |
+ Base64-encoded CSR in DER format (example: MIIC4DCCAcgCAQAwcTELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xEzARBgNVBAoMCk9rdGEsIEluYy4xDDAKBgNVBAsMA0RldjESMBAGA1UEAwwJU1AgSXNzdWVyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6m8jHVCr9/tKvvbFN59T4raoCs/78KRm4fSefHQOv1TKLXo4wTLbsqYWRWc5u0sd5orUMQgPQOyj3i6qh13mALY4BzrT057EG1BUNjGg29QgYlnOk2iX890e5BIDMQQEIKFrvOi2V8cLUkLvE2ydRn0VO1Q1frbUkYeStJYC5Api2JQsYRwa+1ZeDH1ITnIzUaugWhW2WB2lSnwZkenne5KtffxMPYVu+IhNRHoKaRA6Z51YNhMJIx17JM2hs/H4Ka3drk6kzDf7ofk/yBpb9yBWyU7CTSQhdoHidxqFprMDaT66W928t3AeOENHBuwn8c2K9WeGG+bELNyQRJVmawIDAQABoCowKAYJKoZIhvcNAQkOMRswGTAXBgNVHREEEDAOggxkZXYub2t0YS5jb20wDQYJKoZIhvcNAQELBQADggEBAA2hsVJRVM+A83X9MekjTnIbt19UNT8wX7wlE9jUKirWsxceLiZBpVGn9qfKhhVIpvdaIRSeoFYS2Kg/m1G6bCvjmZLcrQ5FcEBjZH2NKfNppGVnfC2ugtUkBtCB+UUzOhKhRKJtGugenKbP33zRWWIqnd2waF6Cy8TIuqQVPbwEDN9bCbAs7ND6CFYNguY7KYjWzQOeAR716eqpEEXuPYAS4nx/ty4ylonR8cv+gpq51rvq80A4k/36aoeM0Y6I4w64vhTfuvWW2UYFUD+/+y2FA2CSP4JfctySrf1s525v6fzTFZ3qZbB5OZQtP2b8xYWktMzywsxGKDoVDB4wkH4=) |
+
+
+ |
+ string |
+ Cryptographic algorithm family for the CSR's keypair (example: RSA) |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all certificate signing requests (CSRs) for an identity provider (IdP) |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves a specific certificate signing request (CSR) by `id` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Generates a new key pair and returns a certificate signing request (CSR) for it > **Note:** The private key isn't listed in the [signing key credentials for the identity provider (IdP)](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/IdentityProviderSigningKeys/#tag/IdentityProviderSigningKeys/operation/listIdentityProviderSigningKeys) until it's published. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Revokes a certificate signing request (CSR) and deletes the key pair from the identity provider (IdP) |
+
+
+ |
+ |
+ subdomain |
+ |
+ Publishes the certificate signing request (CSR) with a signed X.509 certificate and adds it into the signing key credentials for the identity provider (IdP) > **Notes:** > * Publishing a certificate completes the lifecycle of the CSR, and it's no longer accessible. > * If the validity period of the certificate is less than 90 days, a 400 error response is returned. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all certificate signing requests (CSRs) for an identity provider (IdP)
+
+```sql
+SELECT
+id,
+_links,
+created,
+csr,
+kty
+FROM okta.idps.csrs
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+Retrieves a specific certificate signing request (CSR) by `id`
+
+```sql
+SELECT
+id,
+_links,
+created,
+csr,
+kty
+FROM okta.idps.csrs
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Generates a new key pair and returns a certificate signing request (CSR) for it
> **Note:** The private key isn't listed in the [signing key credentials for the identity provider (IdP)](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/IdentityProviderSigningKeys/#tag/IdentityProviderSigningKeys/operation/listIdentityProviderSigningKeys) until it's published.
+
+```sql
+INSERT INTO okta.idps.csrs (
+data__subject,
+data__subjectAltNames,
+subdomain
+)
+SELECT
+'{{ subject }}',
+'{{ subjectAltNames }}',
+'{{ subdomain }}'
+RETURNING
+id,
+_links,
+created,
+csr,
+kty
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: csrs
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the csrs resource.
+ - name: subject
+ value: object
+ - name: subjectAltNames
+ value: object
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Revokes a certificate signing request (CSR) and deletes the key pair from the identity provider (IdP)
+
+```sql
+DELETE FROM okta.idps.csrs
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
+
+
+## Lifecycle Methods
+
+
+
+
+Publishes the certificate signing request (CSR) with a signed X.509 certificate and adds it into the signing key credentials for the identity provider (IdP)
> **Notes:**
> * Publishing a certificate completes the lifecycle of the CSR, and it's no longer accessible.
> * If the validity period of the certificate is less than 90 days, a 400 error response is returned.
+
+```sql
+EXEC okta.idps.csrs.publish_csr_for_identity_provider
+@subdomain='{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/idps/identity_providers/index.md b/website/docs/services/idps/identity_providers/index.md
new file mode 100644
index 0000000..d9f8392
--- /dev/null
+++ b/website/docs/services/idps/identity_providers/index.md
@@ -0,0 +1,574 @@
+---
+title: identity_providers
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - identity_providers
+ - idps
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists an identity_providers resource.
+
+## Overview
+
+| Name | identity_providers |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Unique key for the IdP (example: 0oaWma58liwx40w6boYD) |
+
+
+ |
+ string |
+ Unique name for the IdP (example: Sample IdP) |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was created (example: 2016-01-03T18:15:47.000Z) |
+
+
+ |
+ string |
+ Indicates whether Okta uses the original Okta org domain URL or a custom domain URL in the request to the social IdP (default: DYNAMIC) |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was last updated (example: 2016-01-03T18:15:47.000Z) |
+
+
+ |
+ object |
+ Policy settings for the IdP. The following provisioning and account linking actions are supported by each IdP provider: | IdP type | User provisioning actions | Group provisioning actions | Account link actions | Account link filters | | ----------------------------------------------------------------- | ------------------------- | ------------------------------------- | -------------------- | -------------------- | | `SAML2` | `AUTO` or `DISABLED` | `NONE`, `ASSIGN`, `APPEND`, or `SYNC` | `AUTO`, `DISABLED` | `groups`, `users` | | `X509`, `IDV_PERSONA`, `IDV_INCODE`, and `IDV_CLEAR` | `DISABLED` | No support for JIT provisioning | | | | All other IdP types | `AUTO`, `DISABLED` | `NONE` or `ASSIGN` | `AUTO`, `DISABLED` | `groups`, `users` | |
+
+
+ |
+ object |
+ The properties in the IdP `properties` object vary depending on the IdP type |
+
+
+ |
+ |
+ IdP-specific protocol settings for endpoints, bindings, and algorithms used to connect with the IdP and validate messages |
+
+
+ |
+ string |
+ |
+
+
+ |
+ string |
+ The IdP object's `type` property identifies the social or enterprise IdP used for authentication. Each IdP uses a specific protocol, therefore the `protocol` object must correspond with the IdP `type`. If the protocol is OAuth 2.0-based, the `protocol` object's `scopes` property must also correspond with the scopes supported by the IdP `type`. For policy actions supported by each IdP type, see [IdP type policy actions](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/IdentityProvider/#tag/IdentityProvider/operation/createIdentityProvider!path=policy&t=request). | Type | Description | Corresponding protocol | Corresponding protocol scopes | | ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------- | -------------------------------------------------------------------- | | `AMAZON` | [Amazon](https://developer.amazon.com/settings/console/registration?return_to=/) as the IdP | OpenID Connect | `profile`, `profile:user_id` | | `APPLE` | [Apple](https://developer.apple.com/sign-in-with-apple/) as the IdP | OpenID Connect | `names`, `email`, `openid` | | `DISCORD` | [Discord](https://discord.com/login) as the IdP | OAuth 2.0 | `identify`, `email` | | `FACEBOOK` | [Facebook](https://developers.facebook.com) as the IdP | OAuth 2.0 | `public_profile`, `email` | | `GITHUB` | [GitHub](https://github.com/join) as the IdP | OAuth 2.0 | `user` | | `GITLAB` | [GitLab](https://gitlab.com/users/sign_in) as the IdP | OpenID Connect | `openid`, `read_user`, `profile`, `email` | | `GOOGLE` | [Google](https://accounts.google.com/signup) as the IdP | OpenID Connect | `openid`, `email`, `profile` | | `IDV_PERSONA` | [Persona](https://app.withpersona.com/dashboard/login) as the IDV IdP | ID verification | | | `IDV_CLEAR` | [CLEAR Verified](https://www.clearme.com/) as the IDV IdP | ID verification | `openid`, `profile`, `identity_assurance` | | `IDV_INCODE` | [Incode](https://incode.com/) as the IDV IdP | ID verification | `openid`, `profile`, `identity_assurance` | | `LINKEDIN` | [LinkedIn](https://developer.linkedin.com/) as the IdP | OAuth 2.0 | `r_emailaddress`, `r_liteprofile` | | `LOGINGOV` | [Login.gov](https://developers.login.gov/) as the IdP | OpenID Connect | `email`, `profile`, `profile:name` | | `LOGINGOV_SANDBOX` | [Login.gov's identity sandbox](https://developers.login.gov/testing/) as the IdP | OpenID Connect | `email`, `profile`, `profile:name` | | `MICROSOFT` | [Microsoft Enterprise SSO](https://azure.microsoft.com/) as the IdP | OpenID Connect | `openid`, `email`, `profile`, `https://graph.microsoft.com/User.Read` | | `OIDC` | IdP that supports [OpenID Connect](https://openid.net/specs/openid-connect-core-1_0.html) | OpenID Connect | `openid`, `email`, `profile` | | `PAYPAL` | [Paypal](https://www.paypal.com/signin) as the IdP | OpenID Connect | `openid`, `email`, `profile` | | `PAYPAL_SANDBOX` | [Paypal Sandbox](https://developer.paypal.com/tools/sandbox/) as the IdP | OpenID Connect | `openid`, `email`, `profile` | | `SALESFORCE` | [SalesForce](https://login.salesforce.com/) as the IdP | OAuth 2.0 | `id`, `email`, `profile` | | `SAML2` | Enterprise IdP that supports the [SAML 2.0 Web Browser SSO Profile](https://docs.oasis-open.org/security/saml/v2.0/saml-profiles-2.0-os.pdf)| SAML 2.0 | | | `SPOTIFY` | [Spotify](https://developer.spotify.com/) as the IdP | OpenID Connect | `user-read-email`, `user-read-private` | | `X509` | [Smart Card IdP](https://tools.ietf.org/html/rfc5280) | Mutual TLS | | | `XERO` | [Xero](https://www.xero.com/us/signup/api/) as the IdP | OpenID Connect | `openid`, `profile`, `email` | | `YAHOO` | [Yahoo](https://login.yahoo.com/) as the IdP | OpenID Connect | `openid`, `profile`, `email` | | `YAHOOJP` | [Yahoo Japan](https://login.yahoo.co.jp/config/login) as the IdP | OpenID Connect | `openid`, `profile`, `email` | | `OKTA_INTEGRATION` | IdP that supports the [OpenID Connect](https://openid.net/specs/openid-connect-core-1_0.html) Org2Org IdP | OpenID Connect | `openid`, `email`, `profile` | |
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Unique key for the IdP (example: 0oaWma58liwx40w6boYD) |
+
+
+ |
+ string |
+ Unique name for the IdP (example: Sample IdP) |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was created (example: 2016-01-03T18:15:47.000Z) |
+
+
+ |
+ string |
+ Indicates whether Okta uses the original Okta org domain URL or a custom domain URL in the request to the social IdP (default: DYNAMIC) |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was last updated (example: 2016-01-03T18:15:47.000Z) |
+
+
+ |
+ object |
+ Policy settings for the IdP. The following provisioning and account linking actions are supported by each IdP provider: | IdP type | User provisioning actions | Group provisioning actions | Account link actions | Account link filters | | ----------------------------------------------------------------- | ------------------------- | ------------------------------------- | -------------------- | -------------------- | | `SAML2` | `AUTO` or `DISABLED` | `NONE`, `ASSIGN`, `APPEND`, or `SYNC` | `AUTO`, `DISABLED` | `groups`, `users` | | `X509`, `IDV_PERSONA`, `IDV_INCODE`, and `IDV_CLEAR` | `DISABLED` | No support for JIT provisioning | | | | All other IdP types | `AUTO`, `DISABLED` | `NONE` or `ASSIGN` | `AUTO`, `DISABLED` | `groups`, `users` | |
+
+
+ |
+ object |
+ The properties in the IdP `properties` object vary depending on the IdP type |
+
+
+ |
+ |
+ IdP-specific protocol settings for endpoints, bindings, and algorithms used to connect with the IdP and validate messages |
+
+
+ |
+ string |
+ |
+
+
+ |
+ string |
+ The IdP object's `type` property identifies the social or enterprise IdP used for authentication. Each IdP uses a specific protocol, therefore the `protocol` object must correspond with the IdP `type`. If the protocol is OAuth 2.0-based, the `protocol` object's `scopes` property must also correspond with the scopes supported by the IdP `type`. For policy actions supported by each IdP type, see [IdP type policy actions](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/IdentityProvider/#tag/IdentityProvider/operation/createIdentityProvider!path=policy&t=request). | Type | Description | Corresponding protocol | Corresponding protocol scopes | | ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------- | -------------------------------------------------------------------- | | `AMAZON` | [Amazon](https://developer.amazon.com/settings/console/registration?return_to=/) as the IdP | OpenID Connect | `profile`, `profile:user_id` | | `APPLE` | [Apple](https://developer.apple.com/sign-in-with-apple/) as the IdP | OpenID Connect | `names`, `email`, `openid` | | `DISCORD` | [Discord](https://discord.com/login) as the IdP | OAuth 2.0 | `identify`, `email` | | `FACEBOOK` | [Facebook](https://developers.facebook.com) as the IdP | OAuth 2.0 | `public_profile`, `email` | | `GITHUB` | [GitHub](https://github.com/join) as the IdP | OAuth 2.0 | `user` | | `GITLAB` | [GitLab](https://gitlab.com/users/sign_in) as the IdP | OpenID Connect | `openid`, `read_user`, `profile`, `email` | | `GOOGLE` | [Google](https://accounts.google.com/signup) as the IdP | OpenID Connect | `openid`, `email`, `profile` | | `IDV_PERSONA` | [Persona](https://app.withpersona.com/dashboard/login) as the IDV IdP | ID verification | | | `IDV_CLEAR` | [CLEAR Verified](https://www.clearme.com/) as the IDV IdP | ID verification | `openid`, `profile`, `identity_assurance` | | `IDV_INCODE` | [Incode](https://incode.com/) as the IDV IdP | ID verification | `openid`, `profile`, `identity_assurance` | | `LINKEDIN` | [LinkedIn](https://developer.linkedin.com/) as the IdP | OAuth 2.0 | `r_emailaddress`, `r_liteprofile` | | `LOGINGOV` | [Login.gov](https://developers.login.gov/) as the IdP | OpenID Connect | `email`, `profile`, `profile:name` | | `LOGINGOV_SANDBOX` | [Login.gov's identity sandbox](https://developers.login.gov/testing/) as the IdP | OpenID Connect | `email`, `profile`, `profile:name` | | `MICROSOFT` | [Microsoft Enterprise SSO](https://azure.microsoft.com/) as the IdP | OpenID Connect | `openid`, `email`, `profile`, `https://graph.microsoft.com/User.Read` | | `OIDC` | IdP that supports [OpenID Connect](https://openid.net/specs/openid-connect-core-1_0.html) | OpenID Connect | `openid`, `email`, `profile` | | `PAYPAL` | [Paypal](https://www.paypal.com/signin) as the IdP | OpenID Connect | `openid`, `email`, `profile` | | `PAYPAL_SANDBOX` | [Paypal Sandbox](https://developer.paypal.com/tools/sandbox/) as the IdP | OpenID Connect | `openid`, `email`, `profile` | | `SALESFORCE` | [SalesForce](https://login.salesforce.com/) as the IdP | OAuth 2.0 | `id`, `email`, `profile` | | `SAML2` | Enterprise IdP that supports the [SAML 2.0 Web Browser SSO Profile](https://docs.oasis-open.org/security/saml/v2.0/saml-profiles-2.0-os.pdf)| SAML 2.0 | | | `SPOTIFY` | [Spotify](https://developer.spotify.com/) as the IdP | OpenID Connect | `user-read-email`, `user-read-private` | | `X509` | [Smart Card IdP](https://tools.ietf.org/html/rfc5280) | Mutual TLS | | | `XERO` | [Xero](https://www.xero.com/us/signup/api/) as the IdP | OpenID Connect | `openid`, `profile`, `email` | | `YAHOO` | [Yahoo](https://login.yahoo.com/) as the IdP | OpenID Connect | `openid`, `profile`, `email` | | `YAHOOJP` | [Yahoo Japan](https://login.yahoo.co.jp/config/login) as the IdP | OpenID Connect | `openid`, `profile`, `email` | | `OKTA_INTEGRATION` | IdP that supports the [OpenID Connect](https://openid.net/specs/openid-connect-core-1_0.html) Org2Org IdP | OpenID Connect | `openid`, `email`, `profile` | |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ q, after, limit, type |
+ Lists all identity provider (IdP) integrations with pagination. A subset of IdPs can be returned that match a supported filter expression or query. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves an identity provider (IdP) integration by `idpId` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Creates a new identity provider (IdP) integration.
#### SAML 2.0 IdP
You must first add the IdP's signature certificate to the IdP key store before you can add a SAML 2.0 IdP with a `kid` credential reference.
Don't use `fromURI` to automatically redirect a user to a particular app after successfully authenticating with a third-party IdP. Instead, use SAML deep links. Using `fromURI` isn't tested or supported. For more information about using deep links when signing users in using an SP-initiated flow, see [Understanding SP-Initiated Login flow](https://developer.okta.com/docs/concepts/saml/#understanding-sp-initiated-login-flow).
Use SAML deep links to automatically redirect the user to an app after successfully authenticating with a third-party IdP. To use deep links, assemble these three parts into a URL:
* SP ACS URL<br> For example: `https://${yourOktaDomain}/sso/saml2/:idpId` * The app to which the user is automatically redirected after successfully authenticating with the IdP <br> For example: `/app/:app-location/:appId/sso/saml` * Optionally, if the app is an outbound SAML app, you can specify the `relayState` passed to it.<br> For example: `?RelayState=:anyUrlEncodedValue`
The deep link for the above three parts is:<br> `https://${yourOktaDomain}/sso/saml2/:idpId/app/:app-location/:appId/sso/saml?RelayState=:anyUrlEncodedValue`
#### Smart Card X509 IdP
You must first add the IdP's server certificate to the IdP key store before you can add a Smart Card `X509` IdP with a `kid` credential reference. You need to upload the whole trust chain as a single key using the [Key Store API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/IdentityProviderKeys/#tag/IdentityProviderKeys/operation/createIdentityProviderKey). Depending on the information stored in the smart card, select the proper [template](https://developer.okta.com/docs/reference/okta-expression-language/#idp-user-profile) `idpuser.subjectAltNameEmail` or `idpuser.subjectAltNameUpn`.
#### Identity verification vendors as identity providers
Identity verification vendors (IDVs) work like IdPs, with a few key differences. IDVs verify your user's identities by requiring them to submit a proof of identity. There are many ways to verify user identities. For example, a proof of identity can be a selfie to determine liveliness or it can be requiring users to submit a photo of their driver's license and matching that information with a database.
There are three IDVs that you can configure as IdPs in your org by creating an account with the vendor, and then creating an IdP integration. Control how the IDVs verify your users by using [Okta account management policy rules](https://developer.okta.com/docs/guides/okta-account-management-policy/main/).
* [Persona](https://withpersona.com/)
* [CLEAR Verified](https://www.clearme.com/)
* [Incode](https://incode.com/) |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces an identity provider (IdP) integration by `idpId` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes an identity provider (IdP) integration by `idpId` * All existing IdP users are unlinked with the highest order profile source taking precedence for each IdP user. * Unlinked users keep their existing authentication provider such as `FEDERATION` or `SOCIAL`. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Activates an inactive identity provider (IdP) |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deactivates an active identity provider (IdP) |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ The cursor to use for pagination. It is an opaque string that specifies your current location in the list and is obtained from the `Link` response header. See [Pagination](https://developer.okta.com/docs/api/#pagination). |
+
+
+ |
+ integer |
+ A limit on the number of objects to return |
+
+
+ |
+ string |
+ Searches the `name` property of IdPs for matching value (example: Example SAML) |
+
+
+ |
+ string |
+ Filters IdPs by `type` |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all identity provider (IdP) integrations with pagination. A subset of IdPs can be returned that match a supported filter expression or query.
+
+```sql
+SELECT
+id,
+name,
+_links,
+created,
+issuerMode,
+lastUpdated,
+policy,
+properties,
+protocol,
+status,
+type
+FROM okta.idps.identity_providers
+WHERE subdomain = '{{ subdomain }}' -- required
+AND q = '{{ q }}'
+AND after = '{{ after }}'
+AND limit = '{{ limit }}'
+AND type = '{{ type }}';
+```
+
+
+
+Retrieves an identity provider (IdP) integration by `idpId`
+
+```sql
+SELECT
+id,
+name,
+_links,
+created,
+issuerMode,
+lastUpdated,
+policy,
+properties,
+protocol,
+status,
+type
+FROM okta.idps.identity_providers
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Creates a new identity provider (IdP) integration.
#### SAML 2.0 IdP
You must first add the IdP's signature certificate to the IdP key store before you can add a SAML 2.0 IdP with a `kid` credential reference.
Don't use `fromURI` to automatically redirect a user to a particular app after successfully authenticating with a third-party IdP. Instead, use SAML deep links. Using `fromURI` isn't tested or supported. For more information about using deep links when signing users in using an SP-initiated flow, see [Understanding SP-Initiated Login flow](https://developer.okta.com/docs/concepts/saml/#understanding-sp-initiated-login-flow).
Use SAML deep links to automatically redirect the user to an app after successfully authenticating with a third-party IdP. To use deep links, assemble these three parts into a URL:
* SP ACS URL<br>
For example: `https://${yourOktaDomain}/sso/saml2/:idpId`
* The app to which the user is automatically redirected after successfully authenticating with the IdP <br>
For example: `/app/:app-location/:appId/sso/saml`
* Optionally, if the app is an outbound SAML app, you can specify the `relayState` passed to it.<br>
For example: `?RelayState=:anyUrlEncodedValue`
The deep link for the above three parts is:<br>
`https://${yourOktaDomain}/sso/saml2/:idpId/app/:app-location/:appId/sso/saml?RelayState=:anyUrlEncodedValue`
#### Smart Card X509 IdP
You must first add the IdP's server certificate to the IdP key store before you can add a Smart Card `X509` IdP with a `kid` credential reference.
You need to upload the whole trust chain as a single key using the [Key Store API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/IdentityProviderKeys/#tag/IdentityProviderKeys/operation/createIdentityProviderKey).
Depending on the information stored in the smart card, select the proper [template](https://developer.okta.com/docs/reference/okta-expression-language/#idp-user-profile) `idpuser.subjectAltNameEmail` or `idpuser.subjectAltNameUpn`.
#### Identity verification vendors as identity providers
Identity verification vendors (IDVs) work like IdPs, with a few key differences. IDVs verify your user's identities by requiring them to submit a proof of identity. There are many ways to verify user identities. For example, a proof of identity can be a selfie to determine liveliness or it can be requiring users to submit a photo of their driver's license and matching that information with a database.
There are three IDVs that you can configure as IdPs in your org by creating an account with the vendor, and then creating an IdP integration. Control how the IDVs verify your users by using [Okta account management policy rules](https://developer.okta.com/docs/guides/okta-account-management-policy/main/).
* [Persona](https://withpersona.com/)
* [CLEAR Verified](https://www.clearme.com/)
* [Incode](https://incode.com/)
+
+```sql
+INSERT INTO okta.idps.identity_providers (
+data__issuerMode,
+data__name,
+data__policy,
+data__properties,
+data__protocol,
+data__status,
+data__type,
+subdomain
+)
+SELECT
+'{{ issuerMode }}',
+'{{ name }}',
+'{{ policy }}',
+'{{ properties }}',
+'{{ protocol }}',
+'{{ status }}',
+'{{ type }}',
+'{{ subdomain }}'
+RETURNING
+id,
+name,
+_links,
+created,
+issuerMode,
+lastUpdated,
+policy,
+properties,
+protocol,
+status,
+type
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: identity_providers
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the identity_providers resource.
+ - name: issuerMode
+ value: string
+ description: >
+ Indicates whether Okta uses the original Okta org domain URL or a custom domain URL in the request to the social IdP
+
+ valid_values: ['CUSTOM_URL', 'DYNAMIC', 'ORG_URL']
+ default: DYNAMIC
+ - name: name
+ value: string
+ description: >
+ Unique name for the IdP
+
+ - name: policy
+ value: object
+ description: >
+ Policy settings for the IdP.
+The following provisioning and account linking actions are supported by each IdP provider:
+| IdP type | User provisioning actions | Group provisioning actions | Account link actions | Account link filters |
+| ----------------------------------------------------------------- | ------------------------- | ------------------------------------- | -------------------- | -------------------- |
+| `SAML2` | `AUTO` or `DISABLED` | `NONE`, `ASSIGN`, `APPEND`, or `SYNC` | `AUTO`, `DISABLED` | `groups`, `users` |
+| `X509`, `IDV_PERSONA`, `IDV_INCODE`, and `IDV_CLEAR` | `DISABLED` | No support for JIT provisioning | | |
+| All other IdP types | `AUTO`, `DISABLED` | `NONE` or `ASSIGN` | `AUTO`, `DISABLED` | `groups`, `users` |
+
+ - name: properties
+ value: object
+ description: >
+ The properties in the IdP `properties` object vary depending on the IdP type
+
+ - name: protocol
+ value: string
+ description: >
+ IdP-specific protocol settings for endpoints, bindings, and algorithms used to connect with the IdP and validate messages
+
+ - name: status
+ value: string
+ valid_values: ['ACTIVE', 'INACTIVE']
+ - name: type
+ value: string
+ description: >
+ The IdP object's `type` property identifies the social or enterprise IdP used for authentication.
+Each IdP uses a specific protocol, therefore the `protocol` object must correspond with the IdP `type`.
+If the protocol is OAuth 2.0-based, the `protocol` object's `scopes` property must also correspond with the scopes supported by the IdP `type`.
+For policy actions supported by each IdP type, see [IdP type policy actions](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/IdentityProvider/#tag/IdentityProvider/operation/createIdentityProvider!path=policy&t=request).
+
+| Type | Description | Corresponding protocol | Corresponding protocol scopes |
+| ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------- | -------------------------------------------------------------------- |
+| `AMAZON` | [Amazon](https://developer.amazon.com/settings/console/registration?return_to=/) as the IdP | OpenID Connect | `profile`, `profile:user_id` |
+| `APPLE` | [Apple](https://developer.apple.com/sign-in-with-apple/) as the IdP | OpenID Connect | `names`, `email`, `openid` |
+| `DISCORD` | [Discord](https://discord.com/login) as the IdP | OAuth 2.0 | `identify`, `email` |
+| `FACEBOOK` | [Facebook](https://developers.facebook.com) as the IdP | OAuth 2.0 | `public_profile`, `email` |
+| `GITHUB` | [GitHub](https://github.com/join) as the IdP | OAuth 2.0 | `user` |
+| `GITLAB` | [GitLab](https://gitlab.com/users/sign_in) as the IdP | OpenID Connect | `openid`, `read_user`, `profile`, `email` |
+| `GOOGLE` | [Google](https://accounts.google.com/signup) as the IdP | OpenID Connect | `openid`, `email`, `profile` |
+| `IDV_PERSONA` | [Persona](https://app.withpersona.com/dashboard/login) as the IDV IdP | ID verification | |
+| `IDV_CLEAR` | [CLEAR Verified](https://www.clearme.com/) as the IDV IdP | ID verification | `openid`, `profile`, `identity_assurance` |
+| `IDV_INCODE` | [Incode](https://incode.com/) as the IDV IdP | ID verification | `openid`, `profile`, `identity_assurance` |
+| `LINKEDIN` | [LinkedIn](https://developer.linkedin.com/) as the IdP | OAuth 2.0 | `r_emailaddress`, `r_liteprofile` |
+| `LOGINGOV` | [Login.gov](https://developers.login.gov/) as the IdP | OpenID Connect | `email`, `profile`, `profile:name` |
+| `LOGINGOV_SANDBOX` | [Login.gov's identity sandbox](https://developers.login.gov/testing/) as the IdP | OpenID Connect | `email`, `profile`, `profile:name` |
+| `MICROSOFT` | [Microsoft Enterprise SSO](https://azure.microsoft.com/) as the IdP | OpenID Connect | `openid`, `email`, `profile`, `https://graph.microsoft.com/User.Read` |
+| `OIDC` | IdP that supports [OpenID Connect](https://openid.net/specs/openid-connect-core-1_0.html) | OpenID Connect | `openid`, `email`, `profile` |
+| `PAYPAL` | [Paypal](https://www.paypal.com/signin) as the IdP | OpenID Connect | `openid`, `email`, `profile` |
+| `PAYPAL_SANDBOX` | [Paypal Sandbox](https://developer.paypal.com/tools/sandbox/) as the IdP | OpenID Connect | `openid`, `email`, `profile` |
+| `SALESFORCE` | [SalesForce](https://login.salesforce.com/) as the IdP | OAuth 2.0 | `id`, `email`, `profile` |
+| `SAML2` | Enterprise IdP that supports the [SAML 2.0 Web Browser SSO Profile](https://docs.oasis-open.org/security/saml/v2.0/saml-profiles-2.0-os.pdf)| SAML 2.0 | |
+| `SPOTIFY` | [Spotify](https://developer.spotify.com/) as the IdP | OpenID Connect | `user-read-email`, `user-read-private` |
+| `X509` | [Smart Card IdP](https://tools.ietf.org/html/rfc5280) | Mutual TLS | |
+| `XERO` | [Xero](https://www.xero.com/us/signup/api/) as the IdP | OpenID Connect | `openid`, `profile`, `email` |
+| `YAHOO` | [Yahoo](https://login.yahoo.com/) as the IdP | OpenID Connect | `openid`, `profile`, `email` |
+| `YAHOOJP` | [Yahoo Japan](https://login.yahoo.co.jp/config/login) as the IdP | OpenID Connect | `openid`, `profile`, `email` |
+| `OKTA_INTEGRATION` | IdP that supports the [OpenID Connect](https://openid.net/specs/openid-connect-core-1_0.html) Org2Org IdP | OpenID Connect | `openid`, `email`, `profile` |
+
+ valid_values: ['AMAZON', 'APPLE', 'DISCORD', 'FACEBOOK', 'GITHUB', 'GITLAB', 'GOOGLE', 'IDV_CLEAR', 'IDV_INCODE', 'IDV_PERSONA', 'LINKEDIN', 'LOGINGOV', 'LOGINGOV_SANDBOX', 'MICROSOFT', 'OIDC', 'OKTA_INTEGRATION', 'PAYPAL', 'PAYPAL_SANDBOX', 'SALESFORCE', 'SAML2', 'SPOTIFY', 'X509', 'XERO', 'YAHOO', 'YAHOOJP']
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces an identity provider (IdP) integration by `idpId`
+
+```sql
+REPLACE okta.idps.identity_providers
+SET
+data__issuerMode = '{{ issuerMode }}',
+data__name = '{{ name }}',
+data__policy = '{{ policy }}',
+data__properties = '{{ properties }}',
+data__protocol = '{{ protocol }}',
+data__status = '{{ status }}',
+data__type = '{{ type }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+id,
+name,
+_links,
+created,
+issuerMode,
+lastUpdated,
+policy,
+properties,
+protocol,
+status,
+type;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes an identity provider (IdP) integration by `idpId`
* All existing IdP users are unlinked with the highest order profile source taking precedence for each IdP user.
* Unlinked users keep their existing authentication provider such as `FEDERATION` or `SOCIAL`.
+
+```sql
+DELETE FROM okta.idps.identity_providers
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
+
+
+## Lifecycle Methods
+
+
+
+
+Activates an inactive identity provider (IdP)
+
+```sql
+EXEC okta.idps.identity_providers.activate_identity_provider
+@subdomain='{{ subdomain }}' --required;
+```
+
+
+
+Deactivates an active identity provider (IdP)
+
+```sql
+EXEC okta.idps.identity_providers.deactivate_identity_provider
+@subdomain='{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/idps/idp_users/index.md b/website/docs/services/idps/idp_users/index.md
new file mode 100644
index 0000000..4d12b88
--- /dev/null
+++ b/website/docs/services/idps/idp_users/index.md
@@ -0,0 +1,323 @@
+---
+title: idp_users
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - idp_users
+ - idps
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists an idp_users resource.
+
+## Overview
+
+| Name | idp_users |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Unique key of the user |
+
+
+ |
+ object |
+ Embedded resources related to the IdP user |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was created (example: 2016-01-03T18:15:47.000Z) |
+
+
+ |
+ string |
+ Unique IdP-specific identifier for the user (example: saml.jackson@example.com) |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was last updated (example: 2016-01-03T18:15:47.000Z) |
+
+
+ |
+ object |
+ IdP-specific profile for the user. IdP user profiles are IdP-specific but may be customized by the Profile Editor in the Admin Console. > **Note:** Okta variable names have reserved characters that may conflict with the name of an IdP assertion attribute. You can use the **External name** to define the attribute name as defined in an IdP assertion such as a SAML attribute name. |
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Unique key of the user |
+
+
+ |
+ object |
+ Embedded resources related to the IdP user |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was created (example: 2016-01-03T18:15:47.000Z) |
+
+
+ |
+ string |
+ Unique IdP-specific identifier for the user (example: saml.jackson@example.com) |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was last updated (example: 2016-01-03T18:15:47.000Z) |
+
+
+ |
+ object |
+ IdP-specific profile for the user. IdP user profiles are IdP-specific but may be customized by the Profile Editor in the Admin Console. > **Note:** Okta variable names have reserved characters that may conflict with the name of an IdP assertion attribute. You can use the **External name** to define the attribute name as defined in an IdP assertion such as a SAML attribute name. |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ q, after, limit, expand |
+ Lists all the users linked to an identity provider (IdP) |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves a linked identity provider (IdP) user by ID |
+
+
+ |
+ |
+ subdomain |
+ |
+ Unlinks the Okta user and the identity provider (IdP) user. The next time the user federates into Okta through this IdP, they have to re-link their account according to the account link policy. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Links an Okta user to an existing SAML or social identity provider (IdP).
The SAML IdP must have `honorPersistentNameId` set to `true` to use this API. The [Name Identifier Format](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/IdentityProvider/#tag/IdentityProvider/operation/replaceIdentityProvider!path=protocol/0/settings&t=request) of the incoming assertion must be `urn:oasis:names:tc:SAML:2.0:nameid-format:persistent`. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ The cursor to use for pagination. It is an opaque string that specifies your current location in the list and is obtained from the `Link` response header. See [Pagination](https://developer.okta.com/docs/api/#pagination). |
+
+
+ |
+ string |
+ Expand user data |
+
+
+ |
+ integer |
+ A limit on the number of objects to return |
+
+
+ |
+ string |
+ Searches the records for matching value |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all the users linked to an identity provider (IdP)
+
+```sql
+SELECT
+id,
+_embedded,
+_links,
+created,
+externalId,
+lastUpdated,
+profile
+FROM okta.idps.idp_users
+WHERE subdomain = '{{ subdomain }}' -- required
+AND q = '{{ q }}'
+AND after = '{{ after }}'
+AND limit = '{{ limit }}'
+AND expand = '{{ expand }}';
+```
+
+
+
+Retrieves a linked identity provider (IdP) user by ID
+
+```sql
+SELECT
+id,
+_embedded,
+_links,
+created,
+externalId,
+lastUpdated,
+profile
+FROM okta.idps.idp_users
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Unlinks the Okta user and the identity provider (IdP) user. The next time the user federates into Okta through this IdP, they have to re-link their account according to the account link policy.
+
+```sql
+DELETE FROM okta.idps.idp_users
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
+
+
+## Lifecycle Methods
+
+
+
+
+Links an Okta user to an existing SAML or social identity provider (IdP).
The SAML IdP must have `honorPersistentNameId` set to `true` to use this API.
The [Name Identifier Format](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/IdentityProvider/#tag/IdentityProvider/operation/replaceIdentityProvider!path=protocol/0/settings&t=request) of the incoming assertion must be `urn:oasis:names:tc:SAML:2.0:nameid-format:persistent`.
+
+```sql
+EXEC okta.idps.idp_users.link_user_to_identity_provider
+@subdomain='{{ subdomain }}' --required
+@@json=
+'{
+"externalId": "{{ externalId }}"
+}';
+```
+
+
diff --git a/website/docs/services/idps/index.md b/website/docs/services/idps/index.md
new file mode 100644
index 0000000..5d5db7d
--- /dev/null
+++ b/website/docs/services/idps/index.md
@@ -0,0 +1,38 @@
+---
+title: idps
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - idps
+ - okta
+ - stackql
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+idps service documentation.
+
+:::info[Service Summary]
+
+total resources: __7__
+
+:::
+
+## Resources
+
\ No newline at end of file
diff --git a/website/docs/services/idps/keys/index.md b/website/docs/services/idps/keys/index.md
new file mode 100644
index 0000000..7a20b08
--- /dev/null
+++ b/website/docs/services/idps/keys/index.md
@@ -0,0 +1,424 @@
+---
+title: keys
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - keys
+ - idps
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a keys resource.
+
+## Overview
+
+| Name | keys |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was created (example: 2016-01-03T18:15:47.000Z) |
+
+
+ |
+ string |
+ The exponent value for the RSA public key (example: AQAB) |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object expires (example: 2016-01-03T18:15:47.000Z) |
+
+
+ |
+ string |
+ Unique identifier for the key (example: your-key-id) |
+
+
+ |
+ string |
+ Identifies the cryptographic algorithm family used with the key (example: RSA) |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was last updated (example: 2016-01-03T18:15:47.000Z) |
+
+
+ |
+ string |
+ The modulus value for the RSA public key (example: 101438407598598116085679865987760095721749307901605456708912786847324207000576780508113360584555007890315805735307890113536927352312915634368993759211767770602174860126854831344273970871509573365292777620005537635317282520456901584213746937262823585533063042033441296629204165064680610660631365266976782082747) |
+
+
+ |
+ string |
+ Intended use of the public key (example: sig) |
+
+
+ |
+ array |
+ Base64-encoded X.509 certificate chain with DER encoding |
+
+
+ |
+ string |
+ Base64url-encoded SHA-256 thumbprint of the DER encoding of an X.509 certificate (example: wzPVobIrveR1x-PCbjsFGNV-6zn7Rm9KuOWOG4Rk6jE) |
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was created (example: 2016-01-03T18:15:47.000Z) |
+
+
+ |
+ string |
+ The exponent value for the RSA public key (example: AQAB) |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object expires (example: 2016-01-03T18:15:47.000Z) |
+
+
+ |
+ string |
+ Unique identifier for the key (example: your-key-id) |
+
+
+ |
+ string |
+ Identifies the cryptographic algorithm family used with the key (example: RSA) |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was last updated (example: 2016-01-03T18:15:47.000Z) |
+
+
+ |
+ string |
+ The modulus value for the RSA public key (example: 101438407598598116085679865987760095721749307901605456708912786847324207000576780508113360584555007890315805735307890113536927352312915634368993759211767770602174860126854831344273970871509573365292777620005537635317282520456901584213746937262823585533063042033441296629204165064680610660631365266976782082747) |
+
+
+ |
+ string |
+ Intended use of the public key (example: sig) |
+
+
+ |
+ array |
+ Base64-encoded X.509 certificate chain with DER encoding |
+
+
+ |
+ string |
+ Base64url-encoded SHA-256 thumbprint of the DER encoding of an X.509 certificate (example: wzPVobIrveR1x-PCbjsFGNV-6zn7Rm9KuOWOG4Rk6jE) |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ after, limit |
+ Lists all identity provider (IdP) key credentials |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves a specific identity provider (IdP) key credential by `kid` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Creates a new X.509 certificate credential in the identity provider (IdP) key store > **Note:** RSA-based certificates are supported for all IdP types. Okta currently supports EC-based certificates only for the `X509` IdP type. For EC-based certificates we support only P-256, P-384, and P-521 curves. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces an identity provider (IdP) key credential by `kid` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes a specific identity provider (IdP) key credential by `kid` if it isn't currently being used by an active or inactive IdP |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ The cursor to use for pagination. It is an opaque string that specifies your current location in the list and is obtained from the `Link` response header. See [Pagination](https://developer.okta.com/docs/api/#pagination). |
+
+
+ |
+ integer |
+ A limit on the number of objects to return |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all identity provider (IdP) key credentials
+
+```sql
+SELECT
+created,
+e,
+expiresAt,
+kid,
+kty,
+lastUpdated,
+n,
+use,
+x5c,
+x5t#S256
+FROM okta.idps.keys
+WHERE subdomain = '{{ subdomain }}' -- required
+AND after = '{{ after }}'
+AND limit = '{{ limit }}';
+```
+
+
+
+Retrieves a specific identity provider (IdP) key credential by `kid`
+
+```sql
+SELECT
+created,
+e,
+expiresAt,
+kid,
+kty,
+lastUpdated,
+n,
+use,
+x5c,
+x5t#S256
+FROM okta.idps.keys
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Creates a new X.509 certificate credential in the identity provider (IdP) key store
> **Note:** RSA-based certificates are supported for all IdP types. Okta currently supports EC-based certificates only for the `X509` IdP type. For EC-based certificates we support only P-256, P-384, and P-521 curves.
+
+```sql
+INSERT INTO okta.idps.keys (
+data__x5c,
+subdomain
+)
+SELECT
+'{{ x5c }}' --required,
+'{{ subdomain }}'
+RETURNING
+created,
+e,
+expiresAt,
+kid,
+kty,
+lastUpdated,
+n,
+use,
+x5c,
+x5t#S256
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: keys
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the keys resource.
+ - name: x5c
+ value: array
+ description: >
+ Base64-encoded X.509 certificate chain with DER encoding
+
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces an identity provider (IdP) key credential by `kid`
+
+```sql
+REPLACE okta.idps.keys
+SET
+data__e = '{{ e }}',
+data__kid = '{{ kid }}',
+data__kty = '{{ kty }}',
+data__n = '{{ n }}',
+data__use = '{{ use }}',
+data__x5c = '{{ x5c }}',
+data__x5t#S256 = '{{ x5t#S256 }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+created,
+e,
+expiresAt,
+kid,
+kty,
+lastUpdated,
+n,
+use,
+x5c,
+x5t#S256;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes a specific identity provider (IdP) key credential by `kid` if it isn't currently being used by an active or inactive IdP
+
+```sql
+DELETE FROM okta.idps.keys
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/idps/signing_keys/index.md b/website/docs/services/idps/signing_keys/index.md
new file mode 100644
index 0000000..e601d7c
--- /dev/null
+++ b/website/docs/services/idps/signing_keys/index.md
@@ -0,0 +1,374 @@
+---
+title: signing_keys
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - signing_keys
+ - idps
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a signing_keys resource.
+
+## Overview
+
+| Name | signing_keys |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was created (example: 2016-01-03T18:15:47.000Z) |
+
+
+ |
+ string |
+ The exponent value for the RSA public key (example: AQAB) |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object expires (example: 2016-01-03T18:15:47.000Z) |
+
+
+ |
+ string |
+ Unique identifier for the key (example: your-key-id) |
+
+
+ |
+ string |
+ Identifies the cryptographic algorithm family used with the key (example: RSA) |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was last updated (example: 2016-01-03T18:15:47.000Z) |
+
+
+ |
+ string |
+ The modulus value for the RSA public key (example: 101438407598598116085679865987760095721749307901605456708912786847324207000576780508113360584555007890315805735307890113536927352312915634368993759211767770602174860126854831344273970871509573365292777620005537635317282520456901584213746937262823585533063042033441296629204165064680610660631365266976782082747) |
+
+
+ |
+ string |
+ Intended use of the public key (example: sig) |
+
+
+ |
+ array |
+ Base64-encoded X.509 certificate chain with DER encoding |
+
+
+ |
+ string |
+ Base64url-encoded SHA-256 thumbprint of the DER encoding of an X.509 certificate (example: wzPVobIrveR1x-PCbjsFGNV-6zn7Rm9KuOWOG4Rk6jE) |
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was created (example: 2016-01-03T18:15:47.000Z) |
+
+
+ |
+ string |
+ The exponent value for the RSA public key (example: AQAB) |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object expires (example: 2016-01-03T18:15:47.000Z) |
+
+
+ |
+ string |
+ Unique identifier for the key (example: your-key-id) |
+
+
+ |
+ string |
+ Identifies the cryptographic algorithm family used with the key (example: RSA) |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was last updated (example: 2016-01-03T18:15:47.000Z) |
+
+
+ |
+ string |
+ The modulus value for the RSA public key (example: 101438407598598116085679865987760095721749307901605456708912786847324207000576780508113360584555007890315805735307890113536927352312915634368993759211767770602174860126854831344273970871509573365292777620005537635317282520456901584213746937262823585533063042033441296629204165064680610660631365266976782082747) |
+
+
+ |
+ string |
+ Intended use of the public key (example: sig) |
+
+
+ |
+ array |
+ Base64-encoded X.509 certificate chain with DER encoding |
+
+
+ |
+ string |
+ Base64url-encoded SHA-256 thumbprint of the DER encoding of an X.509 certificate (example: wzPVobIrveR1x-PCbjsFGNV-6zn7Rm9KuOWOG4Rk6jE) |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all signing key credentials for an identity provider (IdP) |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves a specific identity provider (IdP) key credential by `kid` |
+
+
+ |
+ |
+ validityYears, subdomain |
+ |
+ Generates a new X.509 certificate for an identity provider (IdP) signing key credential to be used for signing assertions sent to the IdP. IdP signing keys are read-only. > **Note:** To update an IdP with the newly generated key credential, [update your IdP](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/IdentityProvider/#tag/IdentityProvider/operation/replaceIdentityProvider) using the returned key's `kid` in the [signing credential](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/IdentityProvider/#tag/IdentityProvider/operation/replaceIdentityProvider!path=protocol/0/credentials/signing/kid&t=request). |
+
+
+ |
+ |
+ targetIdpId, subdomain |
+ |
+ Clones an X.509 certificate for an identity provider (IdP) signing key credential from a source IdP to target IdP > **Caution:** Sharing certificates isn't a recommended security practice.
> **Note:** If the key is already present in the list of key credentials for the target IdP, you receive a 400 error response. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ `id` of the target IdP |
+
+
+ |
+ integer (int32) |
+ expiry of the IdP key credential |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all signing key credentials for an identity provider (IdP)
+
+```sql
+SELECT
+created,
+e,
+expiresAt,
+kid,
+kty,
+lastUpdated,
+n,
+use,
+x5c,
+x5t#S256
+FROM okta.idps.signing_keys
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+Retrieves a specific identity provider (IdP) key credential by `kid`
+
+```sql
+SELECT
+created,
+e,
+expiresAt,
+kid,
+kty,
+lastUpdated,
+n,
+use,
+x5c,
+x5t#S256
+FROM okta.idps.signing_keys
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Generates a new X.509 certificate for an identity provider (IdP) signing key credential to be used for signing assertions sent to the IdP. IdP signing keys are read-only.
> **Note:** To update an IdP with the newly generated key credential, [update your IdP](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/IdentityProvider/#tag/IdentityProvider/operation/replaceIdentityProvider) using the returned key's `kid` in the [signing credential](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/IdentityProvider/#tag/IdentityProvider/operation/replaceIdentityProvider!path=protocol/0/credentials/signing/kid&t=request).
+
+```sql
+INSERT INTO okta.idps.signing_keys (
+validityYears,
+subdomain
+)
+SELECT
+'{{ validityYears }}',
+'{{ subdomain }}'
+RETURNING
+created,
+e,
+expiresAt,
+kid,
+kty,
+lastUpdated,
+n,
+use,
+x5c,
+x5t#S256
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: signing_keys
+ props:
+ - name: validityYears
+ value: integer (int32)
+ description: Required parameter for the signing_keys resource.
+ - name: subdomain
+ value: string
+ description: Required parameter for the signing_keys resource.
+```
+
+
+
+
+## Lifecycle Methods
+
+
+
+
+Clones an X.509 certificate for an identity provider (IdP) signing key credential from a source IdP to target IdP
> **Caution:** Sharing certificates isn't a recommended security practice.
> **Note:** If the key is already present in the list of key credentials for the target IdP, you receive a 400 error response.
+
+```sql
+EXEC okta.idps.signing_keys.clone_identity_provider_key
+@targetIdpId='{{ targetIdpId }}' --required,
+@subdomain='{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/idps/social_auth_tokens/index.md b/website/docs/services/idps/social_auth_tokens/index.md
new file mode 100644
index 0000000..34fa4f5
--- /dev/null
+++ b/website/docs/services/idps/social_auth_tokens/index.md
@@ -0,0 +1,158 @@
+---
+title: social_auth_tokens
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - social_auth_tokens
+ - idps
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a social_auth_tokens resource.
+
+## Overview
+
+| Name | social_auth_tokens |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Unique identifier for the token (example: NXp9GaX1eOA-XVF_H9fn2Q) |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object expires (example: 2016-01-03T18:15:47.000Z) |
+
+
+ |
+ array |
+ The scopes that the token is good for |
+
+
+ |
+ string |
+ The raw token (example: JBTWGV22G4ZGKV3N) |
+
+
+ |
+ string |
+ The token authentication scheme as defined by the social provider (example: Bearer) |
+
+
+ |
+ string |
+ The type of token defined by the [OAuth Token Exchange Spec](https://tools.ietf.org/html/draft-ietf-oauth-token-exchange-07#section-3) (example: urn:ietf:params:oauth:token-type:access_token) |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists the tokens minted by the social authentication provider when the user authenticates with Okta via Social Auth.
Okta doesn't import all the user information from a social provider. If the app needs information that isn't imported, it can get the user token from this endpoint. Then the app can make an API call to the social provider with the token to request the additional information. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists the tokens minted by the social authentication provider when the user authenticates with Okta via Social Auth.
Okta doesn't import all the user information from a social provider. If the app needs information that isn't imported, it can get the user token from this endpoint. Then the app can make an API call to the social provider with the token to request the additional information.
+
+```sql
+SELECT
+id,
+expiresAt,
+scopes,
+token,
+tokenAuthScheme,
+tokenType
+FROM okta.idps.social_auth_tokens
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
diff --git a/website/docs/services/inlinehooks/index.md b/website/docs/services/inlinehooks/index.md
new file mode 100644
index 0000000..6842f55
--- /dev/null
+++ b/website/docs/services/inlinehooks/index.md
@@ -0,0 +1,33 @@
+---
+title: inlinehooks
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - inlinehooks
+ - okta
+ - stackql
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+inlinehooks service documentation.
+
+:::info[Service Summary]
+
+total resources: __1__
+
+:::
+
+## Resources
+
\ No newline at end of file
diff --git a/website/docs/services/inlinehooks/inline_hooks/index.md b/website/docs/services/inlinehooks/inline_hooks/index.md
new file mode 100644
index 0000000..c37323b
--- /dev/null
+++ b/website/docs/services/inlinehooks/inline_hooks/index.md
@@ -0,0 +1,522 @@
+---
+title: inline_hooks
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - inline_hooks
+ - inlinehooks
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists an inline_hooks resource.
+
+## Overview
+
+| Name | inline_hooks |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The unique identifier for the inline hook |
+
+
+ |
+ string |
+ The display name of the inline hook |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ object |
+ |
+
+
+ |
+ string (date-time) |
+ Date of the inline hook creation |
+
+
+ |
+ string (date-time) |
+ Date of the last inline hook update |
+
+
+ |
+ string |
+ |
+
+
+ |
+ string |
+ One of the inline hook types |
+
+
+ |
+ string |
+ Version of the inline hook type. The currently supported version is `1.0.0`. |
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The unique identifier for the inline hook |
+
+
+ |
+ string |
+ The display name of the inline hook |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ object |
+ |
+
+
+ |
+ string (date-time) |
+ Date of the inline hook creation |
+
+
+ |
+ string (date-time) |
+ Date of the last inline hook update |
+
+
+ |
+ string |
+ |
+
+
+ |
+ string |
+ One of the inline hook types |
+
+
+ |
+ string |
+ Version of the inline hook type. The currently supported version is `1.0.0`. |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ type |
+ Lists all inline hooks or all inline hooks of a specific type.
When listing a specific inline hook, you need to specify its type. The following types are currently supported: | Type Value | Name | |------------------------------------|----------------------------------------------------------------| | `com.okta.import.transform` | [User import inline hook](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/InlineHook/#tag/InlineHook/operation/createUserImportInlineHook) | | `com.okta.oauth2.tokens.transform` | [Token inline hook](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/InlineHook/#tag/InlineHook/operation/createTokenInlineHook) | | `com.okta.saml.tokens.transform` | [SAML assertion inline hook](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/InlineHook/#tag/InlineHook/operation/createSAMLAssertionInlineHook) | | `com.okta.telephony.provider` | [Telephony inline hook](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/InlineHook/#tag/InlineHook/operation/createTelephonyInlineHook) | | `com.okta.user.credential.password.import` | [Password import inline hook](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/InlineHook/#tag/InlineHook/operation/createPasswordImportInlineHook)| | `com.okta.user.pre-registration` | [Registration inline hook](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/InlineHook/#tag/InlineHook/operation/create-registration-hook) | |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves an inline hook by `inlineHookId` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Creates an inline hook
This endpoint creates an inline hook for your org in an `ACTIVE` status. You need to pass an inline hooks object in the JSON payload of your request. That object represents the set of required information about the inline hook that you're registering, including:
* The URI of your external service endpoint * The type of inline hook you're registering * The type of authentication you're registering
There are two authentication options that you can configure for your inline hook: HTTP headers and OAuth 2.0 tokens.
HTTP headers let you specify a secret API key that you want Okta to pass to your external service endpoint (so that your external service can check for its presence as a security measure).
>**Note:** The API key that you set here is unrelated to the Okta API token you must supply when making calls to Okta APIs.
You can also optionally specify extra headers that you want Okta to pass to your external service with each call.
To configure HTTP header authentication, see parameters for the `config` object.
OAuth 2.0 tokens provide enhanced security between Okta and your external service. You can configure these tokens for the following types—client secret and private key.
>**Note:** Your external service's endpoint needs to be a valid HTTPS endpoint. The URI you specify should always begin with `https://`.
The total number of inline hooks that you can create in an Okta org is limited to 50, which is a combined total for any combination of inline hook types. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Updates an inline hook by `inlineHookId` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces an inline hook by `inlineHookId`. The submitted inline hook properties replace the existing properties after passing validation.
>**Note:** Some properties are immutable and can't be updated. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes an inline hook by `inlineHookId`. After it's deleted, the inline hook is unrecoverable. As a safety precaution, only inline hooks with a status of `INACTIVE` are eligible for deletion. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Executes the inline hook that matches the provided `inlineHookId` by using the request body as the input. This inline hook sends the provided data through the `channel` object and returns a response if it matches the correct data contract. Otherwise it returns an error. You need to construct a JSON payload that matches the payloads that Okta would send to your external service for this inline hook type.
A timeout of three seconds is enforced on all outbound requests, with one retry in the event of a timeout or an error response from the remote system. If a successful response isn't received after the request, a 400 error is returned with more information about what failed.
>**Note:** This execution endpoint isn't tied to any other functionality in Okta, and you should only use it for testing purposes. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Activates the inline hook by `inlineHookId` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deactivates the inline hook by `inlineHookId` |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ One of the supported inline hook types |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all inline hooks or all inline hooks of a specific type.
When listing a specific inline hook, you need to specify its type. The following types are currently supported:
| Type Value | Name |
|------------------------------------|----------------------------------------------------------------|
| `com.okta.import.transform` | [User import inline hook](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/InlineHook/#tag/InlineHook/operation/createUserImportInlineHook) |
| `com.okta.oauth2.tokens.transform` | [Token inline hook](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/InlineHook/#tag/InlineHook/operation/createTokenInlineHook) |
| `com.okta.saml.tokens.transform` | [SAML assertion inline hook](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/InlineHook/#tag/InlineHook/operation/createSAMLAssertionInlineHook) |
| `com.okta.telephony.provider` | [Telephony inline hook](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/InlineHook/#tag/InlineHook/operation/createTelephonyInlineHook) |
| `com.okta.user.credential.password.import` | [Password import inline hook](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/InlineHook/#tag/InlineHook/operation/createPasswordImportInlineHook)|
| `com.okta.user.pre-registration` | [Registration inline hook](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/InlineHook/#tag/InlineHook/operation/create-registration-hook) |
+
+```sql
+SELECT
+id,
+name,
+_links,
+channel,
+created,
+lastUpdated,
+status,
+type,
+version
+FROM okta.inlinehooks.inline_hooks
+WHERE subdomain = '{{ subdomain }}' -- required
+AND type = '{{ type }}';
+```
+
+
+
+Retrieves an inline hook by `inlineHookId`
+
+```sql
+SELECT
+id,
+name,
+_links,
+channel,
+created,
+lastUpdated,
+status,
+type,
+version
+FROM okta.inlinehooks.inline_hooks
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Creates an inline hook
This endpoint creates an inline hook for your org in an `ACTIVE` status. You need to pass an inline hooks object in the JSON payload of your request.
That object represents the set of required information about the inline hook that you're registering, including:
* The URI of your external service endpoint
* The type of inline hook you're registering
* The type of authentication you're registering
There are two authentication options that you can configure for your inline hook: HTTP headers and OAuth 2.0 tokens.
HTTP headers let you specify a secret API key that you want Okta to pass to your external service endpoint (so that your external service can check for its presence as a security measure).
>**Note:** The API key that you set here is unrelated to the Okta API token you must supply when making calls to Okta APIs.
You can also optionally specify extra headers that you want Okta to pass to your external service with each call.
To configure HTTP header authentication, see parameters for the `config` object.
OAuth 2.0 tokens provide enhanced security between Okta and your external service. You can configure these tokens for the following types—client secret and private key.
>**Note:** Your external service's endpoint needs to be a valid HTTPS endpoint. The URI you specify should always begin with `https://`.
The total number of inline hooks that you can create in an Okta org is limited to 50, which is a combined total for any combination of inline hook types.
+
+```sql
+INSERT INTO okta.inlinehooks.inline_hooks (
+data__channel,
+data__name,
+data__type,
+data__version,
+subdomain
+)
+SELECT
+'{{ channel }}',
+'{{ name }}',
+'{{ type }}',
+'{{ version }}',
+'{{ subdomain }}'
+RETURNING
+id,
+name,
+_links,
+channel,
+created,
+lastUpdated,
+status,
+type,
+version
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: inline_hooks
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the inline_hooks resource.
+ - name: channel
+ value: object
+ - name: name
+ value: string
+ description: >
+ The display name of the inline hook
+
+ - name: type
+ value: string
+ description: >
+ One of the inline hook types
+
+ valid_values: ['com.okta.import.transform', 'com.okta.oauth2.tokens.transform', 'com.okta.saml.tokens.transform', 'com.okta.telephony.provider', 'com.okta.user.credential.password.import', 'com.okta.user.pre-registration']
+ - name: version
+ value: string
+ description: >
+ Version of the inline hook type. The currently supported version is `1.0.0`.
+
+```
+
+
+
+
+## `UPDATE` examples
+
+
+
+
+Updates an inline hook by `inlineHookId`
+
+```sql
+UPDATE okta.inlinehooks.inline_hooks
+SET
+data__channel = '{{ channel }}',
+data__name = '{{ name }}',
+data__version = '{{ version }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+id,
+name,
+_links,
+channel,
+created,
+lastUpdated,
+status,
+type,
+version;
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces an inline hook by `inlineHookId`. The submitted inline hook properties replace the existing properties after passing validation.
>**Note:** Some properties are immutable and can't be updated.
+
+```sql
+REPLACE okta.inlinehooks.inline_hooks
+SET
+data__channel = '{{ channel }}',
+data__name = '{{ name }}',
+data__version = '{{ version }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+id,
+name,
+_links,
+channel,
+created,
+lastUpdated,
+status,
+type,
+version;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes an inline hook by `inlineHookId`. After it's deleted, the inline hook is unrecoverable. As a safety precaution, only inline hooks with a status of `INACTIVE` are eligible for deletion.
+
+```sql
+DELETE FROM okta.inlinehooks.inline_hooks
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
+
+
+## Lifecycle Methods
+
+
+
+
+Executes the inline hook that matches the provided `inlineHookId` by using the request body as the input. This inline hook sends the provided
data through the `channel` object and returns a response if it matches the correct data contract. Otherwise it returns an error. You need to
construct a JSON payload that matches the payloads that Okta would send to your external service for this inline hook type.
A timeout of three seconds is enforced on all outbound requests, with one retry in the event of a timeout or an error response from the remote system.
If a successful response isn't received after the request, a 400 error is returned with more information about what failed.
>**Note:** This execution endpoint isn't tied to any other functionality in Okta, and you should only use it for testing purposes.
+
+```sql
+EXEC okta.inlinehooks.inline_hooks.execute_inline_hook
+@subdomain='{{ subdomain }}' --required;
+```
+
+
+
+Activates the inline hook by `inlineHookId`
+
+```sql
+EXEC okta.inlinehooks.inline_hooks.activate_inline_hook
+@subdomain='{{ subdomain }}' --required;
+```
+
+
+
+Deactivates the inline hook by `inlineHookId`
+
+```sql
+EXEC okta.inlinehooks.inline_hooks.deactivate_inline_hook
+@subdomain='{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/integrations/index.md b/website/docs/services/integrations/index.md
new file mode 100644
index 0000000..e723d28
--- /dev/null
+++ b/website/docs/services/integrations/index.md
@@ -0,0 +1,33 @@
+---
+title: integrations
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - integrations
+ - okta
+ - stackql
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+integrations service documentation.
+
+:::info[Service Summary]
+
+total resources: __2__
+
+:::
+
+## Resources
+
\ No newline at end of file
diff --git a/website/docs/services/integrations/instance_secrets/index.md b/website/docs/services/integrations/instance_secrets/index.md
new file mode 100644
index 0000000..0a7f5c7
--- /dev/null
+++ b/website/docs/services/integrations/instance_secrets/index.md
@@ -0,0 +1,284 @@
+---
+title: instance_secrets
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - instance_secrets
+ - integrations
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists an instance_secrets resource.
+
+## Overview
+
+| Name | instance_secrets |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The ID of the API Service Integration instance Secret (example: ocs2f4zrZbs8nUa7p0g4) |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available for the current status of an application using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ The OAuth 2.0 client secret string. The client secret string is returned in the response of a Secret creation request. In other responses (such as list, activate, or deactivate requests), the client secret is returned as an undisclosed hashed value. (example: DRUFXGF9XbLnS9k-Sla3x3POBiIxDreBCdZuFs5B) |
+
+
+ |
+ string |
+ Timestamp when the API Service Integration instance Secret was created (example: 2023-02-21T20:08:24.000Z) |
+
+
+ |
+ string |
+ Timestamp when the API Service Integration instance Secret was updated (example: 2023-02-21T20:08:24.000Z) |
+
+
+ |
+ string |
+ OAuth 2.0 client secret string hash (example: yk4SVx4sUWVJVbHt6M-UPA) |
+
+
+ |
+ string |
+ Status of the API Service Integration instance Secret (example: ACTIVE) |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all client secrets for an API Service Integration instance by `apiServiceId` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Creates an API Service Integration instance Secret object with a new active client secret. You can create up to two Secret objects. An error is returned if you attempt to create more than two Secret objects. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes an API Service Integration instance Secret by `secretId`. You can only delete an inactive Secret. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Activates an API Service Integration instance Secret by `secretId` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deactivates an API Service Integration instance Secret by `secretId` |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all client secrets for an API Service Integration instance by `apiServiceId`
+
+```sql
+SELECT
+id,
+_links,
+client_secret,
+created,
+lastUpdated,
+secret_hash,
+status
+FROM okta.integrations.instance_secrets
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Creates an API Service Integration instance Secret object with a new active client secret. You can create up to two Secret objects. An error is returned if you attempt to create more than two Secret objects.
+
+```sql
+INSERT INTO okta.integrations.instance_secrets (
+subdomain
+)
+SELECT
+'{{ subdomain }}'
+RETURNING
+id,
+_links,
+client_secret,
+created,
+lastUpdated,
+secret_hash,
+status
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: instance_secrets
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the instance_secrets resource.
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes an API Service Integration instance Secret by `secretId`. You can only delete an inactive Secret.
+
+```sql
+DELETE FROM okta.integrations.instance_secrets
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
+
+
+## Lifecycle Methods
+
+
+
+
+Activates an API Service Integration instance Secret by `secretId`
+
+```sql
+EXEC okta.integrations.instance_secrets.activate_api_service_integration_instance_secret
+@subdomain='{{ subdomain }}' --required;
+```
+
+
+
+Deactivates an API Service Integration instance Secret by `secretId`
+
+```sql
+EXEC okta.integrations.instance_secrets.deactivate_api_service_integration_instance_secret
+@subdomain='{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/integrations/instances/index.md b/website/docs/services/integrations/instances/index.md
new file mode 100644
index 0000000..9a302a4
--- /dev/null
+++ b/website/docs/services/integrations/instances/index.md
@@ -0,0 +1,369 @@
+---
+title: instances
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - instances
+ - integrations
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists an instances resource.
+
+## Overview
+
+| Name | instances |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The ID of the API Service Integration instance (example: 0oa72lrepvp4WqEET1d9) |
+
+
+ |
+ string |
+ The name of the API service integration that corresponds with the `type` property. This is the full name of the API service integration listed in the Okta Integration Network (OIN) catalog. (example: My App Cloud Identity Engine) |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available for the current status of an application using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ The URL to the API service integration configuration guide (example: https://{docDomain}/my-app-cie/configuration-guide) |
+
+
+ |
+ string |
+ Timestamp when the API Service Integration instance was created (example: 2023-02-21T20:08:24.000Z) |
+
+
+ |
+ string |
+ The user ID of the API Service Integration instance creator (example: 00uu3u0ujW1P6AfZC2d5) |
+
+
+ |
+ array |
+ The list of Okta management scopes granted to the API Service Integration instance. See [Okta management OAuth 2.0 scopes]https://developer.okta.com/docs/api/oauth2/#okta-admin-management. |
+
+
+ |
+ object |
+ App instance properties |
+
+
+ |
+ string |
+ The type of the API service integration. This string is an underscore-concatenated, lowercased API service integration name. For example, `my_api_log_integration`. (example: my_app_cie) |
+
+
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The ID of the API Service Integration instance (example: 0oa72lrepvp4WqEET1d9) |
+
+
+ |
+ string |
+ The name of the API service integration that corresponds with the `type` property. This is the full name of the API service integration listed in the Okta Integration Network (OIN) catalog. (example: My App Cloud Identity Engine) |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available for the current status of an application using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ The URL to the API service integration configuration guide (example: https://{docDomain}/my-app-cie/configuration-guide) |
+
+
+ |
+ string |
+ Timestamp when the API Service Integration instance was created (example: 2023-02-21T20:08:24.000Z) |
+
+
+ |
+ string |
+ The user ID of the API Service Integration instance creator (example: 00uu3u0ujW1P6AfZC2d5) |
+
+
+ |
+ array |
+ The list of Okta management scopes granted to the API Service Integration instance. See [Okta management OAuth 2.0 scopes]https://developer.okta.com/docs/api/oauth2/#okta-admin-management. |
+
+
+ |
+ object |
+ App instance properties |
+
+
+ |
+ string |
+ The type of the API service integration. This string is an underscore-concatenated, lowercased API service integration name. For example, `my_api_log_integration`. (example: my_app_cie) |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ after |
+ Lists all API Service Integration instances with a pagination option |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves an API Service Integration instance by `id` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Creates and authorizes an API Service Integration instance |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes an API Service Integration instance by `id`. This operation also revokes access to scopes that were previously granted to this API Service Integration instance. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ The cursor to use for pagination. It is an opaque string that specifies your current location in the list and is obtained from the `Link` response header. See [Pagination](https://developer.okta.com/docs/api/#pagination). |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all API Service Integration instances with a pagination option
+
+```sql
+SELECT
+id,
+name,
+_links,
+configGuideUrl,
+createdAt,
+createdBy,
+grantedScopes,
+properties,
+type
+FROM okta.integrations.instances
+WHERE subdomain = '{{ subdomain }}' -- required
+AND after = '{{ after }}';
+```
+
+
+
+Retrieves an API Service Integration instance by `id`
+
+```sql
+SELECT
+id,
+name,
+_links,
+configGuideUrl,
+createdAt,
+createdBy,
+grantedScopes,
+properties,
+type
+FROM okta.integrations.instances
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Creates and authorizes an API Service Integration instance
+
+```sql
+INSERT INTO okta.integrations.instances (
+data__grantedScopes,
+data__properties,
+data__type,
+subdomain
+)
+SELECT
+'{{ grantedScopes }}' --required,
+'{{ properties }}',
+'{{ type }}' --required,
+'{{ subdomain }}'
+RETURNING
+id,
+name,
+_links,
+clientSecret,
+configGuideUrl,
+createdAt,
+createdBy,
+grantedScopes,
+properties,
+type
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: instances
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the instances resource.
+ - name: grantedScopes
+ value: array
+ description: >
+ The list of Okta management scopes granted to the API Service Integration instance. See [Okta management OAuth 2.0 scopes]https://developer.okta.com/docs/api/oauth2/#okta-admin-management.
+
+ - name: properties
+ value: object
+ description: >
+ App instance properties
+
+ - name: type
+ value: string
+ description: >
+ The type of the API service integration. This string is an underscore-concatenated, lowercased API service integration name. For example, `my_api_log_integration`.
+
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes an API Service Integration instance by `id`. This operation also revokes access to scopes that were previously granted to this API Service Integration instance.
+
+```sql
+DELETE FROM okta.integrations.instances
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/logs/index.md b/website/docs/services/logs/index.md
new file mode 100644
index 0000000..72811f4
--- /dev/null
+++ b/website/docs/services/logs/index.md
@@ -0,0 +1,33 @@
+---
+title: logs
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - logs
+ - okta
+ - stackql
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+logs service documentation.
+
+:::info[Service Summary]
+
+total resources: __1__
+
+:::
+
+## Resources
+
\ No newline at end of file
diff --git a/website/docs/services/logs/system_log_events/index.md b/website/docs/services/logs/system_log_events/index.md
new file mode 100644
index 0000000..ecfea82
--- /dev/null
+++ b/website/docs/services/logs/system_log_events/index.md
@@ -0,0 +1,260 @@
+---
+title: system_log_events
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - system_log_events
+ - logs
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a system_log_events resource.
+
+## Overview
+
+| Name | system_log_events |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ object |
+ Describes the user, app, client, or other entity (actor) who performs an action on a target. The actor is dependent on the action that is performed. All events have actors. |
+
+
+ |
+ object |
+ All authentication relies on validating one or more credentials that prove the authenticity of the actor's identity. Credentials are sometimes provided by the actor, as is the case with passwords, and at other times provided by a third party, and validated by the authentication provider. The authenticationContext contains metadata about how the actor is authenticated. For example, an authenticationContext for an event, where a user authenticates with Integrated Windows Authentication (IWA), looks like the following: ``` { "authenticationProvider": "ACTIVE_DIRECTORY", "authenticationStep": 0, "credentialProvider": null, "credentialType": "IWA", "externalSessionId": "102N1EKyPFERROGvK9wizMAPQ", "interface": null, "issuer": null } ``` In this case, the user enters an IWA credential to authenticate against an Active Directory instance. All of the user's future-generated events in this sign-in session are going to share the same `externalSessionId`. Among other operations, this response object can be used to scan for suspicious sign-in activity or perform analytics on user authentication habits (for example, how often authentication scheme X is used versus authentication scheme Y). |
+
+
+ |
+ object |
+ When an event is triggered by an HTTP request, the `client` object describes the [client](https://datatracker.ietf.org/doc/html/rfc2616) that issues the HTTP request. For instance, the web browser is the client when a user accesses Okta. When this request is received and processed, a sign-in event is fired. When the event isn't sourced to an HTTP request, such as an automatic update, the `client` object field is blank. |
+
+
+ |
+ object |
+ For some kinds of events (for example, OLM provisioning, sign-in request, second factor SMS, and so on), the fields that are provided in other response objects aren't sufficient to adequately describe the operations that the event has performed. In such cases, the `debugContext` object provides a way to store additional information. For example, an event where a second factor SMS token is sent to a user may have a `debugContext` that looks like the following: ``` { "debugData": { "requestUri": "/api/v1/users/00u3gjksoiRGRAZHLSYV/factors/smsf8luacpZJAva10x45/verify", "smsProvider": "TELESIGN", "transactionId": "268632458E3C100F5F5F594C6DC689D4" } } ``` By inspecting the debugData field, you can find the URI that is used to trigger the second factor SMS (`/api/v1/users/00u3gjksoiRGRAZHLSYV/factors/smsf8luacpZJAva10x45/verify`), the SMS provider (`TELESIGN`), and the ID used by Telesign to identify this transaction (`268632458E3C100F5F5F594C6DC689D4`). If for some reason the information that is needed to implement a feature isn't provided in other response objects, you should scan the `debugContext.debugData` field for potentially useful fields. > **Important:** The information contained in `debugContext.debugData` is intended to add context when troubleshooting customer platform issues. Both key names and values may change from release to release and aren't guaranteed to be stable. Therefore, they shouldn't be viewed as a data contract but as a debugging aid instead. |
+
+
+ |
+ string |
+ The display message for an event |
+
+
+ |
+ string |
+ The published event type. Event instances are categorized by action in the event type attribute. This attribute is key to navigating the System Log through expression filters. See [Event Types catalog](https://developer.okta.com/docs/reference/api/event-types/#catalog) for a complete list of System Log event types. |
+
+
+ |
+ string |
+ Associated Events API Action `objectType` attribute value |
+
+
+ |
+ object |
+ |
+
+
+ |
+ string (date-time) |
+ Timestamp when the event is published |
+
+
+ |
+ object |
+ The `Request` object describes details that are related to the HTTP request that triggers this event, if available. When the event isn't sourced to an HTTP request, such as an automatic update on the Okta servers, the `Request` object still exists, but the `ipChain` field is empty. |
+
+
+ |
+ object |
+ The `securityContext` object provides security information that is directly related to the evaluation of the event's IP reputation. IP reputation is a trustworthiness rating that evaluates how likely a sender is to be malicious and is based on the sender's IP address. As the name implies, the `securityContext` object is useful for security applications-flagging and inspecting suspicious events. |
+
+
+ |
+ string |
+ Indicates how severe the event is |
+
+
+ |
+ array |
+ The entity that an actor performs an action on. Targets can be anything, such as an app user, a sign-in token, or anything else. > **Note:** When searching the target array, search for a given `type` rather than the array location. Target types, such as `User` and `AppInstance`, for a given `eventType` are not always in the same array location. |
+
+
+ |
+ object |
+ A `transaction` object comprises contextual information associated with its respective event. This information is useful for understanding sequences of correlated events. For example, a `transaction` object such as the following: ``` { "id": "Wn4f-0RQ8D8lTSLkAmkKdQAADqo", "type": "WEB", "detail": null } ``` indicates that a `WEB` request with `id` `Wn4f-0RQ8D8lTSLkAmkKdQAADqo` has created this event. A `transaction` object with a `requestApiTokenId` in the `detail` object, for example : ``` { "id": "YjSlblAAqnKY7CdyCkXNBgAAAIU", "type": "WEB", "detail": { "requestApiTokenId": "00T94e3cn9kSEO3c51s5" } } ``` indicates that this event was the result of an action performed through an API using the token identified by 00T94e3cn9kSEO3c51s5. The token ID is visible in the Admin Console, **Security** > **API**. See [API token management](https://help.okta.com/okta_help.htm?id=Security_API). For more information on API tokens, see [Create an API token](https://developer.okta.com/docs/guides/create-an-api-token/). |
+
+
+ |
+ string |
+ Unique identifier for an individual event |
+
+
+ |
+ string |
+ Versioning indicator |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ since, until, after, filter, q, limit, sortOrder |
+ Lists all System Log events
See [System Log query](https://developer.okta.com/docs/reference/system-log-query/) for further details and examples, and [System Log filters and search](https://help.okta.com/okta_help.htm?type=oie&id=csh-syslog-filters) for common use cases.
By default, 100 System Log events are returned. If there are more events, see the [header link](https://developer.okta.com/docs/api/#link-header) for the `next` link, or increase the number of returned objects using the `limit` parameter.
>**Note:** The value of the `clientSecret` property in the System Log is secured by a hashing function, and isn't the value used during authentication. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string (Opaque token) |
+ Retrieves the next page of results. Okta returns a link in the HTTP Header (`rel=next`) that includes the after query parameter |
+
+
+ |
+ string (SCIM Filter expression) |
+ Filter expression that filters the results. All operators except [ ] are supported. See [Filter](https://developer.okta.com/docs/api/#filter) and [Operators](https://developer.okta.com/docs/api/#operators). |
+
+
+ |
+ integer (Integer between 0 and 1000) |
+ Sets the number of results that are returned in the response |
+
+
+ |
+ string (URL encoded string. Max length is 40 characters per keyword, with a maximum of 10 keyword filters per query (before encoding)) |
+ Filters log events results by one or more case insensitive keywords. |
+
+
+ |
+ string (ISO 8601 compliant timestamp) |
+ Filters the lower time bound of the log events `published` property for bounded queries or persistence time for polling queries |
+
+
+ |
+ string |
+ The order of the returned events that are sorted by the `published` property |
+
+
+ |
+ string (ISO 8601 compliant timestamp) |
+ Filters the upper time bound of the log events `published` property for bounded queries or persistence time for polling queries. |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all System Log events
See [System Log query](https://developer.okta.com/docs/reference/system-log-query/) for further details and examples, and [System Log filters and search](https://help.okta.com/okta_help.htm?type=oie&id=csh-syslog-filters) for common use cases.
By default, 100 System Log events are returned. If there are more events, see the [header link](https://developer.okta.com/docs/api/#link-header) for the `next` link,
or increase the number of returned objects using the `limit` parameter.
>**Note:** The value of the `clientSecret` property in the System Log is secured by a hashing function, and isn't the value used during authentication.
+
+```sql
+SELECT
+actor,
+authenticationContext,
+client,
+debugContext,
+displayMessage,
+eventType,
+legacyEventType,
+outcome,
+published,
+request,
+securityContext,
+severity,
+target,
+transaction,
+uuid,
+version
+FROM okta.logs.system_log_events
+WHERE subdomain = '{{ subdomain }}' -- required
+AND since = '{{ since }}'
+AND until = '{{ until }}'
+AND after = '{{ after }}'
+AND filter = '{{ filter }}'
+AND q = '{{ q }}'
+AND limit = '{{ limit }}'
+AND sortOrder = '{{ sortOrder }}';
+```
+
+
diff --git a/website/docs/services/logstreams/index.md b/website/docs/services/logstreams/index.md
new file mode 100644
index 0000000..0789986
--- /dev/null
+++ b/website/docs/services/logstreams/index.md
@@ -0,0 +1,33 @@
+---
+title: logstreams
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - logstreams
+ - okta
+ - stackql
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+logstreams service documentation.
+
+:::info[Service Summary]
+
+total resources: __1__
+
+:::
+
+## Resources
+
\ No newline at end of file
diff --git a/website/docs/services/logstreams/log_streams/index.md b/website/docs/services/logstreams/log_streams/index.md
new file mode 100644
index 0000000..663a773
--- /dev/null
+++ b/website/docs/services/logstreams/log_streams/index.md
@@ -0,0 +1,439 @@
+---
+title: log_streams
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - log_streams
+ - logstreams
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a log_streams resource.
+
+## Overview
+
+| Name | log_streams |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Unique identifier for the log stream (example: 0oa1orzg0CHSgPcjZ0g4) |
+
+
+ |
+ string |
+ Unique name for the log stream object (example: My AWS EventBridge log stream) |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available for the current status of an application using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string (date-time) |
+ Timestamp when the log stream object was created (example: 2022-10-21T16:59:59.000Z) |
+
+
+ |
+ string (date-time) |
+ Timestamp when the log stream object was last updated (example: 2022-10-21T17:15:10.000Z) |
+
+
+ |
+ string |
+ Lifecycle status of the log stream object |
+
+
+ |
+ string |
+ Specifies the streaming provider used Supported providers: * `aws_eventbridge` ([AWS EventBridge](https://aws.amazon.com/eventbridge)) * `splunk_cloud_logstreaming` ([Splunk Cloud](https://www.splunk.com/en_us/software/splunk-cloud-platform.html)) Select the provider type to see provider-specific configurations in the `settings` property: |
+
+
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Unique identifier for the log stream (example: 0oa1orzg0CHSgPcjZ0g4) |
+
+
+ |
+ string |
+ Unique name for the log stream object (example: My AWS EventBridge log stream) |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available for the current status of an application using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string (date-time) |
+ Timestamp when the log stream object was created (example: 2022-10-21T16:59:59.000Z) |
+
+
+ |
+ string (date-time) |
+ Timestamp when the log stream object was last updated (example: 2022-10-21T17:15:10.000Z) |
+
+
+ |
+ string |
+ Lifecycle status of the log stream object |
+
+
+ |
+ string |
+ Specifies the streaming provider used Supported providers: * `aws_eventbridge` ([AWS EventBridge](https://aws.amazon.com/eventbridge)) * `splunk_cloud_logstreaming` ([Splunk Cloud](https://www.splunk.com/en_us/software/splunk-cloud-platform.html)) Select the provider type to see provider-specific configurations in the `settings` property: |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ after, limit, filter |
+ Lists all log stream objects in your org. You can request a paginated list or a subset of log streams that match a supported filter expression. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves a log stream object by ID |
+
+
+ |
+ |
+ subdomain |
+ |
+ Creates a new log stream object |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces the log stream object properties for a given ID.
This operation is typically used to update the configuration of a log stream. Depending on the type of log stream you want to update, certain properties can't be modified after the log stream is initially created. Use the [Retrieve the log stream schema for the schema type](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Schema/#tag/Schema/operation/getLogStreamSchema) request to determine which properties you can update for the specific log stream type. Log stream properties with the `"writeOnce" : true` attribute can't be updated after creation. You must still specify these `writeOnce` properties in the request body with the original values in the PUT request.
> **Note:** You don't have to specify properties that have both the `"writeOnce": true` and the `"writeOnly": true` attributes in the PUT request body. These property values are ignored even if you add them in the PUT request body. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes a log stream object from your org by ID |
+
+
+ |
+ |
+ subdomain |
+ |
+ Activates a log stream by `logStreamId` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deactivates a log stream by `logStreamId` |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ The cursor to use for pagination. It is an opaque string that specifies your current location in the list and is obtained from the `Link` response header. See [Pagination](https://developer.okta.com/docs/api/#pagination). |
+
+
+ |
+ string |
+ An expression that [filters]https://developer.okta.com/docs/api#filter the returned objects. You can only use the `eq` operator on either the `status` or `type` properties in the filter expression. |
+
+
+ |
+ integer |
+ A limit on the number of objects to return |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all log stream objects in your org. You can request a paginated list or a subset of log streams that match a supported filter expression.
+
+```sql
+SELECT
+id,
+name,
+_links,
+created,
+lastUpdated,
+status,
+type
+FROM okta.logstreams.log_streams
+WHERE subdomain = '{{ subdomain }}' -- required
+AND after = '{{ after }}'
+AND limit = '{{ limit }}'
+AND filter = '{{ filter }}';
+```
+
+
+
+Retrieves a log stream object by ID
+
+```sql
+SELECT
+id,
+name,
+_links,
+created,
+lastUpdated,
+status,
+type
+FROM okta.logstreams.log_streams
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Creates a new log stream object
+
+```sql
+INSERT INTO okta.logstreams.log_streams (
+data__name,
+data__type,
+subdomain
+)
+SELECT
+'{{ name }}' --required,
+'{{ type }}' --required,
+'{{ subdomain }}'
+RETURNING
+id,
+name,
+_links,
+created,
+lastUpdated,
+status,
+type
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: log_streams
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the log_streams resource.
+ - name: name
+ value: string
+ description: >
+ Unique name for the log stream object
+
+ - name: type
+ value: string
+ description: >
+ Specifies the streaming provider used
+
+Supported providers:
+ * `aws_eventbridge` ([AWS EventBridge](https://aws.amazon.com/eventbridge))
+ * `splunk_cloud_logstreaming` ([Splunk Cloud](https://www.splunk.com/en_us/software/splunk-cloud-platform.html))
+
+Select the provider type to see provider-specific configurations in the `settings` property:
+
+ valid_values: ['aws_eventbridge', 'splunk_cloud_logstreaming']
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces the log stream object properties for a given ID.
This operation is typically used to update the configuration of a log stream.
Depending on the type of log stream you want to update, certain properties can't be modified after the log stream is initially created.
Use the [Retrieve the log stream schema for the schema type](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Schema/#tag/Schema/operation/getLogStreamSchema) request to determine which properties you can update for the specific log stream type.
Log stream properties with the `"writeOnce" : true` attribute can't be updated after creation.
You must still specify these `writeOnce` properties in the request body with the original values in the PUT request.
> **Note:** You don't have to specify properties that have both the `"writeOnce": true` and the `"writeOnly": true` attributes in the PUT request body. These property values are ignored even if you add them in the PUT request body.
+
+```sql
+REPLACE okta.logstreams.log_streams
+SET
+data__name = '{{ name }}',
+data__type = '{{ type }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+AND data__name = '{{ name }}' --required
+AND data__type = '{{ type }}' --required
+RETURNING
+id,
+name,
+_links,
+created,
+lastUpdated,
+status,
+type;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes a log stream object from your org by ID
+
+```sql
+DELETE FROM okta.logstreams.log_streams
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
+
+
+## Lifecycle Methods
+
+
+
+
+Activates a log stream by `logStreamId`
+
+```sql
+EXEC okta.logstreams.log_streams.activate_log_stream
+@subdomain='{{ subdomain }}' --required;
+```
+
+
+
+Deactivates a log stream by `logStreamId`
+
+```sql
+EXEC okta.logstreams.log_streams.deactivate_log_stream
+@subdomain='{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/mappings/index.md b/website/docs/services/mappings/index.md
new file mode 100644
index 0000000..c692513
--- /dev/null
+++ b/website/docs/services/mappings/index.md
@@ -0,0 +1,33 @@
+---
+title: mappings
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - mappings
+ - okta
+ - stackql
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+mappings service documentation.
+
+:::info[Service Summary]
+
+total resources: __1__
+
+:::
+
+## Resources
+
\ No newline at end of file
diff --git a/website/docs/services/mappings/profile_mappings/index.md b/website/docs/services/mappings/profile_mappings/index.md
new file mode 100644
index 0000000..2febe86
--- /dev/null
+++ b/website/docs/services/mappings/profile_mappings/index.md
@@ -0,0 +1,237 @@
+---
+title: profile_mappings
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - profile_mappings
+ - mappings
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a profile_mappings resource.
+
+## Overview
+
+| Name | profile_mappings |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Unique identifier for profile mapping |
+
+
+ |
+ |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ |
+ The parameter is the source of a profile mapping and is a valid [JSON Schema Draft 4](https://datatracker.ietf.org/doc/html/draft-zyp-json-schema-04) document with the following properties. The data type can be an app instance or an Okta object. > **Note:** If the source is Okta and the UserTypes feature isn't enabled, then the source `_links` only has a link to the schema. |
+
+
+ |
+ |
+ The parameter is the target of a profile mapping and is a valid [JSON Schema Draft 4](https://datatracker.ietf.org/doc/html/draft-zyp-json-schema-04) document with the following properties. The data type can be an app instance or an Okta object. > **Note:** If the target is Okta and the UserTypes feature isn't enabled, then the target `_links` only has a link to the schema. |
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ after, limit, sourceId, targetId |
+ Lists all profile mappings in your org with [pagination](https://developer.okta.com/docs/api/#pagination). You can return a subset of profile mappings that match a supported `sourceId` and/or `targetId`.
The results are [paginated]https://developer.okta.com/docs/api#pagination according to the `limit` parameter. If there are multiple pages of results, the Link header contains a `next` link that you should treat as an opaque value (follow it, don't parse it). See [Link Header](https://developer.okta.com/docs/api/#link-header).
The response is a collection of profile mappings that include a subset of the profile mapping object's parameters. The profile mapping object describes the properties mapping between an Okta user and an app user profile using [JSON Schema Draft 4](https://datatracker.ietf.org/doc/html/draft-zyp-json-schema-04). |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves a single profile mapping referenced by its ID |
+
+
+ |
+ |
+ subdomain |
+ |
+ Updates an existing profile mapping by adding, updating, or removing one or many property mappings |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ Mapping `id` that specifies the pagination cursor for the next page of mappings |
+
+
+ |
+ integer (int32) |
+ Specifies the number of results per page |
+
+
+ |
+ string |
+ The user type or app instance ID that acts as the source of expressions in a mapping. If this parameter is included, all returned mappings have this as their `source.id`. |
+
+
+ |
+ string |
+ The user type or app instance ID that acts as the target of expressions in a mapping. If this parameter is included, all returned mappings have this as their `target.id`. |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all profile mappings in your org with [pagination](https://developer.okta.com/docs/api/#pagination). You can return a subset of profile mappings that match a supported `sourceId` and/or `targetId`.
The results are [paginated]https://developer.okta.com/docs/api#pagination according to the `limit` parameter. If there are multiple pages of results, the Link header contains a `next` link that you should treat as an opaque value (follow it, don't parse it). See [Link Header](https://developer.okta.com/docs/api/#link-header).
The response is a collection of profile mappings that include a subset of the profile mapping object's parameters. The profile mapping object describes
the properties mapping between an Okta user and an app user profile using [JSON Schema Draft 4](https://datatracker.ietf.org/doc/html/draft-zyp-json-schema-04).
+
+```sql
+SELECT
+id,
+_links,
+source,
+target
+FROM okta.mappings.profile_mappings
+WHERE subdomain = '{{ subdomain }}' -- required
+AND after = '{{ after }}'
+AND limit = '{{ limit }}'
+AND sourceId = '{{ sourceId }}'
+AND targetId = '{{ targetId }}';
+```
+
+
+
+Retrieves a single profile mapping referenced by its ID
+
+```sql
+SELECT
+*
+FROM okta.mappings.profile_mappings
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `UPDATE` examples
+
+
+
+
+Updates an existing profile mapping by adding, updating, or removing one or many property mappings
+
+```sql
+UPDATE okta.mappings.profile_mappings
+SET
+data__properties = '{{ properties }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+AND data__properties = '{{ properties }}' --required;
+```
+
+
diff --git a/website/docs/services/meta/application_user_schemas/index.md b/website/docs/services/meta/application_user_schemas/index.md
new file mode 100644
index 0000000..bba0052
--- /dev/null
+++ b/website/docs/services/meta/application_user_schemas/index.md
@@ -0,0 +1,225 @@
+---
+title: application_user_schemas
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - application_user_schemas
+ - meta
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists an application_user_schemas resource.
+
+## Overview
+
+| Name | application_user_schemas |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+successful operation
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ URI of user schema |
+
+
+ |
+ string |
+ Name of the schema |
+
+
+ |
+ string |
+ JSON schema version identifier |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ Timestamp when the schema was created |
+
+
+ |
+ object |
+ User profile subschemas The profile object for a user is defined by a composite schema of base and custom properties using a JSON path to reference subschemas. The `#base` properties are defined and versioned by Okta, while `#custom` properties are extensible. Custom property names for the profile object must be unique and can't conflict with a property name defined in the `#base` subschema. |
+
+
+ |
+ string |
+ Timestamp when the schema was last updated |
+
+
+ |
+ object |
+ User Object Properties |
+
+
+ |
+ string |
+ User-defined display name for the schema |
+
+
+ |
+ string |
+ Type of [root schema](https://tools.ietf.org/html/draft-zyp-json-schema-04#section-3.4) |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves the default schema for an app user.
The [User Types](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserType/) feature does not extend to apps. All users assigned to a given app use the same app user schema. Therefore, unlike the user schema operations, the app user schema operations all specify `default` and don't accept a schema ID. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Updates the app user schema. This updates, adds, or removes one or more custom profile properties or the nullability of a base property in the app user schema for an app. Changing a base property's nullability (for example, the value of its `required` field) is allowed only if it is nullable in the default predefined schema for the app.
> **Note:** You must set properties explicitly to `null` to remove them from the schema; otherwise, `POST` is interpreted as a partial update.
The [User Types](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserType/) feature does not extend to apps. All users assigned to a given app use the same app user schema. Therefore, unlike the user schema operations, the app user schema operations all specify `default` and don't accept a schema ID. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Retrieves the default schema for an app user.
The [User Types](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserType/) feature does not extend to apps. All users assigned to a given app use the same app user schema. Therefore, unlike the user schema operations, the app user schema operations all specify `default` and don't accept a schema ID.
+
+```sql
+SELECT
+id,
+name,
+$schema,
+_links,
+created,
+definitions,
+lastUpdated,
+properties,
+title,
+type
+FROM okta.meta.application_user_schemas
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `UPDATE` examples
+
+
+
+
+Updates the app user schema. This updates, adds, or removes one or more custom profile properties or the nullability of a base property in the app user schema for an app. Changing a base property's nullability (for example, the value of its `required` field) is allowed only if it is nullable in the default predefined schema for the app.
> **Note:** You must set properties explicitly to `null` to remove them from the schema; otherwise, `POST` is interpreted as a partial update.
The [User Types](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserType/) feature does not extend to apps. All users assigned to a given app use the same app user schema. Therefore, unlike the user schema operations, the app user schema operations all specify `default` and don't accept a schema ID.
+
+```sql
+UPDATE okta.meta.application_user_schemas
+SET
+data__definitions = '{{ definitions }}',
+data__properties = '{{ properties }}',
+data__title = '{{ title }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+id,
+name,
+$schema,
+_links,
+created,
+definitions,
+lastUpdated,
+properties,
+title,
+type;
+```
+
+
diff --git a/website/docs/services/meta/group_schemas/index.md b/website/docs/services/meta/group_schemas/index.md
new file mode 100644
index 0000000..199963a
--- /dev/null
+++ b/website/docs/services/meta/group_schemas/index.md
@@ -0,0 +1,233 @@
+---
+title: group_schemas
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - group_schemas
+ - meta
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a group_schemas resource.
+
+## Overview
+
+| Name | group_schemas |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+successful operation
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ URI of group schema |
+
+
+ |
+ string |
+ Name of the schema |
+
+
+ |
+ string |
+ JSON schema version identifier |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ Timestamp when the schema was created |
+
+
+ |
+ object |
+ |
+
+
+ |
+ string |
+ Description for the schema |
+
+
+ |
+ string |
+ Timestamp when the schema was last updated |
+
+
+ |
+ object |
+ Group object properties |
+
+
+ |
+ string |
+ User-defined display name for the schema |
+
+
+ |
+ string |
+ Type of [root schema](https://tools.ietf.org/html/draft-zyp-json-schema-04#section-3.4) |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves the group schema
The [User Types](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserType/) feature does not extend to groups. All groups use the same group schema. Unlike user schema operations, group schema operations all specify `default` and don't accept a schema ID. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Updates the group profile schema. This updates, adds, or removes one or more custom profile properties in a group schema. Currently Okta does not support changing base group profile properties.
> **Note:** You must set properties explicitly to `null` to remove them from the schema; otherwise, `POST` is interpreted as a partial update.
The [User Types](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserType/) feature does not extend to groups. All groups use the same group schema. Unlike user schema operations, group schema operations all specify `default` and don't accept a schema ID. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Retrieves the group schema
The [User Types](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserType/) feature does not extend to groups. All groups use the same group schema. Unlike user schema operations, group schema operations all specify `default` and don't accept a schema ID.
+
+```sql
+SELECT
+id,
+name,
+$schema,
+_links,
+created,
+definitions,
+description,
+lastUpdated,
+properties,
+title,
+type
+FROM okta.meta.group_schemas
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `UPDATE` examples
+
+
+
+
+Updates the group profile schema. This updates, adds, or removes one or more custom profile properties in a group schema. Currently Okta does not support changing base group profile properties.
> **Note:** You must set properties explicitly to `null` to remove them from the schema; otherwise, `POST` is interpreted as a partial update.
The [User Types](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserType/) feature does not extend to groups. All groups use the same group schema. Unlike user schema operations, group schema operations all specify `default` and don't accept a schema ID.
+
+```sql
+UPDATE okta.meta.group_schemas
+SET
+data__definitions = '{{ definitions }}',
+data__description = '{{ description }}',
+data__properties = '{{ properties }}',
+data__title = '{{ title }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+id,
+name,
+$schema,
+_links,
+created,
+definitions,
+description,
+lastUpdated,
+properties,
+title,
+type;
+```
+
+
diff --git a/website/docs/services/meta/index.md b/website/docs/services/meta/index.md
new file mode 100644
index 0000000..c789a15
--- /dev/null
+++ b/website/docs/services/meta/index.md
@@ -0,0 +1,38 @@
+---
+title: meta
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - meta
+ - okta
+ - stackql
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+meta service documentation.
+
+:::info[Service Summary]
+
+total resources: __7__
+
+:::
+
+## Resources
+
\ No newline at end of file
diff --git a/website/docs/services/meta/linked_object_definitions/index.md b/website/docs/services/meta/linked_object_definitions/index.md
new file mode 100644
index 0000000..45e8681
--- /dev/null
+++ b/website/docs/services/meta/linked_object_definitions/index.md
@@ -0,0 +1,282 @@
+---
+title: linked_object_definitions
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - linked_object_definitions
+ - meta
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a linked_object_definitions resource.
+
+## Overview
+
+| Name | linked_object_definitions |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available for the current status of an application using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ object |
+ (title: LinkedObjectDetails) |
+
+
+ |
+ object |
+ (title: LinkedObjectDetails) |
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available for the current status of an application using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ object |
+ (title: LinkedObjectDetails) |
+
+
+ |
+ object |
+ (title: LinkedObjectDetails) |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all Linked Object definitions |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves a Linked Object definition |
+
+
+ |
+ |
+ subdomain |
+ |
+ Creates a Linked Object definition |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes the Linked Object definition specified by either the `primary` or `associated` name. The entire definition is removed, regardless of which name that you specify. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all Linked Object definitions
+
+```sql
+SELECT
+_links,
+associated,
+primary
+FROM okta.meta.linked_object_definitions
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+Retrieves a Linked Object definition
+
+```sql
+SELECT
+_links,
+associated,
+primary
+FROM okta.meta.linked_object_definitions
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Creates a Linked Object definition
+
+```sql
+INSERT INTO okta.meta.linked_object_definitions (
+data__associated,
+data__primary,
+data___links,
+subdomain
+)
+SELECT
+'{{ associated }}',
+'{{ primary }}',
+'{{ _links }}',
+'{{ subdomain }}'
+RETURNING
+_links,
+associated,
+primary
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: linked_object_definitions
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the linked_object_definitions resource.
+ - name: associated
+ value: object
+ - name: primary
+ value: object
+ - name: _links
+ value: object
+ description: >
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available for the current status of an application using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations.
+
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes the Linked Object definition specified by either the `primary` or `associated` name. The entire definition is removed, regardless of which name that you specify.
+
+```sql
+DELETE FROM okta.meta.linked_object_definitions
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/meta/log_stream_schemas/index.md b/website/docs/services/meta/log_stream_schemas/index.md
new file mode 100644
index 0000000..65650eb
--- /dev/null
+++ b/website/docs/services/meta/log_stream_schemas/index.md
@@ -0,0 +1,277 @@
+---
+title: log_stream_schemas
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - log_stream_schemas
+ - meta
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a log_stream_schemas resource.
+
+## Overview
+
+| Name | log_stream_schemas |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+successful operation
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ URI of log stream schema |
+
+
+ |
+ string |
+ JSON schema version identifier |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ object |
+ A collection of error messages for individual properties in the schema. Okta implements a subset of [ajv-errors](https://github.com/ajv-validator/ajv-errors). |
+
+
+ |
+ array |
+ Non-empty array of valid JSON schemas. Okta only supports `oneOf` for specifying display names for an `enum`. Each schema has the following format: ``` { "const": "enumValue", "title": "display name" } ``` |
+
+
+ |
+ string |
+ For `string` log stream schema property type, specifies the regular expression used to validate the property |
+
+
+ |
+ object |
+ log stream schema properties object |
+
+
+ |
+ array |
+ Required properties for this log stream schema object |
+
+
+ |
+ string |
+ Name of the log streaming integration |
+
+
+ |
+ string |
+ Type of log stream schema property |
+
+
+
+
+
+
+successful operation
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ URI of log stream schema |
+
+
+ |
+ string |
+ JSON schema version identifier |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ object |
+ A collection of error messages for individual properties in the schema. Okta implements a subset of [ajv-errors](https://github.com/ajv-validator/ajv-errors). |
+
+
+ |
+ array |
+ Non-empty array of valid JSON schemas. Okta only supports `oneOf` for specifying display names for an `enum`. Each schema has the following format: ``` { "const": "enumValue", "title": "display name" } ``` |
+
+
+ |
+ string |
+ For `string` log stream schema property type, specifies the regular expression used to validate the property |
+
+
+ |
+ object |
+ log stream schema properties object |
+
+
+ |
+ array |
+ Required properties for this log stream schema object |
+
+
+ |
+ string |
+ Name of the log streaming integration |
+
+
+ |
+ string |
+ Type of log stream schema property |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists the schema for all log stream types visible for this org |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves the schema for a log stream type. The `logStreamType` element in the URL specifies the log stream type, which is either `aws_eventbridge` or `splunk_cloud_logstreaming`. Use the `aws_eventbridge` literal to retrieve the AWS EventBridge type schema, and use the `splunk_cloud_logstreaming` literal retrieve the Splunk Cloud type schema. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists the schema for all log stream types visible for this org
+
+```sql
+SELECT
+id,
+$schema,
+_links,
+errorMessage,
+oneOf,
+pattern,
+properties,
+required,
+title,
+type
+FROM okta.meta.log_stream_schemas
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+Retrieves the schema for a log stream type. The `logStreamType` element in the URL specifies the log stream type, which is either `aws_eventbridge` or `splunk_cloud_logstreaming`. Use the `aws_eventbridge` literal to retrieve the AWS EventBridge type schema, and use the `splunk_cloud_logstreaming` literal retrieve the Splunk Cloud type schema.
+
+```sql
+SELECT
+id,
+$schema,
+_links,
+errorMessage,
+oneOf,
+pattern,
+properties,
+required,
+title,
+type
+FROM okta.meta.log_stream_schemas
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
diff --git a/website/docs/services/meta/ui_schemas/index.md b/website/docs/services/meta/ui_schemas/index.md
new file mode 100644
index 0000000..7efb312
--- /dev/null
+++ b/website/docs/services/meta/ui_schemas/index.md
@@ -0,0 +1,336 @@
+---
+title: ui_schemas
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - ui_schemas
+ - meta
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a ui_schemas resource.
+
+## Overview
+
+| Name | ui_schemas |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Unique identifier for the UI Schema |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string (date-time) |
+ Timestamp when the UI Schema was created (ISO 86001) |
+
+
+ |
+ string (date-time) |
+ Timestamp when the UI Schema was last modified (ISO 86001) |
+
+
+ |
+ object |
+ Properties of the UI schema |
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Unique identifier for the UI Schema |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string (date-time) |
+ Timestamp when the UI Schema was created (ISO 86001) |
+
+
+ |
+ string (date-time) |
+ Timestamp when the UI Schema was last modified (ISO 86001) |
+
+
+ |
+ object |
+ Properties of the UI schema |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all UI Schemas in your org |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves a UI Schema by `id` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Creates an input for an enrollment form |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces a UI Schema by `id` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes a UI Schema by `id` |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all UI Schemas in your org
+
+```sql
+SELECT
+id,
+_links,
+created,
+lastUpdated,
+uiSchema
+FROM okta.meta.ui_schemas
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+Retrieves a UI Schema by `id`
+
+```sql
+SELECT
+id,
+_links,
+created,
+lastUpdated,
+uiSchema
+FROM okta.meta.ui_schemas
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Creates an input for an enrollment form
+
+```sql
+INSERT INTO okta.meta.ui_schemas (
+data__uiSchema,
+subdomain
+)
+SELECT
+'{{ uiSchema }}',
+'{{ subdomain }}'
+RETURNING
+id,
+_links,
+created,
+lastUpdated,
+uiSchema
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: ui_schemas
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the ui_schemas resource.
+ - name: uiSchema
+ value: object
+ description: >
+ Properties of the UI schema
+
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces a UI Schema by `id`
+
+```sql
+REPLACE okta.meta.ui_schemas
+SET
+data__uiSchema = '{{ uiSchema }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+id,
+_links,
+created,
+lastUpdated,
+uiSchema;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes a UI Schema by `id`
+
+```sql
+DELETE FROM okta.meta.ui_schemas
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/meta/user_schemas/index.md b/website/docs/services/meta/user_schemas/index.md
new file mode 100644
index 0000000..c143672
--- /dev/null
+++ b/website/docs/services/meta/user_schemas/index.md
@@ -0,0 +1,225 @@
+---
+title: user_schemas
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - user_schemas
+ - meta
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a user_schemas resource.
+
+## Overview
+
+| Name | user_schemas |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ URI of user schema |
+
+
+ |
+ string |
+ Name of the schema |
+
+
+ |
+ string |
+ JSON schema version identifier |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ Timestamp when the schema was created |
+
+
+ |
+ object |
+ User profile subschemas The profile object for a user is defined by a composite schema of base and custom properties using a JSON path to reference subschemas. The `#base` properties are defined and versioned by Okta, while `#custom` properties are extensible. Custom property names for the profile object must be unique and can't conflict with a property name defined in the `#base` subschema. |
+
+
+ |
+ string |
+ Timestamp when the schema was last updated |
+
+
+ |
+ object |
+ User Object Properties |
+
+
+ |
+ string |
+ User-defined display name for the schema |
+
+
+ |
+ string |
+ Type of [root schema](https://tools.ietf.org/html/draft-zyp-json-schema-04#section-3.4) |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves the schema for a user type |
+
+
+ |
+ |
+ subdomain |
+ |
+ Updates a user schema. Use this request to update, add, or remove one or more profile properties in a user schema. If you specify `default` for the `schemaId`, updates will apply to the default user type.
Unlike custom user profile properties, limited changes are allowed to base user profile properties (permissions, nullability of the `firstName` and `lastName` properties, or pattern for `login`). You can't remove a property from the default schema if it's being referenced as a [`matchAttribute`](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/IdentityProvider/#tag/IdentityProvider/operation/createIdentityProvider!path=policy/subject/matchAttribute&t=request) in `SAML2` IdPs. Currently, all validation of SAML assertions are only performed against the default user type.
> **Note:** You must set properties explicitly to `null` to remove them from the schema; otherwise, `POST` is interpreted as a partial update. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Retrieves the schema for a user type
+
+```sql
+SELECT
+id,
+name,
+$schema,
+_links,
+created,
+definitions,
+lastUpdated,
+properties,
+title,
+type
+FROM okta.meta.user_schemas
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `UPDATE` examples
+
+
+
+
+Updates a user schema. Use this request to update, add, or remove one or more profile properties in a user schema. If you specify `default` for the `schemaId`, updates will apply to the default user type.
Unlike custom user profile properties, limited changes are allowed to base user profile properties (permissions, nullability of the `firstName` and `lastName` properties, or pattern for `login`).
You can't remove a property from the default schema if it's being referenced as a [`matchAttribute`](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/IdentityProvider/#tag/IdentityProvider/operation/createIdentityProvider!path=policy/subject/matchAttribute&t=request) in `SAML2` IdPs.
Currently, all validation of SAML assertions are only performed against the default user type.
> **Note:** You must set properties explicitly to `null` to remove them from the schema; otherwise, `POST` is interpreted as a partial update.
+
+```sql
+UPDATE okta.meta.user_schemas
+SET
+data__definitions = '{{ definitions }}',
+data__properties = '{{ properties }}',
+data__title = '{{ title }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+id,
+name,
+$schema,
+_links,
+created,
+definitions,
+lastUpdated,
+properties,
+title,
+type;
+```
+
+
diff --git a/website/docs/services/meta/user_types/index.md b/website/docs/services/meta/user_types/index.md
new file mode 100644
index 0000000..7873335
--- /dev/null
+++ b/website/docs/services/meta/user_types/index.md
@@ -0,0 +1,467 @@
+---
+title: user_types
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - user_types
+ - meta
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a user_types resource.
+
+## Overview
+
+| Name | user_types |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The unique key for the user type |
+
+
+ |
+ string |
+ The name of the user type. The name must start with A-Z or a-z and contain only A-Z, a-z, 0-9, or underscore (_) characters. This value becomes read-only after creation and can't be updated. |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string (date-time) |
+ A timestamp from when the user type was created |
+
+
+ |
+ string |
+ The user ID of the account that created the user type |
+
+
+ |
+ boolean |
+ A boolean value to indicate if this is the default user type |
+
+
+ |
+ string |
+ The human-readable description of the user type |
+
+
+ |
+ string |
+ The human-readable name of the user type |
+
+
+ |
+ string (date-time) |
+ A timestamp from when the user type was most recently updated |
+
+
+ |
+ string |
+ The user ID of the most recent account to edit the user type |
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The unique key for the user type |
+
+
+ |
+ string |
+ The name of the user type. The name must start with A-Z or a-z and contain only A-Z, a-z, 0-9, or underscore (_) characters. This value becomes read-only after creation and can't be updated. |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string (date-time) |
+ A timestamp from when the user type was created |
+
+
+ |
+ string |
+ The user ID of the account that created the user type |
+
+
+ |
+ boolean |
+ A boolean value to indicate if this is the default user type |
+
+
+ |
+ string |
+ The human-readable description of the user type |
+
+
+ |
+ string |
+ The human-readable name of the user type |
+
+
+ |
+ string (date-time) |
+ A timestamp from when the user type was most recently updated |
+
+
+ |
+ string |
+ The user ID of the most recent account to edit the user type |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all user types in your org |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves a user type by ID. Use `default` to fetch the default user type. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Creates a new user type. Okta automatically creates a `default` user type for your org. You may add up to nine additional user types. > **Note**: New user types are based on the current default schema template. Modifications to this schema do not automatically propagate to previously created user types. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Updates an existing user type. This operation is a partial update. > **Note**: You can only update the `displayName` and `description` elements. The `name` of an existing user type can't be changed. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces an existing user type. This operation is a full update. > **Note**: The `name` of an existing user type can't be changed, but must be part of the request body. You can only replace the `displayName` and `description` elements. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes a user type permanently. > **Note**: You can't delete the default user type or a user type that is currently assigned to users. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all user types in your org
+
+```sql
+SELECT
+id,
+name,
+_links,
+created,
+createdBy,
+default,
+description,
+displayName,
+lastUpdated,
+lastUpdatedBy
+FROM okta.meta.user_types
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+Retrieves a user type by ID. Use `default` to fetch the default user type.
+
+```sql
+SELECT
+id,
+name,
+_links,
+created,
+createdBy,
+default,
+description,
+displayName,
+lastUpdated,
+lastUpdatedBy
+FROM okta.meta.user_types
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Creates a new user type. Okta automatically creates a `default` user type for your org. You may add up to nine additional user types.
> **Note**: New user types are based on the current default schema template. Modifications to this schema do not automatically propagate to previously created user types.
+
+```sql
+INSERT INTO okta.meta.user_types (
+data__description,
+data__displayName,
+data__name,
+subdomain
+)
+SELECT
+'{{ description }}',
+'{{ displayName }}' --required,
+'{{ name }}' --required,
+'{{ subdomain }}'
+RETURNING
+id,
+name,
+_links,
+created,
+createdBy,
+default,
+description,
+displayName,
+lastUpdated,
+lastUpdatedBy
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: user_types
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the user_types resource.
+ - name: description
+ value: string
+ description: >
+ The human-readable description of the user type
+
+ - name: displayName
+ value: string
+ description: >
+ The human-readable name of the user type
+
+ - name: name
+ value: string
+ description: >
+ The name of the user type. The name must start with A-Z or a-z and contain only A-Z, a-z, 0-9, or underscore (_) characters. This value becomes read-only after creation and can't be updated.
+
+```
+
+
+
+
+## `UPDATE` examples
+
+
+
+
+Updates an existing user type. This operation is a partial update.
> **Note**: You can only update the `displayName` and `description` elements. The `name` of an existing user type can't be changed.
+
+```sql
+UPDATE okta.meta.user_types
+SET
+data__description = '{{ description }}',
+data__displayName = '{{ displayName }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+id,
+name,
+_links,
+created,
+createdBy,
+default,
+description,
+displayName,
+lastUpdated,
+lastUpdatedBy;
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces an existing user type. This operation is a full update.
> **Note**: The `name` of an existing user type can't be changed, but must be part of the request body. You can only replace the `displayName` and `description` elements.
+
+```sql
+REPLACE okta.meta.user_types
+SET
+data__description = '{{ description }}',
+data__displayName = '{{ displayName }}',
+data__name = '{{ name }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+AND data__name = '{{ name }}' --required
+AND data__displayName = '{{ displayName }}' --required
+AND data__description = '{{ description }}' --required
+RETURNING
+id,
+name,
+_links,
+created,
+createdBy,
+default,
+description,
+displayName,
+lastUpdated,
+lastUpdatedBy;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes a user type permanently.
> **Note**: You can't delete the default user type or a user type that is currently assigned to users.
+
+```sql
+DELETE FROM okta.meta.user_types
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/oauth2/app_target_roles/index.md b/website/docs/services/oauth2/app_target_roles/index.md
new file mode 100644
index 0000000..1a0b18f
--- /dev/null
+++ b/website/docs/services/oauth2/app_target_roles/index.md
@@ -0,0 +1,307 @@
+---
+title: app_target_roles
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - app_target_roles
+ - oauth2
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists an app_target_roles resource.
+
+## Overview
+
+| Name | app_target_roles |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ ID of the app instance. Okta returns this property only for apps not in the OIN catalog. |
+
+
+ |
+ string |
+ App key name. For OIN catalog apps, this is a unique key for the app definition. |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification |
+
+
+ |
+ string |
+ Category for the app in the OIN catalog (example: SOCIAL) |
+
+
+ |
+ string |
+ Description of the app in the OIN catalog |
+
+
+ |
+ string |
+ OIN catalog app display name |
+
+
+ |
+ array |
+ Features supported by the app. See app [features](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Application/#tag/Application/operation/listApplications!c=200&path=0/features&t=response). |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was last updated (example: 2024-09-19T23:37:37.000Z) |
+
+
+ |
+ array |
+ Authentication mode for the app. See app [signOnMode](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Application/#tag/Application/operation/listApplications!c=200&path=0/signOnMode&t=response). |
+
+
+ |
+ string |
+ App status |
+
+
+ |
+ string |
+ OIN verification status of the catalog app (example: OKTA_VERIFIED) |
+
+
+ |
+ string |
+ Website of the OIN catalog app |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ after, limit |
+ Lists all OIN app targets for an `APP_ADMIN` role that's assigned to a client (by `clientId`). |
+
+
+ |
+ |
+ subdomain |
+ |
+ Assigns an OIN app target for an `APP_ADMIN` role assignment to a client. When you assign an app target from the OIN catalog, you reduce the scope of the role assignment. The role assignment applies to only app instances that are included in the specified OIN app target.
An assigned OIN app target overrides any existing app instance targets. For example, if a user is assigned to administer a specific Facebook instance, a successful request to add an OIN app target with `facebook` for `appName` makes that user the administrator for all Facebook instances. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Unassigns an OIN app target for a role assignment to a client app
> **Note:** You can't remove the last OIN app target from a role assignment. > If you need a role assignment that applies to all apps, delete the role assignment with the target and create another one. See [Unassign a client role](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/RoleAssignmentClient/#tag/RoleAssignmentClient/operation/deleteRoleFromClient). |
+
+
+ |
+ |
+ subdomain |
+ |
+ Unassigns an app instance target from a role assignment to a client app
> **Note:** You can't remove the last app instance target from a role assignment. > If you need a role assignment that applies to all the apps, delete the role assignment with the instance target and create another one. See [Unassign a client role](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/RoleAssignmentClient/#tag/RoleAssignmentClient/operation/deleteRoleFromClient). |
+
+
+ |
+ |
+ subdomain |
+ |
+ Assigns an app instance target to an `APP_ADMIN` role assignment to a client. When you assign the first OIN app or app instance target, you reduce the scope of the role assignment. The role no longer applies to all app targets, but applies only to the specified target.
> **Note:** You can target a mixture of both OIN app and app instance targets, but you can't assign permissions to manage all instances of an OIN app and then assign a subset of permissions to the same app. For example, you can't specify that an admin has access to manage all instances of the Salesforce app and then also manage only specific configurations of the Salesforce app. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ The cursor to use for pagination. It is an opaque string that specifies your current location in the list and is obtained from the `Link` response header. See [Pagination](https://developer.okta.com/docs/api/#pagination). |
+
+
+ |
+ integer |
+ A limit on the number of objects to return |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all OIN app targets for an `APP_ADMIN` role that's assigned to a client (by `clientId`).
+
+```sql
+SELECT
+id,
+name,
+_links,
+category,
+description,
+displayName,
+features,
+lastUpdated,
+signOnModes,
+status,
+verificationStatus,
+website
+FROM okta.oauth2.app_target_roles
+WHERE subdomain = '{{ subdomain }}' -- required
+AND after = '{{ after }}'
+AND limit = '{{ limit }}';
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Assigns an OIN app target for an `APP_ADMIN` role assignment to a client. When you assign an app target from the OIN catalog, you reduce the scope of the role assignment.
The role assignment applies to only app instances that are included in the specified OIN app target.
An assigned OIN app target overrides any existing app instance targets.
For example, if a user is assigned to administer a specific Facebook instance, a successful request to add an OIN app target with `facebook` for `appName` makes that user the administrator for all Facebook instances.
+
+```sql
+REPLACE okta.oauth2.app_target_roles
+SET
+-- No updatable properties
+WHERE
+subdomain = '{{ subdomain }}' --required;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Unassigns an OIN app target for a role assignment to a client app
> **Note:** You can't remove the last OIN app target from a role assignment.
> If you need a role assignment that applies to all apps, delete the role assignment with the target and create another one. See [Unassign a client role](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/RoleAssignmentClient/#tag/RoleAssignmentClient/operation/deleteRoleFromClient).
+
+```sql
+DELETE FROM okta.oauth2.app_target_roles
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
+
+Unassigns an app instance target from a role assignment to a client app
> **Note:** You can't remove the last app instance target from a role assignment.
> If you need a role assignment that applies to all the apps, delete the role assignment with the instance target and create another one. See [Unassign a client role](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/RoleAssignmentClient/#tag/RoleAssignmentClient/operation/deleteRoleFromClient).
+
+```sql
+DELETE FROM okta.oauth2.app_target_roles
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
+
+
+## Lifecycle Methods
+
+
+
+
+Assigns an app instance target to an `APP_ADMIN` role assignment to a client. When you assign the first OIN app or app instance target, you reduce the scope of the role assignment.
The role no longer applies to all app targets, but applies only to the specified target.
> **Note:** You can target a mixture of both OIN app and app instance targets, but you can't assign permissions to manage all instances of an OIN app and then assign a subset of permissions to the same app.
For example, you can't specify that an admin has access to manage all instances of the Salesforce app and then also manage only specific configurations of the Salesforce app.
+
+```sql
+EXEC okta.oauth2.app_target_roles.assign_app_target_instance_role_for_client
+@subdomain='{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/oauth2/client_roles/index.md b/website/docs/services/oauth2/client_roles/index.md
new file mode 100644
index 0000000..0d6bd16
--- /dev/null
+++ b/website/docs/services/oauth2/client_roles/index.md
@@ -0,0 +1,229 @@
+---
+title: client_roles
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - client_roles
+ - oauth2
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a client_roles resource.
+
+## Overview
+
+| Name | client_roles |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all roles assigned to a client app identified by `clientId` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves a role assignment (identified by `roleAssignmentId`) for a client app (identified by `clientId`) |
+
+
+ |
+ |
+ subdomain |
+ |
+ Assigns a [standard role](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/guides/roles/#standard-roles) to a client app.
You can also assign a custom role to a client app, but the preferred method to assign a custom role to a client is to create a binding between the custom role, the resource set, and the client app. See [Create a role resource set binding](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/RoleDResourceSetBinding/#tag/RoleDResourceSetBinding/operation/createResourceSetBinding).
> **Notes:** > * The request payload is different for standard and custom role assignments. > * For IAM-based standard role assignments, use the request payload for standard roles. However, the response payload for IAM-based role assignments is similar to the custom role's assignment response. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Unassigns a role assignment (identified by `roleAssignmentId`) from a client app (identified by `clientId`) |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all roles assigned to a client app identified by `clientId`
+
+```sql
+SELECT
+*
+FROM okta.oauth2.client_roles
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+Retrieves a role assignment (identified by `roleAssignmentId`) for a client app (identified by `clientId`)
+
+```sql
+SELECT
+*
+FROM okta.oauth2.client_roles
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Assigns a [standard role](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/guides/roles/#standard-roles) to a client app.
You can also assign a custom role to a client app, but the preferred method to assign a custom role to a client is to create a binding between the custom role, the resource set, and the client app. See [Create a role resource set binding](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/RoleDResourceSetBinding/#tag/RoleDResourceSetBinding/operation/createResourceSetBinding).
> **Notes:**
> * The request payload is different for standard and custom role assignments.
> * For IAM-based standard role assignments, use the request payload for standard roles. However, the response payload for IAM-based role assignments is similar to the custom role's assignment response.
+
+```sql
+INSERT INTO okta.oauth2.client_roles (
+subdomain
+)
+SELECT
+'{{ subdomain }}'
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: client_roles
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the client_roles resource.
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Unassigns a role assignment (identified by `roleAssignmentId`) from a client app (identified by `clientId`)
+
+```sql
+DELETE FROM okta.oauth2.client_roles
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/oauth2/group_target_roles/index.md b/website/docs/services/oauth2/group_target_roles/index.md
new file mode 100644
index 0000000..f0cc50e
--- /dev/null
+++ b/website/docs/services/oauth2/group_target_roles/index.md
@@ -0,0 +1,245 @@
+---
+title: group_target_roles
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - group_target_roles
+ - oauth2
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a group_target_roles resource.
+
+## Overview
+
+| Name | group_target_roles |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Unique ID for the group (example: 0gabcd1234) |
+
+
+ |
+ object |
+ Embedded resources related to the group |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string (date-time) |
+ Timestamp when the group was created |
+
+
+ |
+ string (date-time) |
+ Timestamp when the groups memberships were last updated |
+
+
+ |
+ string (date-time) |
+ Timestamp when the group's profile was last updated |
+
+
+ |
+ array |
+ Determines the group's `profile` |
+
+
+ |
+ |
+ Specifies required and optional properties for a group. The `objectClass` of a group determines which additional properties are available. You can extend group profiles with custom properties, but you must first add the properties to the group profile schema before you can reference them. Use the Profile Editor in the Admin Console or the [Schemas API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Schema/)to manage schema extensions. Custom properties can contain HTML tags. It is the client's responsibility to escape or encode this data before displaying it. Use [best-practices](https://cheatsheetseries.owasp.org/cheatsheets/Cross_Site_Scripting_Prevention_Cheat_Sheet.html) to prevent cross-site scripting. |
+
+
+ |
+ string |
+ Determines how a group's profile and memberships are managed |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ after, limit |
+ Lists all group targets for a [`USER_ADMIN`](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/guides/roles/#standard-roles), `HELP_DESK_ADMIN`, or `GROUP_MEMBERSHIP_ADMIN` role assignment to a client. If the role isn't scoped to specific group targets, Okta returns an empty array `[]`. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Assigns a group target to a [`USER_ADMIN`](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/guides/roles/#standard-roles), `HELP_DESK_ADMIN`, or `GROUP_MEMBERSHIP_ADMIN` role assignment to a client app. When you assign the first group target, you reduce the scope of the role assignment. The role no longer applies to all targets, but applies only to the specified target. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Unassigns a Group target from a `USER_ADMIN`, `HELP_DESK_ADMIN`, or `GROUP_MEMBERSHIP_ADMIN` role assignment to a client app.
> **Note:** You can't remove the last group target from a role assignment. If you need a role assignment that applies to all groups, delete the role assignment with the target and create another one. See [Unassign a client role](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/RoleAssignmentClient/#tag/RoleAssignmentClient/operation/deleteRoleFromClient). |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ The cursor to use for pagination. It is an opaque string that specifies your current location in the list and is obtained from the `Link` response header. See [Pagination](https://developer.okta.com/docs/api/#pagination). |
+
+
+ |
+ integer |
+ A limit on the number of objects to return |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all group targets for a [`USER_ADMIN`](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/guides/roles/#standard-roles), `HELP_DESK_ADMIN`, or `GROUP_MEMBERSHIP_ADMIN` role assignment to a client. If the role isn't scoped to specific group targets, Okta returns an empty array `[]`.
+
+```sql
+SELECT
+id,
+_embedded,
+_links,
+created,
+lastMembershipUpdated,
+lastUpdated,
+objectClass,
+profile,
+type
+FROM okta.oauth2.group_target_roles
+WHERE subdomain = '{{ subdomain }}' -- required
+AND after = '{{ after }}'
+AND limit = '{{ limit }}';
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Assigns a group target to a [`USER_ADMIN`](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/guides/roles/#standard-roles), `HELP_DESK_ADMIN`, or `GROUP_MEMBERSHIP_ADMIN` role assignment to a client app. When you assign the first group target, you reduce the scope of the role assignment. The role no longer applies to all targets, but applies only to the specified target.
+
+```sql
+REPLACE okta.oauth2.group_target_roles
+SET
+-- No updatable properties
+WHERE
+subdomain = '{{ subdomain }}' --required;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Unassigns a Group target from a `USER_ADMIN`, `HELP_DESK_ADMIN`, or `GROUP_MEMBERSHIP_ADMIN` role assignment to a client app.
> **Note:** You can't remove the last group target from a role assignment. If you need a role assignment that applies to all groups, delete the role assignment with the target and create another one. See [Unassign a client role](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/RoleAssignmentClient/#tag/RoleAssignmentClient/operation/deleteRoleFromClient).
+
+```sql
+DELETE FROM okta.oauth2.group_target_roles
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/oauth2/index.md b/website/docs/services/oauth2/index.md
new file mode 100644
index 0000000..29314d1
--- /dev/null
+++ b/website/docs/services/oauth2/index.md
@@ -0,0 +1,34 @@
+---
+title: oauth2
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - oauth2
+ - okta
+ - stackql
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+oauth2 service documentation.
+
+:::info[Service Summary]
+
+total resources: __3__
+
+:::
+
+## Resources
+
\ No newline at end of file
diff --git a/website/docs/services/okta_personal_settings/blocked_email_domains/index.md b/website/docs/services/okta_personal_settings/blocked_email_domains/index.md
new file mode 100644
index 0000000..47dcc81
--- /dev/null
+++ b/website/docs/services/okta_personal_settings/blocked_email_domains/index.md
@@ -0,0 +1,103 @@
+---
+title: blocked_email_domains
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - blocked_email_domains
+ - okta_personal_settings
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a blocked_email_domains resource.
+
+## Overview
+
+| Name | blocked_email_domains |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource.
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces the list of blocked email domains which are excluded from app migration |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces the list of blocked email domains which are excluded from app migration
+
+```sql
+REPLACE okta.okta_personal_settings.blocked_email_domains
+SET
+data__domains = '{{ domains }}'
+WHERE
+subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/okta_personal_settings/index.md b/website/docs/services/okta_personal_settings/index.md
new file mode 100644
index 0000000..a4b8471
--- /dev/null
+++ b/website/docs/services/okta_personal_settings/index.md
@@ -0,0 +1,34 @@
+---
+title: okta_personal_settings
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - okta_personal_settings
+ - okta
+ - stackql
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+okta_personal_settings service documentation.
+
+:::info[Service Summary]
+
+total resources: __3__
+
+:::
+
+## Resources
+
\ No newline at end of file
diff --git a/website/docs/services/okta_personal_settings/personal_apps_export_block_list/index.md b/website/docs/services/okta_personal_settings/personal_apps_export_block_list/index.md
new file mode 100644
index 0000000..40ee19a
--- /dev/null
+++ b/website/docs/services/okta_personal_settings/personal_apps_export_block_list/index.md
@@ -0,0 +1,126 @@
+---
+title: personal_apps_export_block_list
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - personal_apps_export_block_list
+ - okta_personal_settings
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a personal_apps_export_block_list resource.
+
+## Overview
+
+| Name | personal_apps_export_block_list |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ array |
+ List of blocked email domains |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all blocked email domains which are excluded from app migration |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all blocked email domains which are excluded from app migration
+
+```sql
+SELECT
+domains
+FROM okta.okta_personal_settings.personal_apps_export_block_list
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
diff --git a/website/docs/services/okta_personal_settings/settings/index.md b/website/docs/services/okta_personal_settings/settings/index.md
new file mode 100644
index 0000000..e0742c0
--- /dev/null
+++ b/website/docs/services/okta_personal_settings/settings/index.md
@@ -0,0 +1,104 @@
+---
+title: settings
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - settings
+ - okta_personal_settings
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a settings resource.
+
+## Overview
+
+| Name | settings |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource.
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces Okta Personal admin settings in a Workforce org |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces Okta Personal admin settings in a Workforce org
+
+```sql
+REPLACE okta.okta_personal_settings.settings
+SET
+data__enableEnduserEntryPoints = {{ enableEnduserEntryPoints }},
+data__enableExportApps = {{ enableExportApps }}
+WHERE
+subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/org/auto_assign_admin_app_setting/index.md b/website/docs/services/org/auto_assign_admin_app_setting/index.md
new file mode 100644
index 0000000..e2c76a7
--- /dev/null
+++ b/website/docs/services/org/auto_assign_admin_app_setting/index.md
@@ -0,0 +1,160 @@
+---
+title: auto_assign_admin_app_setting
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - auto_assign_admin_app_setting
+ - org
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists an auto_assign_admin_app_setting resource.
+
+## Overview
+
+| Name | auto_assign_admin_app_setting |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ boolean |
+ Automatically assigns the Okta Admin Console to the user when an admin role is assigned |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves the org setting to automatically assign the Okta Admin Console when an admin role is assigned |
+
+
+ |
+ |
+ subdomain |
+ |
+ Updates the org setting to automatically assign the Okta Admin Console when an admin role is assigned
> **Note:** This setting doesn't apply to the `SUPER_ADMIN` role. > When you assign the `SUPER_ADMIN` role to a user, the Admin Console is always assigned to the user regardless of the `autoAssignAdminAppSetting` setting. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Retrieves the org setting to automatically assign the Okta Admin Console when an admin role is assigned
+
+```sql
+SELECT
+autoAssignAdminAppSetting
+FROM okta.org.auto_assign_admin_app_setting
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `UPDATE` examples
+
+
+
+
+Updates the org setting to automatically assign the Okta Admin Console when an admin role is assigned
> **Note:** This setting doesn't apply to the `SUPER_ADMIN` role.
> When you assign the `SUPER_ADMIN` role to a user, the Admin Console is always assigned to the user regardless of the `autoAssignAdminAppSetting` setting.
+
+```sql
+UPDATE okta.org.auto_assign_admin_app_setting
+SET
+data__autoAssignAdminAppSetting = {{ autoAssignAdminAppSetting }}
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+autoAssignAdminAppSetting;
+```
+
+
diff --git a/website/docs/services/org/captcha_settings/index.md b/website/docs/services/org/captcha_settings/index.md
new file mode 100644
index 0000000..046c1d2
--- /dev/null
+++ b/website/docs/services/org/captcha_settings/index.md
@@ -0,0 +1,202 @@
+---
+title: captcha_settings
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - captcha_settings
+ - org
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a captcha_settings resource.
+
+## Overview
+
+| Name | captcha_settings |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ object |
+ Link relations for the CAPTCHA settings object |
+
+
+ |
+ string |
+ The unique key of the associated CAPTCHA instance |
+
+
+ |
+ array |
+ An array of pages that have CAPTCHA enabled |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves the CAPTCHA settings object for your organization > **Note**: If the current organization hasn't configured CAPTCHA Settings, the request returns an empty object. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces the CAPTCHA settings object for your organization > **Note**: You can disable CAPTCHA for your organization by setting `captchaId` and `enabledPages` to `null`. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes the CAPTCHA settings object for your organization |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Retrieves the CAPTCHA settings object for your organization
> **Note**: If the current organization hasn't configured CAPTCHA Settings, the request returns an empty object.
+
+```sql
+SELECT
+_links,
+captchaId,
+enabledPages
+FROM okta.org.captcha_settings
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces the CAPTCHA settings object for your organization
> **Note**: You can disable CAPTCHA for your organization by setting `captchaId` and `enabledPages` to `null`.
+
+```sql
+REPLACE okta.org.captcha_settings
+SET
+data__captchaId = '{{ captchaId }}',
+data__enabledPages = '{{ enabledPages }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+_links,
+captchaId,
+enabledPages;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes the CAPTCHA settings object for your organization
+
+```sql
+DELETE FROM okta.org.captcha_settings
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/org/client_privileges_setting/index.md b/website/docs/services/org/client_privileges_setting/index.md
new file mode 100644
index 0000000..3f24195
--- /dev/null
+++ b/website/docs/services/org/client_privileges_setting/index.md
@@ -0,0 +1,160 @@
+---
+title: client_privileges_setting
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - client_privileges_setting
+ - org
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a client_privileges_setting resource.
+
+## Overview
+
+| Name | client_privileges_setting |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ boolean |
+ If true, assigns the super admin role by default to new public client apps |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves the org setting to assign the [Super Admin role](https://help.okta.com/okta_help.htm?type=oie&id=ext_superadmin) to new public client apps |
+
+
+ |
+ |
+ subdomain |
+ |
+ Assigns the [Super Admin role](https://help.okta.com/okta_help.htm?type=oie&id=ext_superadmin) as the default role for new public client apps |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Retrieves the org setting to assign the [Super Admin role](https://help.okta.com/okta_help.htm?type=oie&id=ext_superadmin) to new public client apps
+
+```sql
+SELECT
+clientPrivilegesSetting
+FROM okta.org.client_privileges_setting
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Assigns the [Super Admin role](https://help.okta.com/okta_help.htm?type=oie&id=ext_superadmin) as the default role for new public client apps
+
+```sql
+REPLACE okta.org.client_privileges_setting
+SET
+data__clientPrivilegesSetting = {{ clientPrivilegesSetting }}
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+clientPrivilegesSetting;
+```
+
+
diff --git a/website/docs/services/org/communication_settings/index.md b/website/docs/services/org/communication_settings/index.md
new file mode 100644
index 0000000..8ee0bd1
--- /dev/null
+++ b/website/docs/services/org/communication_settings/index.md
@@ -0,0 +1,178 @@
+---
+title: communication_settings
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - communication_settings
+ - org
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a communication_settings resource.
+
+## Overview
+
+| Name | communication_settings |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available for this object using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification |
+
+
+ |
+ boolean |
+ Indicates whether org users receive Okta communication emails |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves Okta Communication Settings of your org |
+
+
+ |
+ |
+ subdomain |
+ |
+ Opts in all users of this org to Okta communication emails |
+
+
+ |
+ |
+ subdomain |
+ |
+ Opts out all users of this org from Okta communication emails |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Retrieves Okta Communication Settings of your org
+
+```sql
+SELECT
+_links,
+optOutEmailUsers
+FROM okta.org.communication_settings
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## Lifecycle Methods
+
+
+
+
+Opts in all users of this org to Okta communication emails
+
+```sql
+EXEC okta.org.communication_settings.opt_in_users_to_okta_communication_emails
+@subdomain='{{ subdomain }}' --required;
+```
+
+
+
+Opts out all users of this org from Okta communication emails
+
+```sql
+EXEC okta.org.communication_settings.opt_out_users_from_okta_communication_emails
+@subdomain='{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/org/contact_types/index.md b/website/docs/services/org/contact_types/index.md
new file mode 100644
index 0000000..b6e98e0
--- /dev/null
+++ b/website/docs/services/org/contact_types/index.md
@@ -0,0 +1,128 @@
+---
+title: contact_types
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - contact_types
+ - org
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a contact_types resource.
+
+## Overview
+
+| Name | contact_types |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Type of contact |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all org contact types for your Okta org |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all org contact types for your Okta org
+
+```sql
+SELECT
+contactType
+FROM okta.org.contact_types
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
diff --git a/website/docs/services/org/contacts/index.md b/website/docs/services/org/contacts/index.md
new file mode 100644
index 0000000..448e1bc
--- /dev/null
+++ b/website/docs/services/org/contacts/index.md
@@ -0,0 +1,167 @@
+---
+title: contacts
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - contacts
+ - org
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a contacts resource.
+
+## Overview
+
+| Name | contacts |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available for the contact type user object using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification |
+
+
+ |
+ string |
+ Contact user ID |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves the ID and the user resource associated with the specified contact type |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces the user associated with the specified contact type |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Retrieves the ID and the user resource associated with the specified contact type
+
+```sql
+SELECT
+_links,
+userId
+FROM okta.org.contacts
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces the user associated with the specified contact type
+
+```sql
+REPLACE okta.org.contacts
+SET
+data__userId = '{{ userId }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+_links,
+userId;
+```
+
+
diff --git a/website/docs/services/org/email_customizations/index.md b/website/docs/services/org/email_customizations/index.md
new file mode 100644
index 0000000..36e4856
--- /dev/null
+++ b/website/docs/services/org/email_customizations/index.md
@@ -0,0 +1,104 @@
+---
+title: email_customizations
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - email_customizations
+ - org
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists an email_customizations resource.
+
+## Overview
+
+| Name | email_customizations |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource.
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Removes emails from an email service bounce list.
The emails submitted in this operation are removed from the bounce list by an asynchronous job. Any email address that passes validation is accepted for the removal process, even if there are other email addresses in the request that failed validation.
> **Note:** If there are validation errors for all email addresses, a `200 OK` HTTP status is still returned.
|
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## Lifecycle Methods
+
+
+
+
+Removes emails from an email service bounce list.
The emails submitted in this operation are removed from the bounce list by an asynchronous job.
Any email address that passes validation is accepted for the removal process, even if there are other email addresses in the request that failed validation.
> **Note:** If there are validation errors for all email addresses, a `200 OK` HTTP status is still returned.
+
+```sql
+EXEC okta.org.email_customizations.bulk_remove_email_address_bounces
+@subdomain='{{ subdomain }}' --required
+@@json=
+'{
+"emailAddresses": "{{ emailAddresses }}"
+}';
+```
+
+
diff --git a/website/docs/services/org/index.md b/website/docs/services/org/index.md
new file mode 100644
index 0000000..7a66caa
--- /dev/null
+++ b/website/docs/services/org/index.md
@@ -0,0 +1,46 @@
+---
+title: org
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - org
+ - okta
+ - stackql
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+org service documentation.
+
+:::info[Service Summary]
+
+total resources: __15__
+
+:::
+
+## Resources
+
\ No newline at end of file
diff --git a/website/docs/services/org/okta_support/index.md b/website/docs/services/org/okta_support/index.md
new file mode 100644
index 0000000..1495eaa
--- /dev/null
+++ b/website/docs/services/org/okta_support/index.md
@@ -0,0 +1,170 @@
+---
+title: okta_support
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - okta_support
+ - org
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists an okta_support resource.
+
+## Overview
+
+| Name | okta_support |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource.
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Grants Okta Support temporary access to your org as an administrator for eight hours
> **Note:** This resource is deprecated. Use the [Update an Okta Support case](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/OrgSettingSupport/#tag/OrgSettingSupport/operation/updateOktaSupportCase) resource to grant Okta Support access for a support case. > For the corresponding Okta Admin Console feature, see [Give access to Okta Support](https://help.okta.com/okta_help.htm?type=oie&id=settings-support-access). |
+
+
+ |
+ |
+ subdomain |
+ |
+ Revokes Okta Support access to your org
> **Note:** This resource is deprecated. Use the [Update an Okta Support case](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/OrgSettingSupport/#tag/OrgSettingSupport/operation/updateOktaSupportCase) resource to revoke Okta Support access for a support case. > For the corresponding Okta Admin Console feature, see [Give access to Okta Support](https://help.okta.com/okta_help.htm?type=oie&id=settings-support-access). |
+
+
+ |
+ |
+ subdomain |
+ |
+ Extends the length of time that Okta Support can access your org by 24 hours. This means that 24 hours are added to the remaining access time.
> **Note:** This resource is deprecated. Use the [Update an Okta Support case](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/OrgSettingSupport/#tag/OrgSettingSupport/operation/updateOktaSupportCase) resource to extend Okta Support access for a support case. > For the corresponding Okta Admin Console feature, see [Give access to Okta Support](https://help.okta.com/okta_help.htm?type=oie&id=settings-support-access). |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Grants Okta Support temporary access to your org as an administrator for eight hours
> **Note:** This resource is deprecated. Use the [Update an Okta Support case](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/OrgSettingSupport/#tag/OrgSettingSupport/operation/updateOktaSupportCase) resource to grant Okta Support access for a support case.
> For the corresponding Okta Admin Console feature, see [Give access to Okta Support](https://help.okta.com/okta_help.htm?type=oie&id=settings-support-access).
+
+```sql
+INSERT INTO okta.org.okta_support (
+subdomain
+)
+SELECT
+'{{ subdomain }}'
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: okta_support
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the okta_support resource.
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Revokes Okta Support access to your org
> **Note:** This resource is deprecated. Use the [Update an Okta Support case](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/OrgSettingSupport/#tag/OrgSettingSupport/operation/updateOktaSupportCase) resource to revoke Okta Support access for a support case.
> For the corresponding Okta Admin Console feature, see [Give access to Okta Support](https://help.okta.com/okta_help.htm?type=oie&id=settings-support-access).
+
+```sql
+DELETE FROM okta.org.okta_support
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
+
+
+## Lifecycle Methods
+
+
+
+
+Extends the length of time that Okta Support can access your org by 24 hours. This means that 24 hours are added to the remaining access time.
> **Note:** This resource is deprecated. Use the [Update an Okta Support case](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/OrgSettingSupport/#tag/OrgSettingSupport/operation/updateOktaSupportCase) resource to extend Okta Support access for a support case.
> For the corresponding Okta Admin Console feature, see [Give access to Okta Support](https://help.okta.com/okta_help.htm?type=oie&id=settings-support-access).
+
+```sql
+EXEC okta.org.okta_support.extend_okta_support
+@subdomain='{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/org/preferences/index.md b/website/docs/services/org/preferences/index.md
new file mode 100644
index 0000000..51b6f97
--- /dev/null
+++ b/website/docs/services/org/preferences/index.md
@@ -0,0 +1,199 @@
+---
+title: preferences
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - preferences
+ - org
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a preferences resource.
+
+## Overview
+
+| Name | preferences |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available for this object using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification |
+
+
+ |
+ boolean |
+ Indicates if the footer is shown on the End-User Dashboard |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves preferences of your Okta org |
+
+
+ |
+ |
+ subdomain |
+ |
+ Uploads and replaces the logo for your organization |
+
+
+ |
+ |
+ subdomain |
+ |
+ Sets the preference to hide the Okta End-User Dashboard footer for all end users of your org |
+
+
+ |
+ |
+ subdomain |
+ |
+ Sets the preference to show the Okta UI footer for all end users of your org |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Retrieves preferences of your Okta org
+
+```sql
+SELECT
+_links,
+showEndUserFooter
+FROM okta.org.preferences
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## Lifecycle Methods
+
+
+
+
+Uploads and replaces the logo for your organization
+
+```sql
+EXEC okta.org.preferences.upload_org_logo
+@subdomain='{{ subdomain }}' --required
+@@json=
+'{
+"file": "{{ file }}"
+}';
+```
+
+
+
+Sets the preference to hide the Okta End-User Dashboard footer for all end users of your org
+
+```sql
+EXEC okta.org.preferences.set_org_hide_okta_uifooter
+@subdomain='{{ subdomain }}' --required;
+```
+
+
+
+Sets the preference to show the Okta UI footer for all end users of your org
+
+```sql
+EXEC okta.org.preferences.set_org_show_okta_uifooter
+@subdomain='{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/org/settings/index.md b/website/docs/services/org/settings/index.md
new file mode 100644
index 0000000..37c1f22
--- /dev/null
+++ b/website/docs/services/org/settings/index.md
@@ -0,0 +1,348 @@
+---
+title: settings
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - settings
+ - org
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a settings resource.
+
+## Overview
+
+| Name | settings |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Org ID |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available for the org using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification |
+
+
+ |
+ string |
+ Primary address of the organization associated with the org |
+
+
+ |
+ string |
+ Secondary address of the organization associated with the org |
+
+
+ |
+ string |
+ City of the organization associated with the org |
+
+
+ |
+ string |
+ Name of org |
+
+
+ |
+ string |
+ County of the organization associated with the org |
+
+
+ |
+ string (date-time) |
+ When org was created |
+
+
+ |
+ string |
+ Support link of org |
+
+
+ |
+ string (date-time) |
+ Expiration of org |
+
+
+ |
+ string (date-time) |
+ When org was last updated |
+
+
+ |
+ string |
+ Phone number of the organization associated with the org |
+
+
+ |
+ string |
+ Postal code of the organization associated with the org |
+
+
+ |
+ string |
+ State of the organization associated with the org |
+
+
+ |
+ string |
+ Status of org |
+
+
+ |
+ string |
+ Subdomain of org |
+
+
+ |
+ string |
+ Support help phone of the organization associated with the org |
+
+
+ |
+ string |
+ Website of the organization associated with the org |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves the Org General Settings |
+
+
+ |
+ |
+ subdomain |
+ |
+ Updates partial Org General Settings |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces the Org General Settings for your Okta org |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Retrieves the Org General Settings
+
+```sql
+SELECT
+id,
+_links,
+address1,
+address2,
+city,
+companyName,
+country,
+created,
+endUserSupportHelpURL,
+expiresAt,
+lastUpdated,
+phoneNumber,
+postalCode,
+state,
+status,
+subdomain,
+supportPhoneNumber,
+website
+FROM okta.org.settings
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `UPDATE` examples
+
+
+
+
+Updates partial Org General Settings
+
+```sql
+UPDATE okta.org.settings
+SET
+data__address1 = '{{ address1 }}',
+data__address2 = '{{ address2 }}',
+data__city = '{{ city }}',
+data__companyName = '{{ companyName }}',
+data__country = '{{ country }}',
+data__endUserSupportHelpURL = '{{ endUserSupportHelpURL }}',
+data__phoneNumber = '{{ phoneNumber }}',
+data__postalCode = '{{ postalCode }}',
+data__state = '{{ state }}',
+data__supportPhoneNumber = '{{ supportPhoneNumber }}',
+data__website = '{{ website }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+id,
+_links,
+address1,
+address2,
+city,
+companyName,
+country,
+created,
+endUserSupportHelpURL,
+expiresAt,
+lastUpdated,
+phoneNumber,
+postalCode,
+state,
+status,
+subdomain,
+supportPhoneNumber,
+website;
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces the Org General Settings for your Okta org
+
+```sql
+REPLACE okta.org.settings
+SET
+data__address1 = '{{ address1 }}',
+data__address2 = '{{ address2 }}',
+data__city = '{{ city }}',
+data__companyName = '{{ companyName }}',
+data__country = '{{ country }}',
+data__endUserSupportHelpURL = '{{ endUserSupportHelpURL }}',
+data__phoneNumber = '{{ phoneNumber }}',
+data__postalCode = '{{ postalCode }}',
+data__state = '{{ state }}',
+data__supportPhoneNumber = '{{ supportPhoneNumber }}',
+data__website = '{{ website }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+id,
+_links,
+address1,
+address2,
+city,
+companyName,
+country,
+created,
+endUserSupportHelpURL,
+expiresAt,
+lastUpdated,
+phoneNumber,
+postalCode,
+state,
+status,
+subdomain,
+supportPhoneNumber,
+website;
+```
+
+
diff --git a/website/docs/services/org/support_aerial_consent/index.md b/website/docs/services/org/support_aerial_consent/index.md
new file mode 100644
index 0000000..4720335
--- /dev/null
+++ b/website/docs/services/org/support_aerial_consent/index.md
@@ -0,0 +1,228 @@
+---
+title: support_aerial_consent
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - support_aerial_consent
+ - org
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a support_aerial_consent resource.
+
+## Overview
+
+| Name | support_aerial_consent |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ The unique ID of the Aerial account |
+
+
+ |
+ string |
+ Principal ID of the user who granted the permission (example: 00u23ej02I2RLFxS5406) |
+
+
+ |
+ string |
+ Date when grant was created (example: 2024-07-24T16:01:13.000Z) |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves the Okta Aerial consent grant details for your Org. Returns a 404 Not Found error if no consent has been granted. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Grants an Okta Aerial account consent to manage your org. If the org is a child org, consent is taken from the parent org. Grant calls directly to the child are not allowed. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Revokes access of an Okta Aerial account to your Org. The revoke operation will fail if the org has already been added to an Aerial account. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Retrieves the Okta Aerial consent grant details for your Org. Returns a 404 Not Found error if no consent has been granted.
+
+```sql
+SELECT
+_links,
+accountId,
+grantedBy,
+grantedDate
+FROM okta.org.support_aerial_consent
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Grants an Okta Aerial account consent to manage your org. If the org is a child org, consent is taken from the parent org. Grant calls directly to the child are not allowed.
+
+```sql
+INSERT INTO okta.org.support_aerial_consent (
+data__accountId,
+subdomain
+)
+SELECT
+'{{ accountId }}' --required,
+'{{ subdomain }}'
+RETURNING
+_links,
+accountId,
+grantedBy,
+grantedDate
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: support_aerial_consent
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the support_aerial_consent resource.
+ - name: accountId
+ value: string
+ description: >
+ The unique ID of the Aerial account
+
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Revokes access of an Okta Aerial account to your Org. The revoke operation will fail if the org has already been added to an Aerial account.
+
+```sql
+DELETE FROM okta.org.support_aerial_consent
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/org/support_cases/index.md b/website/docs/services/org/support_cases/index.md
new file mode 100644
index 0000000..bc180c5
--- /dev/null
+++ b/website/docs/services/org/support_cases/index.md
@@ -0,0 +1,164 @@
+---
+title: support_cases
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - support_cases
+ - org
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a support_cases resource.
+
+## Overview
+
+| Name | support_cases |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ array |
+ |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all Okta Support cases that the requesting principal has permission to view |
+
+
+ |
+ |
+ subdomain |
+ |
+ Updates access to the org for an Okta Support case:
* You can enable, disable, or extend access to your org for an Okta Support case.
* You can approve Okta Support access to your org for self-assigned cases. A self-assigned case is created and assigned by the same Okta Support user. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all Okta Support cases that the requesting principal has permission to view
+
+```sql
+SELECT
+supportCases
+FROM okta.org.support_cases
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `UPDATE` examples
+
+
+
+
+Updates access to the org for an Okta Support case:
* You can enable, disable, or extend access to your org for an Okta Support case.
* You can approve Okta Support access to your org for self-assigned cases. A self-assigned case is created and assigned by the same Okta Support user.
+
+```sql
+UPDATE okta.org.support_cases
+SET
+data__impersonation = '{{ impersonation }}',
+data__selfAssigned = '{{ selfAssigned }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+caseNumber,
+impersonation,
+selfAssigned,
+subject;
+```
+
+
diff --git a/website/docs/services/org/support_settings/index.md b/website/docs/services/org/support_settings/index.md
new file mode 100644
index 0000000..22d3a1f
--- /dev/null
+++ b/website/docs/services/org/support_settings/index.md
@@ -0,0 +1,146 @@
+---
+title: support_settings
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - support_settings
+ - org
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a support_settings resource.
+
+## Overview
+
+| Name | support_settings |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available for the Okta Support Settings object using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification |
+
+
+ |
+ string |
+ Support case number for the Okta Support access grant |
+
+
+ |
+ string (date-time) |
+ Expiration of Okta Support |
+
+
+ |
+ string |
+ Status of Okta Support Settings |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves Okta Support Settings for your org |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Retrieves Okta Support Settings for your org
+
+```sql
+SELECT
+_links,
+caseNumber,
+expiration,
+support
+FROM okta.org.support_settings
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
diff --git a/website/docs/services/org/third_party_admin_setting/index.md b/website/docs/services/org/third_party_admin_setting/index.md
new file mode 100644
index 0000000..b7696b4
--- /dev/null
+++ b/website/docs/services/org/third_party_admin_setting/index.md
@@ -0,0 +1,160 @@
+---
+title: third_party_admin_setting
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - third_party_admin_setting
+ - org
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a third_party_admin_setting resource.
+
+## Overview
+
+| Name | third_party_admin_setting |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ boolean |
+ Indicates if the third-party admin functionality is enabled |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves the third-party admin setting. See [Configure third-party administrators](https://help.okta.com/okta_help.htm?type=oie&id=csh_admin-third) in the Okta product documentation. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Updates the third-party admin setting. This setting allows third-party admins to perform administrative actions in the Admin Console, but they can't do any of the following: * Receive Okta admin email notifications * Contact Okta support * Sign in to the Okta Help Center
See [Configure third-party administrators](https://help.okta.com/okta_help.htm?type=oie&id=csh_admin-third) in the Okta product documentation.
|
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Retrieves the third-party admin setting. See [Configure third-party administrators](https://help.okta.com/okta_help.htm?type=oie&id=csh_admin-third) in the Okta product documentation.
+
+```sql
+SELECT
+thirdPartyAdmin
+FROM okta.org.third_party_admin_setting
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `UPDATE` examples
+
+
+
+
+Updates the third-party admin setting.
This setting allows third-party admins to perform administrative actions in the Admin Console, but they can't do any of the following:
* Receive Okta admin email notifications
* Contact Okta support
* Sign in to the Okta Help Center
See [Configure third-party administrators](https://help.okta.com/okta_help.htm?type=oie&id=csh_admin-third) in the Okta product documentation.
+
+```sql
+UPDATE okta.org.third_party_admin_setting
+SET
+data__thirdPartyAdmin = {{ thirdPartyAdmin }}
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+thirdPartyAdmin;
+```
+
+
diff --git a/website/docs/services/org/yubikey_otp_tokens/index.md b/website/docs/services/org/yubikey_otp_tokens/index.md
new file mode 100644
index 0000000..6637478
--- /dev/null
+++ b/website/docs/services/org/yubikey_otp_tokens/index.md
@@ -0,0 +1,293 @@
+---
+title: yubikey_otp_tokens
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - yubikey_otp_tokens
+ - org
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a yubikey_otp_tokens resource.
+
+## Overview
+
+| Name | yubikey_otp_tokens |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ ID of the token (example: ykkwcx13nrDq8g4oy0g3) |
+
+
+ |
+ object |
+ |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string (date-time) |
+ Timestamp when the token was created (example: 2022-08-25T00:31:00.000Z) |
+
+
+ |
+ string (date-time) |
+ Timestamp when the token was last updated (example: 2022-08-25T00:31:00.000Z) |
+
+
+ |
+ string (date-time) |
+ Timestamp when the token was last verified (example: 2022-08-25T00:31:00.000Z) |
+
+
+ |
+ object |
+ Specified profile information for token |
+
+
+ |
+ string |
+ Token status |
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ ID of the token (example: ykkwcx13nrDq8g4oy0g3) |
+
+
+ |
+ object |
+ |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string (date-time) |
+ Timestamp when the token was created (example: 2022-08-25T00:31:00.000Z) |
+
+
+ |
+ string (date-time) |
+ Timestamp when the token was last updated (example: 2022-08-25T00:31:00.000Z) |
+
+
+ |
+ string (date-time) |
+ Timestamp when the token was last verified (example: 2022-08-25T00:31:00.000Z) |
+
+
+ |
+ object |
+ Specified profile information for token |
+
+
+ |
+ string |
+ Token status |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all YubiKey OTP tokens |
+
+
+ |
+ |
+ tokenId, subdomain |
+ |
+ Retrieves the specified YubiKey OTP token by `id` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Uploads a seed for a user to enroll a YubiKey OTP |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ The YubiKey OTP token ID |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all YubiKey OTP tokens
+
+```sql
+SELECT
+id,
+_embedded,
+_links,
+created,
+lastUpdated,
+lastVerified,
+profile,
+status
+FROM okta.org.yubikey_otp_tokens
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+Retrieves the specified YubiKey OTP token by `id`
+
+```sql
+SELECT
+id,
+_embedded,
+_links,
+created,
+lastUpdated,
+lastVerified,
+profile,
+status
+FROM okta.org.yubikey_otp_tokens
+WHERE tokenId = '{{ tokenId }}' -- required
+AND subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## Lifecycle Methods
+
+
+
+
+Uploads a seed for a user to enroll a YubiKey OTP
+
+```sql
+EXEC okta.org.yubikey_otp_tokens.upload_yubikey_otp_token_seed
+@subdomain='{{ subdomain }}' --required
+@@json=
+'{
+"serialNumber": "{{ serialNumber }}",
+"publicId": "{{ publicId }}",
+"privateId": "{{ privateId }}",
+"aesKey": "{{ aesKey }}"
+}';
+```
+
+
diff --git a/website/docs/services/orgs/child_orgs/index.md b/website/docs/services/orgs/child_orgs/index.md
new file mode 100644
index 0000000..a1daa08
--- /dev/null
+++ b/website/docs/services/orgs/child_orgs/index.md
@@ -0,0 +1,170 @@
+---
+title: child_orgs
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - child_orgs
+ - orgs
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a child_orgs resource.
+
+## Overview
+
+| Name | child_orgs |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource.
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Creates an org (child org) that has the same features as the current requesting org (parent org). A child org inherits any new features added to the parent org, but new features added to the child org aren't propagated back to the parent org. > **Notes:** > * Some features associated with products, such as Atspoke, Workflows, and Okta Identity Governance, aren't propagated to the child org. > * Wait at least 30 seconds after a 201-Created response before you make API requests to the new child org. > * For rate limits, see [Org creation rate limits](https://developer.okta.com/docs/reference/rl-additional-limits/#org-creation-rate-limits). |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Creates an org (child org) that has the same features as the current requesting org (parent org).
A child org inherits any new features added to the parent org, but new features added to the child org aren't propagated back to the parent org.
> **Notes:**
> * Some features associated with products, such as Atspoke, Workflows, and Okta Identity Governance, aren't propagated to the child org.
> * Wait at least 30 seconds after a 201-Created response before you make API requests to the new child org.
> * For rate limits, see [Org creation rate limits](https://developer.okta.com/docs/reference/rl-additional-limits/#org-creation-rate-limits).
+
+```sql
+INSERT INTO okta.orgs.child_orgs (
+data__admin,
+data__edition,
+data__name,
+data__subdomain,
+data__website,
+subdomain
+)
+SELECT
+'{{ admin }}' --required,
+'{{ edition }}' --required,
+'{{ name }}' --required,
+'{{ subdomain }}' --required,
+'{{ website }}',
+'{{ subdomain }}'
+RETURNING
+id,
+name,
+_links,
+admin,
+created,
+edition,
+lastUpdated,
+settings,
+status,
+subdomain,
+token,
+tokenType,
+website
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: child_orgs
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the child_orgs resource.
+ - name: admin
+ value: object
+ description: >
+ Profile and credential information for the first super admin user of the child org.
+If you plan to configure and manage the org programmatically, create a system user with a dedicated email address and a strong password.
+> **Note:** If you don't provide `credentials`, the super admin user is prompted to set up their credentials when they sign in to the org for the first time.
+
+ - name: edition
+ value: string
+ description: >
+ Edition for the org. `SKU` is the only supported value.
+
+ valid_values: ['SKU']
+ - name: name
+ value: string
+ description: >
+ Unique name of the org.
+This name appears in the HTML `` tag of the new org sign-in page.
+Only less than 4-width UTF-8 encoded characters are allowed.
+
+ - name: subdomain
+ value: string
+ description: >
+ Subdomain of the org. Must be unique and include no spaces.
+
+ - name: website
+ value: string
+ description: >
+ Default website for the org
+
+```
+
+
diff --git a/website/docs/services/orgs/index.md b/website/docs/services/orgs/index.md
new file mode 100644
index 0000000..78b3323
--- /dev/null
+++ b/website/docs/services/orgs/index.md
@@ -0,0 +1,33 @@
+---
+title: orgs
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - orgs
+ - okta
+ - stackql
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+orgs service documentation.
+
+:::info[Service Summary]
+
+total resources: __1__
+
+:::
+
+## Resources
+
\ No newline at end of file
diff --git a/website/docs/services/policies/index.md b/website/docs/services/policies/index.md
new file mode 100644
index 0000000..5a70a04
--- /dev/null
+++ b/website/docs/services/policies/index.md
@@ -0,0 +1,35 @@
+---
+title: policies
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - policies
+ - okta
+ - stackql
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+policies service documentation.
+
+:::info[Service Summary]
+
+total resources: __4__
+
+:::
+
+## Resources
+
\ No newline at end of file
diff --git a/website/docs/services/policies/policies/index.md b/website/docs/services/policies/policies/index.md
new file mode 100644
index 0000000..2ca50d8
--- /dev/null
+++ b/website/docs/services/policies/policies/index.md
@@ -0,0 +1,606 @@
+---
+title: policies
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - policies
+ - policies
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a policies resource.
+
+## Overview
+
+| Name | policies |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Identifier of the policy (default: Assigned) |
+
+
+ |
+ string |
+ Name of the policy |
+
+
+ |
+ object |
+ |
+
+
+ |
+ object |
+ |
+
+
+ |
+ string (date-time) |
+ Timestamp when the policy was created (default: Assigned) |
+
+
+ |
+ string |
+ Description of the policy |
+
+
+ |
+ string (date-time) |
+ Timestamp when the policy was last modified (default: Assigned) |
+
+
+ |
+ integer |
+ Specifies the order in which this policy is evaluated in relation to the other policies (default: Last / Lowest Priority, for example `1`) |
+
+
+ |
+ string |
+ Whether or not the policy is active. Use the `activate` query parameter to set the status of a policy. |
+
+
+ |
+ boolean |
+ Specifies whether Okta created the policy |
+
+
+ |
+ string |
+ All Okta orgs contain only one IdP discovery policy with an immutable default rule routing to your org's sign-in page, one entity risk policy, and one session protection policy. Creating or replacing a policy with the `IDP_DISCOVERY` type, the `ENTITY_RISK` type, or the `POST_AUTH_SESSION` type isn't supported. The following policy types are available with Identity Engine: `ACCESS_POLICY`, `PROFILE_ENROLLMENT`, `POST_AUTH_SESSION`, <x-lifecycle class="ea"></x-lifecycle> `DEVICE_SIGNAL_COLLECTION`, and `ENTITY_RISK`. |
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Identifier of the policy (default: Assigned) |
+
+
+ |
+ string |
+ Name of the policy |
+
+
+ |
+ object |
+ |
+
+
+ |
+ object |
+ |
+
+
+ |
+ string (date-time) |
+ Timestamp when the policy was created (default: Assigned) |
+
+
+ |
+ string |
+ Description of the policy |
+
+
+ |
+ string (date-time) |
+ Timestamp when the policy was last modified (default: Assigned) |
+
+
+ |
+ integer |
+ Specifies the order in which this policy is evaluated in relation to the other policies (default: Last / Lowest Priority, for example `1`) |
+
+
+ |
+ string |
+ Whether or not the policy is active. Use the `activate` query parameter to set the status of a policy. |
+
+
+ |
+ boolean |
+ Specifies whether Okta created the policy |
+
+
+ |
+ string |
+ All Okta orgs contain only one IdP discovery policy with an immutable default rule routing to your org's sign-in page, one entity risk policy, and one session protection policy. Creating or replacing a policy with the `IDP_DISCOVERY` type, the `ENTITY_RISK` type, or the `POST_AUTH_SESSION` type isn't supported. The following policy types are available with Identity Engine: `ACCESS_POLICY`, `PROFILE_ENROLLMENT`, `POST_AUTH_SESSION`, <x-lifecycle class="ea"></x-lifecycle> `DEVICE_SIGNAL_COLLECTION`, and `ENTITY_RISK`. |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ type, subdomain |
+ status, q, expand, sortBy, limit, resourceId, after |
+ Lists all policies with the specified type |
+
+
+ |
+ |
+ subdomain |
+ expand |
+ Retrieves a policy |
+
+
+ |
+ |
+ subdomain |
+ activate |
+ Creates a policy. There are many types of policies that you can create. See [Policies](https://developer.okta.com/docs/concepts/policies/) for an overview of the types of policies available and links to more indepth information. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces the properties of a policy identified by `policyId` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes a policy |
+
+
+ |
+ |
+ subdomain |
+ |
+ Creates a policy or policy rule simulation. The access simulation evaluates policy and policy rules based on the existing policy rule configuration. The evaluation result simulates what the real-world authentication flow is and what policy rules have been applied or matched to the authentication flow. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Clones an existing policy |
+
+
+ |
+ |
+ subdomain |
+ |
+ Activates a policy |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deactivates a policy |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ Specifies the type of policy to return. The following policy types are available only with the Okta Identity Engine - `ACCESS_POLICY`, <x-lifecycle class="ea"></x-lifecycle> `DEVICE_SIGNAL_COLLECTION`, `PROFILE_ENROLLMENT`, `POST_AUTH_SESSION`, and `ENTITY_RISK`. |
+
+
+ |
+ boolean |
+ This query parameter is only valid for Classic Engine orgs. |
+
+
+ |
+ string |
+ End page cursor for pagination, see [Pagination](https://developer.okta.com/docs/api/#pagination) |
+
+
+ |
+ string |
+ |
+
+
+ |
+ string |
+ Defines the number of policies returned, see [Pagination](https://developer.okta.com/docs/api/#pagination) |
+
+
+ |
+ string |
+ Refines the query by policy name prefix (startWith method) passed in as `q=string` |
+
+
+ |
+ string |
+ Reference to the associated authorization server |
+
+
+ |
+ string |
+ Refines the query by sorting on the policy `name` in ascending order |
+
+
+ |
+ string |
+ Refines the query by the `status` of the policy - `ACTIVE` or `INACTIVE` |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all policies with the specified type
+
+```sql
+SELECT
+id,
+name,
+_embedded,
+_links,
+created,
+description,
+lastUpdated,
+priority,
+status,
+system,
+type
+FROM okta.policies.policies
+WHERE type = '{{ type }}' -- required
+AND subdomain = '{{ subdomain }}' -- required
+AND status = '{{ status }}'
+AND q = '{{ q }}'
+AND expand = '{{ expand }}'
+AND sortBy = '{{ sortBy }}'
+AND limit = '{{ limit }}'
+AND resourceId = '{{ resourceId }}'
+AND after = '{{ after }}';
+```
+
+
+
+Retrieves a policy
+
+```sql
+SELECT
+id,
+name,
+_embedded,
+_links,
+created,
+description,
+lastUpdated,
+priority,
+status,
+system,
+type
+FROM okta.policies.policies
+WHERE subdomain = '{{ subdomain }}' -- required
+AND expand = '{{ expand }}';
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Creates a policy. There are many types of policies that you can create. See [Policies](https://developer.okta.com/docs/concepts/policies/) for an overview of the types of policies available and links to more indepth information.
+
+```sql
+INSERT INTO okta.policies.policies (
+data__description,
+data__name,
+data__priority,
+data__status,
+data__system,
+data__type,
+subdomain,
+activate
+)
+SELECT
+'{{ description }}',
+'{{ name }}' --required,
+{{ priority }},
+'{{ status }}',
+{{ system }},
+'{{ type }}' --required,
+'{{ subdomain }}',
+'{{ activate }}'
+RETURNING
+id,
+name,
+_embedded,
+_links,
+created,
+description,
+lastUpdated,
+priority,
+status,
+system,
+type
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: policies
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the policies resource.
+ - name: description
+ value: string
+ description: >
+ Description of the policy
+
+ default: null
+ - name: name
+ value: string
+ description: >
+ Name of the policy
+
+ - name: priority
+ value: integer
+ description: >
+ Specifies the order in which this policy is evaluated in relation to the other policies
+
+ default: Last / Lowest Priority, for example `1`
+ - name: status
+ value: string
+ description: >
+ Whether or not the policy is active. Use the `activate` query parameter to set the status of a policy.
+
+ valid_values: ['ACTIVE', 'INACTIVE']
+ - name: system
+ value: boolean
+ description: >
+ Specifies whether Okta created the policy
+
+ default: false
+ - name: type
+ value: string
+ description: >
+ All Okta orgs contain only one IdP discovery policy with an immutable default rule routing to your org's sign-in page, one entity risk policy, and one session protection policy.
+Creating or replacing a policy with the `IDP_DISCOVERY` type, the `ENTITY_RISK` type, or the `POST_AUTH_SESSION` type isn't supported.
+The following policy types are available with Identity Engine: `ACCESS_POLICY`, `PROFILE_ENROLLMENT`, `POST_AUTH_SESSION`, `DEVICE_SIGNAL_COLLECTION`, and `ENTITY_RISK`.
+
+ valid_values: [' DEVICE_SIGNAL_COLLECTION', 'ACCESS_POLICY', 'ENTITY_RISK', 'IDP_DISCOVERY', 'MFA_ENROLL', 'OKTA_SIGN_ON', 'PASSWORD', 'POST_AUTH_SESSION', 'PROFILE_ENROLLMENT']
+ - name: activate
+ value: boolean
+ description: This query parameter is only valid for Classic Engine orgs.
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces the properties of a policy identified by `policyId`
+
+```sql
+REPLACE okta.policies.policies
+SET
+data__description = '{{ description }}',
+data__name = '{{ name }}',
+data__priority = {{ priority }},
+data__status = '{{ status }}',
+data__system = {{ system }},
+data__type = '{{ type }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+AND data__name = '{{ name }}' --required
+AND data__type = '{{ type }}' --required
+RETURNING
+id,
+name,
+_embedded,
+_links,
+created,
+description,
+lastUpdated,
+priority,
+status,
+system,
+type;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes a policy
+
+```sql
+DELETE FROM okta.policies.policies
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
+
+
+## Lifecycle Methods
+
+
+
+
+Creates a policy or policy rule simulation. The access simulation evaluates policy and policy rules based on the existing policy rule configuration.
The evaluation result simulates what the real-world authentication flow is and what policy rules have been applied or matched to the authentication flow.
+
+```sql
+EXEC okta.policies.policies.create_policy_simulation
+@subdomain='{{ subdomain }}' --required;
+```
+
+
+
+Clones an existing policy
+
+```sql
+EXEC okta.policies.policies.clone_policy
+@subdomain='{{ subdomain }}' --required;
+```
+
+
+
+Activates a policy
+
+```sql
+EXEC okta.policies.policies.activate_policy
+@subdomain='{{ subdomain }}' --required;
+```
+
+
+
+Deactivates a policy
+
+```sql
+EXEC okta.policies.policies.deactivate_policy
+@subdomain='{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/policies/policy_apps/index.md b/website/docs/services/policies/policy_apps/index.md
new file mode 100644
index 0000000..d954c23
--- /dev/null
+++ b/website/docs/services/policies/policy_apps/index.md
@@ -0,0 +1,212 @@
+---
+title: policy_apps
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - policy_apps
+ - policies
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a policy_apps resource.
+
+## Overview
+
+| Name | policy_apps |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Unique ID for the app instance |
+
+
+ |
+ object |
+ Embedded resources related to the app using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. If the `expand=user/{userId}` query parameter is specified, then the assigned [Application User](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/ApplicationUsers/) is embedded. |
+
+
+ |
+ object |
+ Discoverable resources related to the app |
+
+
+ |
+ object |
+ Specifies access settings for the app |
+
+
+ |
+ string (date-time) |
+ Timestamp when the application object was created |
+
+
+ |
+ array |
+ Enabled app features > **Note:** See [Application Features](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/ApplicationFeatures/) for app provisioning features. |
+
+
+ |
+ string |
+ User-defined display name for app |
+
+
+ |
+ string (date-time) |
+ Timestamp when the application object was last updated |
+
+
+ |
+ object |
+ Licenses for the app |
+
+
+ |
+ string |
+ The Okta resource name (ORN) for the current app instance |
+
+
+ |
+ object |
+ Contains any valid JSON schema for specifying properties that can be referenced from a request (only available to OAuth 2.0 client apps). For example, add an app manager contact email address or define an allowlist of groups that you can then reference using the Okta Expression Language `getFilteredGroups` function. > **Notes:** > * `profile` isn't encrypted, so don't store sensitive data in it. > * `profile` doesn't limit the level of nesting in the JSON schema you created, but there is a practical size limit. Okta recommends a JSON schema size of 1 MB or less for best performance. |
+
+
+ |
+ string |
+ Authentication mode for the app | signOnMode | Description | | ---------- | ----------- | | AUTO_LOGIN | Secure Web Authentication (SWA) | | BASIC_AUTH | HTTP Basic Authentication with Okta Browser Plugin | | BOOKMARK | Just a bookmark (no-authentication) | | BROWSER_PLUGIN | Secure Web Authentication (SWA) with Okta Browser Plugin | | OPENID_CONNECT | Federated Authentication with OpenID Connect (OIDC) | | SAML_1_1 | Federated Authentication with SAML 1.1 WebSSO (not supported for custom apps) | | SAML_2_0 | Federated Authentication with SAML 2.0 WebSSO | | SECURE_PASSWORD_STORE | Secure Web Authentication (SWA) with POST (plugin not required) | | WS_FEDERATION | Federated Authentication with WS-Federation Passive Requestor Profile | Select the `signOnMode` for your custom app: |
+
+
+ |
+ string |
+ App instance status |
+
+
+ |
+ object |
+ <div class="x-lifecycle-container"><x-lifecycle class="oie"></x-lifecycle></div> Universal Logout properties for the app. These properties are only returned and can't be updated. (example: ACTIVE) |
+
+
+ |
+ object |
+ Specifies visibility settings for the app |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all applications mapped to a policy identified by `policyId`
> **Note:** Use [List all resources mapped to a Policy](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Policy/#tag/Policy/operation/listPolicyMappings) to list all applications mapped to a policy. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all applications mapped to a policy identified by `policyId`
> **Note:** Use [List all resources mapped to a Policy](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Policy/#tag/Policy/operation/listPolicyMappings) to list all applications mapped to a policy.
+
+```sql
+SELECT
+id,
+_embedded,
+_links,
+accessibility,
+created,
+features,
+label,
+lastUpdated,
+licensing,
+orn,
+profile,
+signOnMode,
+status,
+universalLogout,
+visibility
+FROM okta.policies.policy_apps
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
diff --git a/website/docs/services/policies/policy_mappings/index.md b/website/docs/services/policies/policy_mappings/index.md
new file mode 100644
index 0000000..7d2acfe
--- /dev/null
+++ b/website/docs/services/policies/policy_mappings/index.md
@@ -0,0 +1,240 @@
+---
+title: policy_mappings
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - policy_mappings
+ - policies
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a policy_mappings resource.
+
+## Overview
+
+| Name | policy_mappings |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all resources mapped to a policy identified by `policyId` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves a resource mapping for a policy identified by `policyId` and `mappingId` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes the resource mapping for a policy identified by `policyId` and `mappingId` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Maps a resource to a policy identified by `policyId` |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all resources mapped to a policy identified by `policyId`
+
+```sql
+SELECT
+id,
+_links
+FROM okta.policies.policy_mappings
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+Retrieves a resource mapping for a policy identified by `policyId` and `mappingId`
+
+```sql
+SELECT
+id,
+_links
+FROM okta.policies.policy_mappings
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes the resource mapping for a policy identified by `policyId` and `mappingId`
+
+```sql
+DELETE FROM okta.policies.policy_mappings
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
+
+
+## Lifecycle Methods
+
+
+
+
+Maps a resource to a policy identified by `policyId`
+
+```sql
+EXEC okta.policies.policy_mappings.map_resource_to_policy
+@subdomain='{{ subdomain }}' --required
+@@json=
+'{
+"resourceId": "{{ resourceId }}",
+"resourceType": "{{ resourceType }}"
+}';
+```
+
+
diff --git a/website/docs/services/policies/policy_rules/index.md b/website/docs/services/policies/policy_rules/index.md
new file mode 100644
index 0000000..741504b
--- /dev/null
+++ b/website/docs/services/policies/policy_rules/index.md
@@ -0,0 +1,481 @@
+---
+title: policy_rules
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - policy_rules
+ - policies
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a policy_rules resource.
+
+## Overview
+
+| Name | policy_rules |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Identifier for the rule |
+
+
+ |
+ string |
+ Name of the rule |
+
+
+ |
+ object |
+ |
+
+
+ |
+ string (date-time) |
+ Timestamp when the rule was created |
+
+
+ |
+ string (date-time) |
+ Timestamp when the rule was last modified |
+
+
+ |
+ integer |
+ Priority of the rule |
+
+
+ |
+ string |
+ Whether or not the rule is active. Use the `activate` query parameter to set the status of a rule. |
+
+
+ |
+ boolean |
+ Specifies whether Okta created the policy rule (`system=true`). You can't delete policy rules that have `system` set to `true`. |
+
+
+ |
+ string |
+ Rule type |
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Identifier for the rule |
+
+
+ |
+ string |
+ Name of the rule |
+
+
+ |
+ object |
+ |
+
+
+ |
+ string (date-time) |
+ Timestamp when the rule was created |
+
+
+ |
+ string (date-time) |
+ Timestamp when the rule was last modified |
+
+
+ |
+ integer |
+ Priority of the rule |
+
+
+ |
+ string |
+ Whether or not the rule is active. Use the `activate` query parameter to set the status of a rule. |
+
+
+ |
+ boolean |
+ Specifies whether Okta created the policy rule (`system=true`). You can't delete policy rules that have `system` set to `true`. |
+
+
+ |
+ string |
+ Rule type |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all policy rules |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves a policy rule |
+
+
+ |
+ |
+ subdomain |
+ activate |
+ Creates a policy rule
> **Note:** You can't create additional rules for the `PROFILE_ENROLLMENT` or `POST_AUTH_SESSION` policies. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces the properties for a policy rule identified by `policyId` and `ruleId` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes a policy rule identified by `policyId` and `ruleId` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Activates a policy rule identified by `policyId` and `ruleId` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deactivates a policy rule identified by `policyId` and `ruleId` |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ boolean |
+ Set this parameter to `false` to create an `INACTIVE` rule. |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all policy rules
+
+```sql
+SELECT
+id,
+name,
+_links,
+created,
+lastUpdated,
+priority,
+status,
+system,
+type
+FROM okta.policies.policy_rules
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+Retrieves a policy rule
+
+```sql
+SELECT
+id,
+name,
+_links,
+created,
+lastUpdated,
+priority,
+status,
+system,
+type
+FROM okta.policies.policy_rules
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Creates a policy rule
> **Note:** You can't create additional rules for the `PROFILE_ENROLLMENT` or `POST_AUTH_SESSION` policies.
+
+```sql
+INSERT INTO okta.policies.policy_rules (
+data__name,
+data__priority,
+data__status,
+data__system,
+data__type,
+subdomain,
+activate
+)
+SELECT
+'{{ name }}',
+{{ priority }},
+'{{ status }}',
+{{ system }},
+'{{ type }}',
+'{{ subdomain }}',
+'{{ activate }}'
+RETURNING
+id,
+name,
+_links,
+created,
+lastUpdated,
+priority,
+status,
+system,
+type
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: policy_rules
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the policy_rules resource.
+ - name: name
+ value: string
+ description: >
+ Name of the rule
+
+ - name: priority
+ value: integer
+ description: >
+ Priority of the rule
+
+ - name: status
+ value: string
+ description: >
+ Whether or not the rule is active. Use the `activate` query parameter to set the status of a rule.
+
+ valid_values: ['ACTIVE', 'INACTIVE']
+ - name: system
+ value: boolean
+ description: >
+ Specifies whether Okta created the policy rule (`system=true`). You can't delete policy rules that have `system` set to `true`.
+
+ default: false
+ - name: type
+ value: string
+ description: >
+ Rule type
+
+ valid_values: ['ACCESS_POLICY', 'DEVICE_SIGNAL_COLLECTION', 'ENTITY_RISK', 'IDP_DISCOVERY', 'MFA_ENROLL', 'PASSWORD', 'POST_AUTH_SESSION', 'PROFILE_ENROLLMENT', 'SIGN_ON']
+ - name: activate
+ value: boolean
+ description: Set this parameter to `false` to create an `INACTIVE` rule.
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces the properties for a policy rule identified by `policyId` and `ruleId`
+
+```sql
+REPLACE okta.policies.policy_rules
+SET
+data__name = '{{ name }}',
+data__priority = {{ priority }},
+data__status = '{{ status }}',
+data__system = {{ system }},
+data__type = '{{ type }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+id,
+name,
+_links,
+created,
+lastUpdated,
+priority,
+status,
+system,
+type;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes a policy rule identified by `policyId` and `ruleId`
+
+```sql
+DELETE FROM okta.policies.policy_rules
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
+
+
+## Lifecycle Methods
+
+
+
+
+Activates a policy rule identified by `policyId` and `ruleId`
+
+```sql
+EXEC okta.policies.policy_rules.activate_policy_rule
+@subdomain='{{ subdomain }}' --required;
+```
+
+
+
+Deactivates a policy rule identified by `policyId` and `ruleId`
+
+```sql
+EXEC okta.policies.policy_rules.deactivate_policy_rule
+@subdomain='{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/principal_rate_limits/index.md b/website/docs/services/principal_rate_limits/index.md
new file mode 100644
index 0000000..62415a6
--- /dev/null
+++ b/website/docs/services/principal_rate_limits/index.md
@@ -0,0 +1,33 @@
+---
+title: principal_rate_limits
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - principal_rate_limits
+ - okta
+ - stackql
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+principal_rate_limits service documentation.
+
+:::info[Service Summary]
+
+total resources: __1__
+
+:::
+
+## Resources
+
\ No newline at end of file
diff --git a/website/docs/services/principal_rate_limits/principal_rate_limit_entities/index.md b/website/docs/services/principal_rate_limits/principal_rate_limit_entities/index.md
new file mode 100644
index 0000000..a02da9b
--- /dev/null
+++ b/website/docs/services/principal_rate_limits/principal_rate_limit_entities/index.md
@@ -0,0 +1,420 @@
+---
+title: principal_rate_limit_entities
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - principal_rate_limit_entities
+ - principal_rate_limits
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a principal_rate_limit_entities resource.
+
+## Overview
+
+| Name | principal_rate_limit_entities |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The unique identifier of the principle rate limit entity |
+
+
+ |
+ string |
+ The Okta user ID of the user who created the principle rate limit entity |
+
+
+ |
+ string (date-time) |
+ The date and time the principle rate limit entity was created |
+
+
+ |
+ integer |
+ The default percentage of a given concurrency limit threshold that the owning principal can consume |
+
+
+ |
+ integer |
+ The default percentage of a given rate limit threshold that the owning principal can consume |
+
+
+ |
+ string (date-time) |
+ The date and time the principle rate limit entity was last updated |
+
+
+ |
+ string |
+ The Okta user ID of the user who last updated the principle rate limit entity |
+
+
+ |
+ string |
+ The unique identifier of the Okta org |
+
+
+ |
+ string |
+ The unique identifier of the principal. This is the ID of the API token or OAuth 2.0 app. |
+
+
+ |
+ string |
+ The type of principal, either an API token or an OAuth 2.0 app |
+
+
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The unique identifier of the principle rate limit entity |
+
+
+ |
+ string |
+ The Okta user ID of the user who created the principle rate limit entity |
+
+
+ |
+ string (date-time) |
+ The date and time the principle rate limit entity was created |
+
+
+ |
+ integer |
+ The default percentage of a given concurrency limit threshold that the owning principal can consume |
+
+
+ |
+ integer |
+ The default percentage of a given rate limit threshold that the owning principal can consume |
+
+
+ |
+ string (date-time) |
+ The date and time the principle rate limit entity was last updated |
+
+
+ |
+ string |
+ The Okta user ID of the user who last updated the principle rate limit entity |
+
+
+ |
+ string |
+ The unique identifier of the Okta org |
+
+
+ |
+ string |
+ The unique identifier of the principal. This is the ID of the API token or OAuth 2.0 app. |
+
+
+ |
+ string |
+ The type of principal, either an API token or an OAuth 2.0 app |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ filter, subdomain |
+ after, limit |
+ Lists all Principal Rate Limit entities considering the provided parameters |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves a principal rate limit entity by `principalRateLimitId` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Creates a new principal rate limit entity. Okta only allows one principal rate limit entity per org and principal. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces a principal rate limit entity by `principalRateLimitId` |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Filters the list of principal rate limit entities by the provided principal type (`principalType`). For example, `filter=principalType eq "SSWS_TOKEN"` or `filter=principalType eq "OAUTH_CLIENT"`. |
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ The cursor to use for pagination. It's an opaque string that specifies your current location in the list and is obtained from the `Link` response header. See [Pagination](https://developer.okta.com/docs/api/#pagination). |
+
+
+ |
+ integer (int32) |
+ Specifies the number of items to return in a single response page. |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all Principal Rate Limit entities considering the provided parameters
+
+```sql
+SELECT
+id,
+createdBy,
+createdDate,
+defaultConcurrencyPercentage,
+defaultPercentage,
+lastUpdate,
+lastUpdatedBy,
+orgId,
+principalId,
+principalType
+FROM okta.principal_rate_limits.principal_rate_limit_entities
+WHERE filter = '{{ filter }}' -- required
+AND subdomain = '{{ subdomain }}' -- required
+AND after = '{{ after }}'
+AND limit = '{{ limit }}';
+```
+
+
+
+Retrieves a principal rate limit entity by `principalRateLimitId`
+
+```sql
+SELECT
+id,
+createdBy,
+createdDate,
+defaultConcurrencyPercentage,
+defaultPercentage,
+lastUpdate,
+lastUpdatedBy,
+orgId,
+principalId,
+principalType
+FROM okta.principal_rate_limits.principal_rate_limit_entities
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Creates a new principal rate limit entity. Okta only allows one principal rate limit entity per org and principal.
+
+```sql
+INSERT INTO okta.principal_rate_limits.principal_rate_limit_entities (
+data__defaultConcurrencyPercentage,
+data__defaultPercentage,
+data__principalId,
+data__principalType,
+subdomain
+)
+SELECT
+{{ defaultConcurrencyPercentage }},
+{{ defaultPercentage }},
+'{{ principalId }}' --required,
+'{{ principalType }}' --required,
+'{{ subdomain }}'
+RETURNING
+id,
+createdBy,
+createdDate,
+defaultConcurrencyPercentage,
+defaultPercentage,
+lastUpdate,
+lastUpdatedBy,
+orgId,
+principalId,
+principalType
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: principal_rate_limit_entities
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the principal_rate_limit_entities resource.
+ - name: defaultConcurrencyPercentage
+ value: integer
+ description: >
+ The default percentage of a given concurrency limit threshold that the owning principal can consume
+
+ - name: defaultPercentage
+ value: integer
+ description: >
+ The default percentage of a given rate limit threshold that the owning principal can consume
+
+ - name: principalId
+ value: string
+ description: >
+ The unique identifier of the principal. This is the ID of the API token or OAuth 2.0 app.
+
+ - name: principalType
+ value: string
+ description: >
+ The type of principal, either an API token or an OAuth 2.0 app
+
+ valid_values: ['OAUTH_CLIENT', 'SSWS_TOKEN']
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces a principal rate limit entity by `principalRateLimitId`
+
+```sql
+REPLACE okta.principal_rate_limits.principal_rate_limit_entities
+SET
+data__defaultConcurrencyPercentage = {{ defaultConcurrencyPercentage }},
+data__defaultPercentage = {{ defaultPercentage }},
+data__principalId = '{{ principalId }}',
+data__principalType = '{{ principalType }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+AND data__principalId = '{{ principalId }}' --required
+AND data__principalType = '{{ principalType }}' --required
+RETURNING
+id,
+createdBy,
+createdDate,
+defaultConcurrencyPercentage,
+defaultPercentage,
+lastUpdate,
+lastUpdatedBy,
+orgId,
+principalId,
+principalType;
+```
+
+
diff --git a/website/docs/services/privileged_access/index.md b/website/docs/services/privileged_access/index.md
new file mode 100644
index 0000000..7760c23
--- /dev/null
+++ b/website/docs/services/privileged_access/index.md
@@ -0,0 +1,33 @@
+---
+title: privileged_access
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - privileged_access
+ - okta
+ - stackql
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+privileged_access service documentation.
+
+:::info[Service Summary]
+
+total resources: __1__
+
+:::
+
+## Resources
+
\ No newline at end of file
diff --git a/website/docs/services/privileged_access/service_accounts/index.md b/website/docs/services/privileged_access/service_accounts/index.md
new file mode 100644
index 0000000..b12a880
--- /dev/null
+++ b/website/docs/services/privileged_access/service_accounts/index.md
@@ -0,0 +1,527 @@
+---
+title: service_accounts
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - service_accounts
+ - privileged_access
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a service_accounts resource.
+
+## Overview
+
+| Name | service_accounts |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string (regex) |
+ The UUID of the app service account (pattern: (?i)^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$, example: a747a818-a4c4-4446-8a87-704216495a08) |
+
+
+ |
+ string (regex) |
+ The user-defined name for the app service account (pattern: ^[\w\-_. ]+$, example: salesforce Prod-5 account) |
+
+
+ |
+ string |
+ The key name of the app in the Okta Integration Network (OIN) (example: salesforce) |
+
+
+ |
+ string |
+ The app instance label (example: salesforce Prod 5) |
+
+
+ |
+ string |
+ The [ORN](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/guides/roles/#okta-resource-name-orn) of the relevant resource. Use the specific app ORN format (`orn:{partition}:idp:{yourOrgId}:apps:{appType}:{appId}`) to identify an Okta app instance in your org. (example: orn:okta:idp:00o1n8sbwArJ7OQRw406:apps:salesforce:0oa1gjh63g214q0Hq0g4) |
+
+
+ |
+ string (date-time) |
+ Timestamp when the app service account was created |
+
+
+ |
+ string (regex) |
+ The description of the app service account (example: This is for accessing salesforce Prod-5) |
+
+
+ |
+ string (date-time) |
+ Timestamp when the app service account was last updated |
+
+
+ |
+ array |
+ A list of IDs of the Okta groups who own the app service account |
+
+
+ |
+ array |
+ A list of IDs of the Okta users who own the app service account |
+
+
+ |
+ string (password) |
+ The app service account password. Required for apps that don't have provisioning enabled or don't support password synchronization. |
+
+
+ |
+ string |
+ Describes the current status of an app service account (example: UNSECURED) |
+
+
+ |
+ string |
+ Describes the detailed status of an app service account (example: STAGED) |
+
+
+ |
+ string |
+ The username that serves as the direct link to your managed app account. Ensure that this value precisely matches the identifier of the target app account. (example: testuser-salesforce-5@example.com) |
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string (regex) |
+ The UUID of the app service account (pattern: (?i)^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$, example: a747a818-a4c4-4446-8a87-704216495a08) |
+
+
+ |
+ string (regex) |
+ The user-defined name for the app service account (pattern: ^[\w\-_. ]+$, example: salesforce Prod-5 account) |
+
+
+ |
+ string |
+ The key name of the app in the Okta Integration Network (OIN) (example: salesforce) |
+
+
+ |
+ string |
+ The app instance label (example: salesforce Prod 5) |
+
+
+ |
+ string |
+ The [ORN](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/guides/roles/#okta-resource-name-orn) of the relevant resource. Use the specific app ORN format (`orn:{partition}:idp:{yourOrgId}:apps:{appType}:{appId}`) to identify an Okta app instance in your org. (example: orn:okta:idp:00o1n8sbwArJ7OQRw406:apps:salesforce:0oa1gjh63g214q0Hq0g4) |
+
+
+ |
+ string (date-time) |
+ Timestamp when the app service account was created |
+
+
+ |
+ string (regex) |
+ The description of the app service account (example: This is for accessing salesforce Prod-5) |
+
+
+ |
+ string (date-time) |
+ Timestamp when the app service account was last updated |
+
+
+ |
+ array |
+ A list of IDs of the Okta groups who own the app service account |
+
+
+ |
+ array |
+ A list of IDs of the Okta users who own the app service account |
+
+
+ |
+ string (password) |
+ The app service account password. Required for apps that don't have provisioning enabled or don't support password synchronization. |
+
+
+ |
+ string |
+ Describes the current status of an app service account (example: UNSECURED) |
+
+
+ |
+ string |
+ Describes the detailed status of an app service account (example: STAGED) |
+
+
+ |
+ string |
+ The username that serves as the direct link to your managed app account. Ensure that this value precisely matches the identifier of the target app account. (example: testuser-salesforce-5@example.com) |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ limit, after, match |
+ Lists all app service accounts |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves an app service account specified by ID |
+
+
+ |
+ |
+ subdomain |
+ |
+ Creates a new app service account for managing an app account |
+
+
+ |
+ |
+ subdomain |
+ |
+ Updates an existing app service account specified by ID |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes an app service account specified by ID |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ The cursor to use for pagination. It is an opaque string that specifies your current location in the list and is obtained from the `Link` response header. See [Pagination](https://developer.okta.com/docs/api/#pagination). |
+
+
+ |
+ integer |
+ A limit on the number of objects to return |
+
+
+ |
+ string |
+ Searches for app service accounts where the account name (`name`), username (`username`), app instance label (`containerInstanceName`), or OIN app key name (`containerGlobalName`) contains the given value |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all app service accounts
+
+```sql
+SELECT
+id,
+name,
+containerGlobalName,
+containerInstanceName,
+containerOrn,
+created,
+description,
+lastUpdated,
+ownerGroupIds,
+ownerUserIds,
+password,
+status,
+statusDetail,
+username
+FROM okta.privileged_access.service_accounts
+WHERE subdomain = '{{ subdomain }}' -- required
+AND limit = '{{ limit }}'
+AND after = '{{ after }}'
+AND match = '{{ match }}';
+```
+
+
+
+Retrieves an app service account specified by ID
+
+```sql
+SELECT
+id,
+name,
+containerGlobalName,
+containerInstanceName,
+containerOrn,
+created,
+description,
+lastUpdated,
+ownerGroupIds,
+ownerUserIds,
+password,
+status,
+statusDetail,
+username
+FROM okta.privileged_access.service_accounts
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Creates a new app service account for managing an app account
+
+```sql
+INSERT INTO okta.privileged_access.service_accounts (
+data__containerOrn,
+data__description,
+data__name,
+data__ownerGroupIds,
+data__ownerUserIds,
+data__password,
+data__username,
+subdomain
+)
+SELECT
+'{{ containerOrn }}' --required,
+'{{ description }}',
+'{{ name }}' --required,
+'{{ ownerGroupIds }}',
+'{{ ownerUserIds }}',
+'{{ password }}',
+'{{ username }}' --required,
+'{{ subdomain }}'
+RETURNING
+id,
+name,
+containerGlobalName,
+containerInstanceName,
+containerOrn,
+created,
+description,
+lastUpdated,
+ownerGroupIds,
+ownerUserIds,
+password,
+status,
+statusDetail,
+username
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: service_accounts
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the service_accounts resource.
+ - name: containerOrn
+ value: string
+ description: >
+ The [ORN](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/guides/roles/#okta-resource-name-orn) of the relevant resource.
+
+Use the specific app ORN format (`orn:{partition}:idp:{yourOrgId}:apps:{appType}:{appId}`) to identify an Okta app instance in your org.
+
+ - name: description
+ value: string
+ description: >
+ The description of the app service account
+
+ - name: name
+ value: string
+ description: >
+ The user-defined name for the app service account
+
+ - name: ownerGroupIds
+ value: array
+ description: >
+ A list of IDs of the Okta groups who own the app service account
+
+ - name: ownerUserIds
+ value: array
+ description: >
+ A list of IDs of the Okta users who own the app service account
+
+ - name: password
+ value: string
+ description: >
+ The app service account password. Required for apps that don't have provisioning enabled or don't support password synchronization.
+
+ - name: username
+ value: string
+ description: >
+ The username that serves as the direct link to your managed app account. Ensure that this value precisely matches the identifier of the target app account.
+
+```
+
+
+
+
+## `UPDATE` examples
+
+
+
+
+Updates an existing app service account specified by ID
+
+```sql
+UPDATE okta.privileged_access.service_accounts
+SET
+data__description = '{{ description }}',
+data__name = '{{ name }}',
+data__ownerGroupIds = '{{ ownerGroupIds }}',
+data__ownerUserIds = '{{ ownerUserIds }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+id,
+name,
+containerGlobalName,
+containerInstanceName,
+containerOrn,
+created,
+description,
+lastUpdated,
+ownerGroupIds,
+ownerUserIds,
+password,
+status,
+statusDetail,
+username;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes an app service account specified by ID
+
+```sql
+DELETE FROM okta.privileged_access.service_accounts
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/push_providers/index.md b/website/docs/services/push_providers/index.md
new file mode 100644
index 0000000..f385869
--- /dev/null
+++ b/website/docs/services/push_providers/index.md
@@ -0,0 +1,33 @@
+---
+title: push_providers
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - push_providers
+ - okta
+ - stackql
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+push_providers service documentation.
+
+:::info[Service Summary]
+
+total resources: __1__
+
+:::
+
+## Resources
+
\ No newline at end of file
diff --git a/website/docs/services/push_providers/push_providers/index.md b/website/docs/services/push_providers/push_providers/index.md
new file mode 100644
index 0000000..8118c54
--- /dev/null
+++ b/website/docs/services/push_providers/push_providers/index.md
@@ -0,0 +1,344 @@
+---
+title: push_providers
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - push_providers
+ - push_providers
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a push_providers resource.
+
+## Overview
+
+| Name | push_providers |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Unique key for the Push Provider |
+
+
+ |
+ string |
+ Display name of the push provider |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ Timestamp when the Push Provider was last modified |
+
+
+ |
+ string |
+ |
+
+
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Unique key for the Push Provider |
+
+
+ |
+ string |
+ Display name of the push provider |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ Timestamp when the Push Provider was last modified |
+
+
+ |
+ string |
+ |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ type |
+ Lists all push providers |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves a push provider by `pushProviderId` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Creates a new push provider. Each Push Provider must have a unique `name`. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces a push provider by `pushProviderId` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes a push provider by `pushProviderId`. If the push provider is currently being used in the org by a custom authenticator, the delete will not be allowed. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ Filters push providers by `providerType` |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all push providers
+
+```sql
+SELECT
+id,
+name,
+_links,
+lastUpdatedDate,
+providerType
+FROM okta.push_providers.push_providers
+WHERE subdomain = '{{ subdomain }}' -- required
+AND type = '{{ type }}';
+```
+
+
+
+Retrieves a push provider by `pushProviderId`
+
+```sql
+SELECT
+id,
+name,
+_links,
+lastUpdatedDate,
+providerType
+FROM okta.push_providers.push_providers
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Creates a new push provider. Each Push Provider must have a unique `name`.
+
+```sql
+INSERT INTO okta.push_providers.push_providers (
+data__name,
+data__providerType,
+subdomain
+)
+SELECT
+'{{ name }}',
+'{{ providerType }}',
+'{{ subdomain }}'
+RETURNING
+id,
+name,
+_links,
+lastUpdatedDate,
+providerType
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: push_providers
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the push_providers resource.
+ - name: name
+ value: string
+ description: >
+ Display name of the push provider
+
+ - name: providerType
+ value: string
+ valid_values: ['APNS', 'FCM']
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces a push provider by `pushProviderId`
+
+```sql
+REPLACE okta.push_providers.push_providers
+SET
+data__name = '{{ name }}',
+data__providerType = '{{ providerType }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+id,
+name,
+_links,
+lastUpdatedDate,
+providerType;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes a push provider by `pushProviderId`. If the push provider is currently being used in the org by a custom authenticator, the delete will not be allowed.
+
+```sql
+DELETE FROM okta.push_providers.push_providers
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/rate_limit_settings/admin_notifications/index.md b/website/docs/services/rate_limit_settings/admin_notifications/index.md
new file mode 100644
index 0000000..ce67da3
--- /dev/null
+++ b/website/docs/services/rate_limit_settings/admin_notifications/index.md
@@ -0,0 +1,159 @@
+---
+title: admin_notifications
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - admin_notifications
+ - rate_limit_settings
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists an admin_notifications resource.
+
+## Overview
+
+| Name | admin_notifications |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ boolean |
+ |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves the currently configured Rate Limit Admin Notification Settings |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces the Rate Limit Admin Notification Settings and returns the configured properties |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Retrieves the currently configured Rate Limit Admin Notification Settings
+
+```sql
+SELECT
+notificationsEnabled
+FROM okta.rate_limit_settings.admin_notifications
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces the Rate Limit Admin Notification Settings and returns the configured properties
+
+```sql
+REPLACE okta.rate_limit_settings.admin_notifications
+SET
+data__notificationsEnabled = {{ notificationsEnabled }}
+WHERE
+subdomain = '{{ subdomain }}' --required
+AND data__notificationsEnabled = {{ notificationsEnabled }} --required
+RETURNING
+notificationsEnabled;
+```
+
+
diff --git a/website/docs/services/rate_limit_settings/index.md b/website/docs/services/rate_limit_settings/index.md
new file mode 100644
index 0000000..85289be
--- /dev/null
+++ b/website/docs/services/rate_limit_settings/index.md
@@ -0,0 +1,34 @@
+---
+title: rate_limit_settings
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - rate_limit_settings
+ - okta
+ - stackql
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+rate_limit_settings service documentation.
+
+:::info[Service Summary]
+
+total resources: __3__
+
+:::
+
+## Resources
+
\ No newline at end of file
diff --git a/website/docs/services/rate_limit_settings/rate_limit_settings_per_client/index.md b/website/docs/services/rate_limit_settings/rate_limit_settings_per_client/index.md
new file mode 100644
index 0000000..da2619b
--- /dev/null
+++ b/website/docs/services/rate_limit_settings/rate_limit_settings_per_client/index.md
@@ -0,0 +1,167 @@
+---
+title: rate_limit_settings_per_client
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - rate_limit_settings_per_client
+ - rate_limit_settings
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a rate_limit_settings_per_client resource.
+
+## Overview
+
+| Name | rate_limit_settings_per_client |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The default PerClientRateLimitMode that applies to any use case in the absence of a more specific override |
+
+
+ |
+ object |
+ A map of Per-Client Rate Limit Use Case to the applicable PerClientRateLimitMode. Overrides the `defaultMode` property for the specified use cases. |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves the currently configured Per-Client Rate Limit Settings |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces the Per-Client Rate Limit Settings and returns the configured properties |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Retrieves the currently configured Per-Client Rate Limit Settings
+
+```sql
+SELECT
+defaultMode,
+useCaseModeOverrides
+FROM okta.rate_limit_settings.rate_limit_settings_per_client
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces the Per-Client Rate Limit Settings and returns the configured properties
+
+```sql
+REPLACE okta.rate_limit_settings.rate_limit_settings_per_client
+SET
+data__defaultMode = '{{ defaultMode }}',
+data__useCaseModeOverrides = '{{ useCaseModeOverrides }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+AND data__defaultMode = '{{ defaultMode }}' --required
+RETURNING
+defaultMode,
+useCaseModeOverrides;
+```
+
+
diff --git a/website/docs/services/rate_limit_settings/warning_thresholds/index.md b/website/docs/services/rate_limit_settings/warning_thresholds/index.md
new file mode 100644
index 0000000..4583e2d
--- /dev/null
+++ b/website/docs/services/rate_limit_settings/warning_thresholds/index.md
@@ -0,0 +1,159 @@
+---
+title: warning_thresholds
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - warning_thresholds
+ - rate_limit_settings
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a warning_thresholds resource.
+
+## Overview
+
+| Name | warning_thresholds |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ integer |
+ The threshold value (percentage) of a rate limit that, when exceeded, triggers a warning notification. By default, this value is 90 for Workforce orgs and 60 for CIAM orgs. |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves the currently configured threshold for warning notifications when the API's rate limit is exceeded |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces the Rate Limit Warning Threshold Percentage and returns the configured property |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Retrieves the currently configured threshold for warning notifications when the API's rate limit is exceeded
+
+```sql
+SELECT
+warningThreshold
+FROM okta.rate_limit_settings.warning_thresholds
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces the Rate Limit Warning Threshold Percentage and returns the configured property
+
+```sql
+REPLACE okta.rate_limit_settings.warning_thresholds
+SET
+data__warningThreshold = {{ warningThreshold }}
+WHERE
+subdomain = '{{ subdomain }}' --required
+AND data__warningThreshold = '{{ warningThreshold }}' --required
+RETURNING
+warningThreshold;
+```
+
+
diff --git a/website/docs/services/realm_assignments/index.md b/website/docs/services/realm_assignments/index.md
new file mode 100644
index 0000000..4d6970f
--- /dev/null
+++ b/website/docs/services/realm_assignments/index.md
@@ -0,0 +1,33 @@
+---
+title: realm_assignments
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - realm_assignments
+ - okta
+ - stackql
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+realm_assignments service documentation.
+
+:::info[Service Summary]
+
+total resources: __2__
+
+:::
+
+## Resources
+
\ No newline at end of file
diff --git a/website/docs/services/realm_assignments/realm_assignment_operations/index.md b/website/docs/services/realm_assignments/realm_assignment_operations/index.md
new file mode 100644
index 0000000..d9f938a
--- /dev/null
+++ b/website/docs/services/realm_assignments/realm_assignment_operations/index.md
@@ -0,0 +1,198 @@
+---
+title: realm_assignment_operations
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - realm_assignment_operations
+ - realm_assignments
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a realm_assignment_operations resource.
+
+## Overview
+
+| Name | realm_assignment_operations |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ ID of the realm |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ object |
+ Definition of the realm assignment operation |
+
+
+ |
+ string (date-time) |
+ Timestamp when the realm assignment operation completed |
+
+
+ |
+ string (date-time) |
+ Timestamp when the realm assignment operation was created |
+
+
+ |
+ number |
+ Number of users moved |
+
+
+ |
+ string |
+ ID of the realm |
+
+
+ |
+ string |
+ Name of the realm |
+
+
+ |
+ string (date-time) |
+ Timestamp when the realm assignment operation started |
+
+
+ |
+ string |
+ Current status of the operation |
+
+
+ |
+ string |
+ Realm type |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ limit, after |
+ Lists all realm assignment operations. The upper limit is 200 and operations are sorted in descending order from most recent to oldest by ID. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ The cursor to use for pagination. It is an opaque string that specifies your current location in the list and is obtained from the `Link` response header. See [Pagination](https://developer.okta.com/docs/api/#pagination). |
+
+
+ |
+ integer |
+ A limit on the number of objects to return |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all realm assignment operations. The upper limit is 200 and operations are sorted in descending order from most recent to oldest by ID.
+
+```sql
+SELECT
+id,
+_links,
+assignmentOperation,
+completed,
+created,
+numUserMoved,
+realmId,
+realmName,
+started,
+status,
+type
+FROM okta.realm_assignments.realm_assignment_operations
+WHERE subdomain = '{{ subdomain }}' -- required
+AND limit = '{{ limit }}'
+AND after = '{{ after }}';
+```
+
+
diff --git a/website/docs/services/realm_assignments/realm_assignments/index.md b/website/docs/services/realm_assignments/realm_assignments/index.md
new file mode 100644
index 0000000..d8c2419
--- /dev/null
+++ b/website/docs/services/realm_assignments/realm_assignments/index.md
@@ -0,0 +1,520 @@
+---
+title: realm_assignments
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - realm_assignments
+ - realm_assignments
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a realm_assignments resource.
+
+## Overview
+
+| Name | realm_assignments |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Unique ID of the realm assignment |
+
+
+ |
+ string |
+ Name of the realm |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ object |
+ Action to apply to a user |
+
+
+ |
+ object |
+ Conditions of applying realm assignment |
+
+
+ |
+ string (date-time) |
+ Timestamp when the realm assignment was created |
+
+
+ |
+ array |
+ Array of allowed domains. No user in this realm can be created or updated unless they have a username and email from one of these domains. The following characters aren't allowed in the domain name: `!$%^&()=*+,:;<>'[]|/?\` |
+
+
+ |
+ boolean |
+ Indicates the default realm. Existing users will start out in the default realm and can be moved individually to other realms. |
+
+
+ |
+ string (date-time) |
+ Timestamp of when the realm assignment was updated |
+
+
+ |
+ integer |
+ The priority of the realm assignment. The lower the number, the higher the priority. This helps resolve conflicts between realm assignments. > **Note:** When you create realm assignments in bulk, realm assignment priorities must be unique. |
+
+
+ |
+ string |
+ |
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Unique ID of the realm assignment |
+
+
+ |
+ string |
+ Name of the realm |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ object |
+ Action to apply to a user |
+
+
+ |
+ object |
+ Conditions of applying realm assignment |
+
+
+ |
+ string (date-time) |
+ Timestamp when the realm assignment was created |
+
+
+ |
+ array |
+ Array of allowed domains. No user in this realm can be created or updated unless they have a username and email from one of these domains. The following characters aren't allowed in the domain name: `!$%^&()=*+,:;<>'[]|/?\` |
+
+
+ |
+ boolean |
+ Indicates the default realm. Existing users will start out in the default realm and can be moved individually to other realms. |
+
+
+ |
+ string (date-time) |
+ Timestamp of when the realm assignment was updated |
+
+
+ |
+ integer |
+ The priority of the realm assignment. The lower the number, the higher the priority. This helps resolve conflicts between realm assignments. > **Note:** When you create realm assignments in bulk, realm assignment priorities must be unique. |
+
+
+ |
+ string |
+ |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ limit, after |
+ Lists all realm assignments |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves a realm assignment |
+
+
+ |
+ |
+ subdomain |
+ |
+ Creates a new realm assignment |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces a realm assignment |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes a realm assignment |
+
+
+ |
+ |
+ subdomain |
+ |
+ Executes a realm assignment |
+
+
+ |
+ |
+ subdomain |
+ |
+ Activates a realm assignment |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deactivates a realm assignment |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ The cursor used for pagination. It represents the priority of the last realm assignment returned in the previous fetch operation. |
+
+
+ |
+ integer |
+ A limit on the number of objects to return |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all realm assignments
+
+```sql
+SELECT
+id,
+name,
+_links,
+actions,
+conditions,
+created,
+domains,
+isDefault,
+lastUpdated,
+priority,
+status
+FROM okta.realm_assignments.realm_assignments
+WHERE subdomain = '{{ subdomain }}' -- required
+AND limit = '{{ limit }}'
+AND after = '{{ after }}';
+```
+
+
+
+Retrieves a realm assignment
+
+```sql
+SELECT
+id,
+name,
+_links,
+actions,
+conditions,
+created,
+domains,
+isDefault,
+lastUpdated,
+priority,
+status
+FROM okta.realm_assignments.realm_assignments
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Creates a new realm assignment
+
+```sql
+INSERT INTO okta.realm_assignments.realm_assignments (
+data__actions,
+data__conditions,
+data__name,
+data__priority,
+subdomain
+)
+SELECT
+'{{ actions }}',
+'{{ conditions }}',
+'{{ name }}',
+{{ priority }},
+'{{ subdomain }}'
+RETURNING
+id,
+name,
+_links,
+actions,
+conditions,
+created,
+domains,
+isDefault,
+lastUpdated,
+priority,
+status
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: realm_assignments
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the realm_assignments resource.
+ - name: actions
+ value: object
+ description: >
+ Action to apply to a user
+
+ - name: conditions
+ value: object
+ description: >
+ Conditions of applying realm assignment
+
+ - name: name
+ value: string
+ description: >
+ Name of the realm
+
+ - name: priority
+ value: integer
+ description: >
+ The priority of the realm assignment. The lower the number, the higher the priority. This helps resolve conflicts between realm assignments.
+> **Note:** When you create realm assignments in bulk, realm assignment priorities must be unique.
+
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces a realm assignment
+
+```sql
+REPLACE okta.realm_assignments.realm_assignments
+SET
+data__actions = '{{ actions }}',
+data__conditions = '{{ conditions }}',
+data__name = '{{ name }}',
+data__priority = {{ priority }}
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+id,
+name,
+_links,
+actions,
+conditions,
+created,
+domains,
+isDefault,
+lastUpdated,
+priority,
+status;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes a realm assignment
+
+```sql
+DELETE FROM okta.realm_assignments.realm_assignments
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
+
+
+## Lifecycle Methods
+
+
+
+
+Executes a realm assignment
+
+```sql
+EXEC okta.realm_assignments.realm_assignments.execute_realm_assignment
+@subdomain='{{ subdomain }}' --required
+@@json=
+'{
+"assignmentId": "{{ assignmentId }}"
+}';
+```
+
+
+
+Activates a realm assignment
+
+```sql
+EXEC okta.realm_assignments.realm_assignments.activate_realm_assignment
+@subdomain='{{ subdomain }}' --required;
+```
+
+
+
+Deactivates a realm assignment
+
+```sql
+EXEC okta.realm_assignments.realm_assignments.deactivate_realm_assignment
+@subdomain='{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/realms/index.md b/website/docs/services/realms/index.md
new file mode 100644
index 0000000..69b4ac3
--- /dev/null
+++ b/website/docs/services/realms/index.md
@@ -0,0 +1,33 @@
+---
+title: realms
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - realms
+ - okta
+ - stackql
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+realms service documentation.
+
+:::info[Service Summary]
+
+total resources: __1__
+
+:::
+
+## Resources
+
\ No newline at end of file
diff --git a/website/docs/services/realms/realms/index.md b/website/docs/services/realms/realms/index.md
new file mode 100644
index 0000000..d2f543f
--- /dev/null
+++ b/website/docs/services/realms/realms/index.md
@@ -0,0 +1,375 @@
+---
+title: realms
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - realms
+ - realms
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a realms resource.
+
+## Overview
+
+| Name | realms |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Unique ID for the realm |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string (date-time) |
+ Timestamp when the realm was created |
+
+
+ |
+ boolean |
+ Indicates the default realm. Existing users will start out in the default realm and can be moved to other realms individually or through realm assignments. See [Realms Assignments API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/RealmAssignment/). |
+
+
+ |
+ string (date-time) |
+ Timestamp when the realm was updated |
+
+
+ |
+ object |
+ |
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Unique ID for the realm |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string (date-time) |
+ Timestamp when the realm was created |
+
+
+ |
+ boolean |
+ Indicates the default realm. Existing users will start out in the default realm and can be moved to other realms individually or through realm assignments. See [Realms Assignments API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/RealmAssignment/). |
+
+
+ |
+ string (date-time) |
+ Timestamp when the realm was updated |
+
+
+ |
+ object |
+ |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ limit, after, search, sortBy, sortOrder |
+ Lists all Realms |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves a realm |
+
+
+ |
+ |
+ subdomain |
+ |
+ Creates a new realm |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces the realm profile |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes a realm permanently. This operation can only be performed after disassociating other entities like users and identity providers from a realm. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ The cursor to use for pagination. It is an opaque string that specifies your current location in the list and is obtained from the `Link` response header. See [Pagination](https://developer.okta.com/docs/api/#pagination). |
+
+
+ |
+ integer (int32) |
+ Specifies the number of results returned. Defaults to 10 if `search` is provided. |
+
+
+ |
+ string |
+ Searches for realms with a supported filtering expression for most properties. Searches for realms can be filtered by the contains (`co`) operator. You can only use `co` with the `profile.name` property. See [Operators](https://developer.okta.com/docs/api/#operators). |
+
+
+ |
+ string |
+ Specifies the field to sort by and can be any single property (for search queries only) |
+
+
+ |
+ string |
+ Specifies the sort order: `asc` or `desc` (for search queries only). This parameter is ignored if `sortBy` isn't present. |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all Realms
+
+```sql
+SELECT
+id,
+_links,
+created,
+isDefault,
+lastUpdated,
+profile
+FROM okta.realms.realms
+WHERE subdomain = '{{ subdomain }}' -- required
+AND limit = '{{ limit }}'
+AND after = '{{ after }}'
+AND search = '{{ search }}'
+AND sortBy = '{{ sortBy }}'
+AND sortOrder = '{{ sortOrder }}';
+```
+
+
+
+Retrieves a realm
+
+```sql
+SELECT
+id,
+_links,
+created,
+isDefault,
+lastUpdated,
+profile
+FROM okta.realms.realms
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Creates a new realm
+
+```sql
+INSERT INTO okta.realms.realms (
+data__profile,
+subdomain
+)
+SELECT
+'{{ profile }}',
+'{{ subdomain }}'
+RETURNING
+id,
+_links,
+created,
+isDefault,
+lastUpdated,
+profile
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: realms
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the realms resource.
+ - name: profile
+ value: object
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces the realm profile
+
+```sql
+REPLACE okta.realms.realms
+SET
+data__profile = '{{ profile }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+id,
+_links,
+created,
+isDefault,
+lastUpdated,
+profile;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes a realm permanently. This operation can only be performed after disassociating other entities like users and identity providers from a realm.
+
+```sql
+DELETE FROM okta.realms.realms
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/risk/index.md b/website/docs/services/risk/index.md
new file mode 100644
index 0000000..2881d99
--- /dev/null
+++ b/website/docs/services/risk/index.md
@@ -0,0 +1,33 @@
+---
+title: risk
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - risk
+ - okta
+ - stackql
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+risk service documentation.
+
+:::info[Service Summary]
+
+total resources: __2__
+
+:::
+
+## Resources
+
\ No newline at end of file
diff --git a/website/docs/services/risk/risk_events/index.md b/website/docs/services/risk/risk_events/index.md
new file mode 100644
index 0000000..adf6edc
--- /dev/null
+++ b/website/docs/services/risk/risk_events/index.md
@@ -0,0 +1,100 @@
+---
+title: risk_events
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - risk_events
+ - risk
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a risk_events resource.
+
+## Overview
+
+| Name | risk_events |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource.
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Sends multiple IP risk events to Okta. This request is used by a third-party risk provider to send IP risk events to Okta. The third-party risk provider needs to be registered with Okta before they can send events to Okta. See [Risk Providers](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/RiskProvider/). This API has a rate limit of 30 requests per minute. You can include multiple risk events (up to a maximum of 20 events) in a single payload to reduce the number of API calls. Prioritize sending high risk signals if you have a burst of signals to send that would exceed the maximum request limits. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## Lifecycle Methods
+
+
+
+
+Sends multiple IP risk events to Okta.
This request is used by a third-party risk provider to send IP risk events to Okta. The third-party risk provider needs to be registered with Okta before they can send events to Okta. See [Risk Providers](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/RiskProvider/).
This API has a rate limit of 30 requests per minute. You can include multiple risk events (up to a maximum of 20 events) in a single payload to reduce the number of API calls. Prioritize sending high risk signals if you have a burst of signals to send that would exceed the maximum request limits.
+
+```sql
+EXEC okta.risk.risk_events.send_risk_events
+@subdomain='{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/risk/risk_providers/index.md b/website/docs/services/risk/risk_providers/index.md
new file mode 100644
index 0000000..4e13861
--- /dev/null
+++ b/website/docs/services/risk/risk_providers/index.md
@@ -0,0 +1,381 @@
+---
+title: risk_providers
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - risk_providers
+ - risk
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a risk_providers resource.
+
+## Overview
+
+| Name | risk_providers |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The ID of the risk provider object (example: 00rp12r4skkjkjgsn) |
+
+
+ |
+ string |
+ Name of the risk provider (example: Risk-Partner-X) |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ Action taken by Okta during authentication attempts based on the risk events sent by this provider (default: log_only) |
+
+
+ |
+ string |
+ The ID of the [OAuth 2.0 service app](https://developer.okta.com/docs/guides/implement-oauth-for-okta-serviceapp/main/#create-a-service-app-and-grant-scopes) that's used to send risk events to Okta (example: 00cjkjjkkgjkdkjdkkljjsd) |
+
+
+ |
+ string (date-time) |
+ Timestamp when the risk provider object was created (example: 2021-01-05 22:18:30) |
+
+
+ |
+ string (date-time) |
+ Timestamp when the risk provider object was last updated (example: 2021-01-05 22:18:30) |
+
+
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The ID of the risk provider object (example: 00rp12r4skkjkjgsn) |
+
+
+ |
+ string |
+ Name of the risk provider (example: Risk-Partner-X) |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ Action taken by Okta during authentication attempts based on the risk events sent by this provider (default: log_only) |
+
+
+ |
+ string |
+ The ID of the [OAuth 2.0 service app](https://developer.okta.com/docs/guides/implement-oauth-for-okta-serviceapp/main/#create-a-service-app-and-grant-scopes) that's used to send risk events to Okta (example: 00cjkjjkkgjkdkjdkkljjsd) |
+
+
+ |
+ string (date-time) |
+ Timestamp when the risk provider object was created (example: 2021-01-05 22:18:30) |
+
+
+ |
+ string (date-time) |
+ Timestamp when the risk provider object was last updated (example: 2021-01-05 22:18:30) |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all risk provider objects |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves a risk provider object by ID |
+
+
+ |
+ |
+ subdomain |
+ |
+ Creates a risk provider object. You can create a maximum of three risk provider objects. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces the properties for a given risk provider object ID |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes a risk provider object by its ID |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all risk provider objects
+
+```sql
+SELECT
+id,
+name,
+_links,
+action,
+clientId,
+created,
+lastUpdated
+FROM okta.risk.risk_providers
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+Retrieves a risk provider object by ID
+
+```sql
+SELECT
+id,
+name,
+_links,
+action,
+clientId,
+created,
+lastUpdated
+FROM okta.risk.risk_providers
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Creates a risk provider object. You can create a maximum of three risk provider objects.
+
+```sql
+INSERT INTO okta.risk.risk_providers (
+data__action,
+data__clientId,
+data__name,
+subdomain
+)
+SELECT
+'{{ action }}' --required,
+'{{ clientId }}' --required,
+'{{ name }}' --required,
+'{{ subdomain }}'
+RETURNING
+id,
+name,
+_links,
+action,
+clientId,
+created,
+lastUpdated
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: risk_providers
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the risk_providers resource.
+ - name: action
+ value: string
+ description: >
+ Action taken by Okta during authentication attempts based on the risk events sent by this provider
+
+ valid_values: ['enforce_and_log', 'log_only', 'none']
+ default: log_only
+ - name: clientId
+ value: string
+ description: >
+ The ID of the [OAuth 2.0 service app](https://developer.okta.com/docs/guides/implement-oauth-for-okta-serviceapp/main/#create-a-service-app-and-grant-scopes) that's used to send risk events to Okta
+
+ - name: name
+ value: string
+ description: >
+ Name of the risk provider
+
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces the properties for a given risk provider object ID
+
+```sql
+REPLACE okta.risk.risk_providers
+SET
+data__action = '{{ action }}',
+data__clientId = '{{ clientId }}',
+data__name = '{{ name }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+AND data__name = '{{ name }}' --required
+AND data__clientId = '{{ clientId }}' --required
+AND data__action = '{{ action }}' --required
+RETURNING
+id,
+name,
+_links,
+action,
+clientId,
+created,
+lastUpdated;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes a risk provider object by its ID
+
+```sql
+DELETE FROM okta.risk.risk_providers
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/roles/index.md b/website/docs/services/roles/index.md
new file mode 100644
index 0000000..83433cc
--- /dev/null
+++ b/website/docs/services/roles/index.md
@@ -0,0 +1,33 @@
+---
+title: roles
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - roles
+ - okta
+ - stackql
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+roles service documentation.
+
+:::info[Service Summary]
+
+total resources: __1__
+
+:::
+
+## Resources
+
\ No newline at end of file
diff --git a/website/docs/services/roles/subscriptions/index.md b/website/docs/services/roles/subscriptions/index.md
new file mode 100644
index 0000000..61d938f
--- /dev/null
+++ b/website/docs/services/roles/subscriptions/index.md
@@ -0,0 +1,249 @@
+---
+title: subscriptions
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - subscriptions
+ - roles
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a subscriptions resource.
+
+## Overview
+
+| Name | subscriptions |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ object |
+ Discoverable resources related to the subscription |
+
+
+ |
+ array |
+ An array of sources send notifications to users. > **Note**: Currently, Okta only allows `email` channels. |
+
+
+ |
+ string |
+ The type of notification |
+
+
+ |
+ string |
+ The status of the subscription |
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ object |
+ Discoverable resources related to the subscription |
+
+
+ |
+ array |
+ An array of sources send notifications to users. > **Note**: Currently, Okta only allows `email` channels. |
+
+
+ |
+ string |
+ The type of notification |
+
+
+ |
+ string |
+ The status of the subscription |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all subscriptions available to a specified Role |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves a subscription by `notificationType` for a specified Role |
+
+
+ |
+ |
+ subdomain |
+ |
+ Subscribes a Role to a specified notification type. Changes to Role subscriptions override the subscription status of any individual users with the Role. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Unsubscribes a Role from a specified notification type. Changes to Role subscriptions override the subscription status of any individual users with the Role. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all subscriptions available to a specified Role
+
+```sql
+SELECT
+_links,
+channels,
+notificationType,
+status
+FROM okta.roles.subscriptions
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+Retrieves a subscription by `notificationType` for a specified Role
+
+```sql
+SELECT
+_links,
+channels,
+notificationType,
+status
+FROM okta.roles.subscriptions
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## Lifecycle Methods
+
+
+
+
+Subscribes a Role to a specified notification type. Changes to Role subscriptions override the subscription status of any individual users with the Role.
+
+```sql
+EXEC okta.roles.subscriptions.subscribe_by_notification_type_role
+@subdomain='{{ subdomain }}' --required;
+```
+
+
+
+Unsubscribes a Role from a specified notification type. Changes to Role subscriptions override the subscription status of any individual users with the Role.
+
+```sql
+EXEC okta.roles.subscriptions.unsubscribe_by_notification_type_role
+@subdomain='{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/security/index.md b/website/docs/services/security/index.md
new file mode 100644
index 0000000..b52d39c
--- /dev/null
+++ b/website/docs/services/security/index.md
@@ -0,0 +1,33 @@
+---
+title: security
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - security
+ - okta
+ - stackql
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+security service documentation.
+
+:::info[Service Summary]
+
+total resources: __1__
+
+:::
+
+## Resources
+
\ No newline at end of file
diff --git a/website/docs/services/security/ssf_security_event_tokens/index.md b/website/docs/services/security/ssf_security_event_tokens/index.md
new file mode 100644
index 0000000..86c524a
--- /dev/null
+++ b/website/docs/services/security/ssf_security_event_tokens/index.md
@@ -0,0 +1,100 @@
+---
+title: ssf_security_event_tokens
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - ssf_security_event_tokens
+ - security
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a ssf_security_event_tokens resource.
+
+## Overview
+
+| Name | ssf_security_event_tokens |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource.
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Publishes a Security Event Token (SET) sent by a Security Events Provider. After the token is verified, Okta ingests the event and performs any appropriate action. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## Lifecycle Methods
+
+
+
+
+Publishes a Security Event Token (SET) sent by a Security Events Provider. After the token is verified, Okta ingests the event and performs any appropriate action.
+
+```sql
+EXEC okta.security.ssf_security_event_tokens.publish_security_event_tokens
+@subdomain='{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/security_events_providers/index.md b/website/docs/services/security_events_providers/index.md
new file mode 100644
index 0000000..4a5d766
--- /dev/null
+++ b/website/docs/services/security_events_providers/index.md
@@ -0,0 +1,33 @@
+---
+title: security_events_providers
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - security_events_providers
+ - okta
+ - stackql
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+security_events_providers service documentation.
+
+:::info[Service Summary]
+
+total resources: __1__
+
+:::
+
+## Resources
+
\ No newline at end of file
diff --git a/website/docs/services/security_events_providers/ssf_receivers/index.md b/website/docs/services/security_events_providers/ssf_receivers/index.md
new file mode 100644
index 0000000..c1ac611
--- /dev/null
+++ b/website/docs/services/security_events_providers/ssf_receivers/index.md
@@ -0,0 +1,409 @@
+---
+title: ssf_receivers
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - ssf_receivers
+ - security_events_providers
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a ssf_receivers resource.
+
+## Overview
+
+| Name | ssf_receivers |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The unique identifier of this instance (example: sse1qg25RpusjUP6m0g5) |
+
+
+ |
+ string |
+ The name of the Security Events Provider instance (example: Target SSF Provider) |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ object |
+ Information about the Security Events Provider for signal ingestion (title: Security Events Provider settings) |
+
+
+ |
+ string |
+ Indicates whether the Security Events Provider is active or not |
+
+
+ |
+ string |
+ The application type of the Security Events Provider (example: okta) |
+
+
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The unique identifier of this instance (example: sse1qg25RpusjUP6m0g5) |
+
+
+ |
+ string |
+ The name of the Security Events Provider instance (example: Target SSF Provider) |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ object |
+ Information about the Security Events Provider for signal ingestion (title: Security Events Provider settings) |
+
+
+ |
+ string |
+ Indicates whether the Security Events Provider is active or not |
+
+
+ |
+ string |
+ The application type of the Security Events Provider (example: okta) |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all Security Events Provider instances |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves the Security Events Provider instance specified by `id` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Creates a Security Events Provider instance |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces a Security Events Provider instance specified by `id` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes a Security Events Provider instance specified by `id` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Activates a Security Events Provider instance by setting its status to `ACTIVE`. This operation resumes the flow of events from the Security Events Provider to Okta. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deactivates a Security Events Provider instance by setting its status to `INACTIVE`. This operation stops the flow of events from the Security Events Provider to Okta. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all Security Events Provider instances
+
+```sql
+SELECT
+id,
+name,
+_links,
+settings,
+status,
+type
+FROM okta.security_events_providers.ssf_receivers
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+Retrieves the Security Events Provider instance specified by `id`
+
+```sql
+SELECT
+id,
+name,
+_links,
+settings,
+status,
+type
+FROM okta.security_events_providers.ssf_receivers
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Creates a Security Events Provider instance
+
+```sql
+INSERT INTO okta.security_events_providers.ssf_receivers (
+data__name,
+data__settings,
+data__type,
+subdomain
+)
+SELECT
+'{{ name }}' --required,
+'{{ settings }}' --required,
+'{{ type }}' --required,
+'{{ subdomain }}'
+RETURNING
+id,
+name,
+_links,
+settings,
+status,
+type
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: ssf_receivers
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the ssf_receivers resource.
+ - name: name
+ value: string
+ description: >
+ The name of the Security Events Provider instance
+
+ - name: settings
+ value: object
+ description: >
+ Information about the Security Events Provider for signal ingestion
+
+ - name: type
+ value: string
+ description: >
+ The application type of the Security Events Provider
+
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces a Security Events Provider instance specified by `id`
+
+```sql
+REPLACE okta.security_events_providers.ssf_receivers
+SET
+data__name = '{{ name }}',
+data__settings = '{{ settings }}',
+data__type = '{{ type }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+AND data__name = '{{ name }}' --required
+AND data__settings = '{{ settings }}' --required
+AND data__type = '{{ type }}' --required
+RETURNING
+id,
+name,
+_links,
+settings,
+status,
+type;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes a Security Events Provider instance specified by `id`
+
+```sql
+DELETE FROM okta.security_events_providers.ssf_receivers
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
+
+
+## Lifecycle Methods
+
+
+
+
+Activates a Security Events Provider instance by setting its status to `ACTIVE`.
This operation resumes the flow of events from the Security Events Provider to Okta.
+
+```sql
+EXEC okta.security_events_providers.ssf_receivers.activate_security_events_provider_instance
+@subdomain='{{ subdomain }}' --required;
+```
+
+
+
+Deactivates a Security Events Provider instance by setting its status to `INACTIVE`.
This operation stops the flow of events from the Security Events Provider to Okta.
+
+```sql
+EXEC okta.security_events_providers.ssf_receivers.deactivate_security_events_provider_instance
+@subdomain='{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/sessions/index.md b/website/docs/services/sessions/index.md
new file mode 100644
index 0000000..0c60d56
--- /dev/null
+++ b/website/docs/services/sessions/index.md
@@ -0,0 +1,33 @@
+---
+title: sessions
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - sessions
+ - okta
+ - stackql
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+sessions service documentation.
+
+:::info[Service Summary]
+
+total resources: __1__
+
+:::
+
+## Resources
+
\ No newline at end of file
diff --git a/website/docs/services/sessions/sessions/index.md b/website/docs/services/sessions/sessions/index.md
new file mode 100644
index 0000000..90fe2d7
--- /dev/null
+++ b/website/docs/services/sessions/sessions/index.md
@@ -0,0 +1,447 @@
+---
+title: sessions
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - sessions
+ - sessions
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a sessions resource.
+
+## Overview
+
+| Name | sessions |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ A unique key for the Session |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ array |
+ Authentication method reference |
+
+
+ |
+ string (date-time) |
+ |
+
+
+ |
+ string (date-time) |
+ A timestamp when the Session expires |
+
+
+ |
+ object |
+ |
+
+
+ |
+ string (date-time) |
+ A timestamp when the user last performed multifactor authentication |
+
+
+ |
+ string (date-time) |
+ A timestamp when the user last performed the primary or step-up authentication with a password |
+
+
+ |
+ string |
+ A unique identifier for the user (username) |
+
+
+ |
+ string |
+ Current Session status |
+
+
+ |
+ string |
+ A unique key for the user |
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ A unique key for the Session |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ array |
+ Authentication method reference |
+
+
+ |
+ string (date-time) |
+ |
+
+
+ |
+ string (date-time) |
+ A timestamp when the Session expires |
+
+
+ |
+ object |
+ |
+
+
+ |
+ string (date-time) |
+ A timestamp when the user last performed multifactor authentication |
+
+
+ |
+ string (date-time) |
+ A timestamp when the user last performed the primary or step-up authentication with a password |
+
+
+ |
+ string |
+ A unique identifier for the user (username) |
+
+
+ |
+ string |
+ Current Session status |
+
+
+ |
+ string |
+ A unique key for the user |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ Cookie |
+ Retrieves Session information for the current user. Use this method in a browser-based application to determine if the user is signed in.
> **Note:** This operation requires a session cookie for the user. An API token isn't allowed for this operation. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves information about the Session specified by the given session ID |
+
+
+ |
+ |
+ subdomain |
+ |
+ Creates a new Session for a user with a valid session token. Use this API if, for example, you want to set the session cookie yourself instead of allowing Okta to set it, or want to hold the session ID to delete a session through the API instead of visiting the logout URL. |
+
+
+ |
+ |
+ subdomain |
+ Cookie |
+ Closes the Session for the user who is currently signed in. Use this method in a browser-based application to sign out a user.
> **Note:** This operation requires a session cookie for the user. An API token isn't allowed for this operation. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Revokes the specified Session |
+
+
+ |
+ |
+ subdomain |
+ Cookie |
+ Refreshes the Session for the current user
> **Note:** This operation requires a session cookie for the user. An API token isn't allowed for this operation. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Refreshes an existing Session using the `id` for that Session. A successful response contains the refreshed Session with an updated `expiresAt` timestamp. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ (example: sid=abcde-123 or idx=abcde-123) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Retrieves Session information for the current user. Use this method in a browser-based application to determine if the user is signed in.
> **Note:** This operation requires a session cookie for the user. An API token isn't allowed for this operation.
+
+```sql
+SELECT
+id,
+_links,
+amr,
+createdAt,
+expiresAt,
+idp,
+lastFactorVerification,
+lastPasswordVerification,
+login,
+status,
+userId
+FROM okta.sessions.sessions
+WHERE subdomain = '{{ subdomain }}' -- required
+AND Cookie = '{{ Cookie }}';
+```
+
+
+
+Retrieves information about the Session specified by the given session ID
+
+```sql
+SELECT
+id,
+_links,
+amr,
+createdAt,
+expiresAt,
+idp,
+lastFactorVerification,
+lastPasswordVerification,
+login,
+status,
+userId
+FROM okta.sessions.sessions
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Creates a new Session for a user with a valid session token. Use this API if, for example, you want to set the session cookie yourself instead of allowing Okta to set it, or want to hold the session ID to delete a session through the API instead of visiting the logout URL.
+
+```sql
+INSERT INTO okta.sessions.sessions (
+data__sessionToken,
+subdomain
+)
+SELECT
+'{{ sessionToken }}',
+'{{ subdomain }}'
+RETURNING
+id,
+_links,
+amr,
+createdAt,
+expiresAt,
+idp,
+lastFactorVerification,
+lastPasswordVerification,
+login,
+status,
+userId
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: sessions
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the sessions resource.
+ - name: sessionToken
+ value: string
+ description: >
+ The session token obtained during authentication
+
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Closes the Session for the user who is currently signed in. Use this method in a browser-based application to sign out a user.
> **Note:** This operation requires a session cookie for the user. An API token isn't allowed for this operation.
+
+```sql
+DELETE FROM okta.sessions.sessions
+WHERE subdomain = '{{ subdomain }}' --required
+AND Cookie = '{{ Cookie }}';
+```
+
+
+
+Revokes the specified Session
+
+```sql
+DELETE FROM okta.sessions.sessions
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
+
+
+## Lifecycle Methods
+
+
+
+
+Refreshes the Session for the current user
> **Note:** This operation requires a session cookie for the user. An API token isn't allowed for this operation.
+
+```sql
+EXEC okta.sessions.sessions.refresh_current_session
+@subdomain='{{ subdomain }}' --required,
+@Cookie='{{ Cookie }}';
+```
+
+
+
+Refreshes an existing Session using the `id` for that Session. A successful response contains the refreshed Session with an updated `expiresAt` timestamp.
+
+```sql
+EXEC okta.sessions.sessions.refresh_session
+@subdomain='{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/ssf/index.md b/website/docs/services/ssf/index.md
new file mode 100644
index 0000000..44d8bf4
--- /dev/null
+++ b/website/docs/services/ssf/index.md
@@ -0,0 +1,33 @@
+---
+title: ssf
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - ssf
+ - okta
+ - stackql
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+ssf service documentation.
+
+:::info[Service Summary]
+
+total resources: __2__
+
+:::
+
+## Resources
+
\ No newline at end of file
diff --git a/website/docs/services/ssf/ssf_stream_status/index.md b/website/docs/services/ssf/ssf_stream_status/index.md
new file mode 100644
index 0000000..a4d78fb
--- /dev/null
+++ b/website/docs/services/ssf/ssf_stream_status/index.md
@@ -0,0 +1,138 @@
+---
+title: ssf_stream_status
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - ssf_stream_status
+ - ssf
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a ssf_stream_status resource.
+
+## Overview
+
+| Name | ssf_stream_status |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The ID of the SSF Stream configuration. This corresponds to the value in the query parameter of the request. (example: esc1k235GIIztAuGK0g5) |
+
+
+ |
+ string |
+ The status of the SSF Stream configuration |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ stream_id, subdomain |
+ |
+ Retrieves the status of an SSF Stream. The status indicates whether the transmitter is able to transmit events over the stream. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The ID of the specified SSF Stream configuration (example: esc1k235GIIztAuGK0g5) |
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Retrieves the status of an SSF Stream. The status indicates whether the transmitter is able to transmit events over the stream.
+
+```sql
+SELECT
+stream_id,
+status
+FROM okta.ssf.ssf_stream_status
+WHERE stream_id = '{{ stream_id }}' -- required
+AND subdomain = '{{ subdomain }}' -- required;
+```
+
+
diff --git a/website/docs/services/ssf/ssf_streams/index.md b/website/docs/services/ssf/ssf_streams/index.md
new file mode 100644
index 0000000..eb25c03
--- /dev/null
+++ b/website/docs/services/ssf/ssf_streams/index.md
@@ -0,0 +1,362 @@
+---
+title: ssf_streams
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - ssf_streams
+ - ssf
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a ssf_streams resource.
+
+## Overview
+
+| Name | ssf_streams |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ stream_id |
+ Retrieves either a list of all known SSF Stream configurations or the individual configuration if specified by ID.
As Stream configurations are tied to a Client ID, only the Stream associated with the Client ID of the request OAuth 2.0 access token can be viewed. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Creates an SSF Stream for an event receiver to start receiving security events in the form of Security Event Tokens (SETs) from Okta.
An SSF Stream is associated with the Client ID of the OAuth 2.0 access token used to create the stream. The Client ID is provided by Okta for an [OAuth 2.0 app integration](https://help.okta.com/okta_help.htm?id=ext_Apps_App_Integration_Wizard-oidc). One SSF Stream is allowed for each Client ID, hence, one SSF Stream is allowed for each app integration in Okta.
A maximum of 10 SSF Stream configurations can be created for one org. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Updates properties for an existing SSF Stream configuration.
If the `stream_id` isn't provided in the request body, the associated stream with the Client ID (through the request OAuth 2.0 access token) is updated. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces all properties for an existing SSF Stream configuration.
If the `stream_id` isn't provided in the request body, the associated stream with the Client ID (through the request OAuth 2.0 access token) is replaced. |
+
+
+ |
+ |
+ subdomain |
+ stream_id |
+ Deletes the specified SSF Stream.
If the `stream_id` is not provided in the query string, the associated stream with the Client ID (through the request OAuth 2.0 access token) is deleted. Otherwise, the SSF Stream with the `stream_id` is deleted, if found. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Verifies an SSF Stream by publishing a Verification Event requested by a Security Events Provider.
> **Note:** A successful response doesn't indicate that the Verification Event was transmitted successfully, only that Okta has transmitted the event or will at some point in the future. The SSF Receiver is responsible for validating and acknowledging successful transmission of the request by responding with HTTP Response Status Code 202. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ The ID of the specified SSF Stream configuration (example: esc1k235GIIztAuGK0g5) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Retrieves either a list of all known SSF Stream configurations or the individual configuration if specified by ID.
As Stream configurations are tied to a Client ID, only the Stream associated with the Client ID of the request OAuth 2.0 access token can be viewed.
+
+```sql
+SELECT
+*
+FROM okta.ssf.ssf_streams
+WHERE subdomain = '{{ subdomain }}' -- required
+AND stream_id = '{{ stream_id }}';
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Creates an SSF Stream for an event receiver to start receiving security events in the form of Security Event Tokens (SETs) from Okta.
An SSF Stream is associated with the Client ID of the OAuth 2.0 access token used to create the stream. The Client ID is provided by Okta for an [OAuth 2.0 app integration](https://help.okta.com/okta_help.htm?id=ext_Apps_App_Integration_Wizard-oidc). One SSF Stream is allowed for each Client ID, hence, one SSF Stream is allowed for each app integration in Okta.
A maximum of 10 SSF Stream configurations can be created for one org.
+
+```sql
+INSERT INTO okta.ssf.ssf_streams (
+data__delivery,
+data__events_requested,
+data__format,
+subdomain
+)
+SELECT
+'{{ delivery }}' --required,
+'{{ events_requested }}' --required,
+'{{ format }}',
+'{{ subdomain }}'
+RETURNING
+stream_id,
+aud,
+delivery,
+events_delivered,
+events_requested,
+events_supported,
+format,
+iss,
+min_verification_interval
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: ssf_streams
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the ssf_streams resource.
+ - name: delivery
+ value: object
+ description: >
+ Contains information about the intended SET delivery method by the receiver
+
+ - name: events_requested
+ value: array
+ description: >
+ The events (mapped by the array of event type URIs) that the receiver wants to receive
+
+ - name: format
+ value: string
+ description: >
+ The Subject Identifier format expected for any SET transmitted.
+
+ valid_values: ['iss_sub']
+```
+
+
+
+
+## `UPDATE` examples
+
+
+
+
+Updates properties for an existing SSF Stream configuration.
If the `stream_id` isn't provided in the request body, the associated stream with the Client ID (through the request OAuth 2.0 access token) is updated.
+
+```sql
+UPDATE okta.ssf.ssf_streams
+SET
+data__aud = '{{ aud }}',
+data__delivery = '{{ delivery }}',
+data__events_delivered = '{{ events_delivered }}',
+data__events_requested = '{{ events_requested }}',
+data__events_supported = '{{ events_supported }}',
+data__format = '{{ format }}',
+data__iss = '{{ iss }}',
+data__min_verification_interval = {{ min_verification_interval }},
+data__stream_id = '{{ stream_id }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+AND data__events_requested = '{{ events_requested }}' --required
+AND data__delivery = '{{ delivery }}' --required
+RETURNING
+stream_id,
+aud,
+delivery,
+events_delivered,
+events_requested,
+events_supported,
+format,
+iss,
+min_verification_interval;
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces all properties for an existing SSF Stream configuration.
If the `stream_id` isn't provided in the request body, the associated stream with the Client ID (through the request OAuth 2.0 access token) is replaced.
+
+```sql
+REPLACE okta.ssf.ssf_streams
+SET
+data__aud = '{{ aud }}',
+data__delivery = '{{ delivery }}',
+data__events_delivered = '{{ events_delivered }}',
+data__events_requested = '{{ events_requested }}',
+data__events_supported = '{{ events_supported }}',
+data__format = '{{ format }}',
+data__iss = '{{ iss }}',
+data__min_verification_interval = {{ min_verification_interval }},
+data__stream_id = '{{ stream_id }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+AND data__events_requested = '{{ events_requested }}' --required
+AND data__delivery = '{{ delivery }}' --required
+RETURNING
+stream_id,
+aud,
+delivery,
+events_delivered,
+events_requested,
+events_supported,
+format,
+iss,
+min_verification_interval;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes the specified SSF Stream.
If the `stream_id` is not provided in the query string, the associated stream with the Client ID (through the request OAuth 2.0 access token) is deleted. Otherwise, the SSF Stream with the `stream_id` is deleted, if found.
+
+```sql
+DELETE FROM okta.ssf.ssf_streams
+WHERE subdomain = '{{ subdomain }}' --required
+AND stream_id = '{{ stream_id }}';
+```
+
+
+
+
+## Lifecycle Methods
+
+
+
+
+Verifies an SSF Stream by publishing a Verification Event requested by a Security Events Provider.
> **Note:** A successful response doesn't indicate that the Verification Event
was transmitted successfully, only that Okta has transmitted the event or will
at some point in the future. The SSF Receiver is responsible for validating and acknowledging
successful transmission of the request by responding with HTTP Response Status Code 202.
+
+```sql
+EXEC okta.ssf.ssf_streams.verify_ssf_stream
+@subdomain='{{ subdomain }}' --required
+@@json=
+'{
+"state": "{{ state }}",
+"stream_id": "{{ stream_id }}"
+}';
+```
+
+
diff --git a/website/docs/services/templates/index.md b/website/docs/services/templates/index.md
new file mode 100644
index 0000000..2894a9f
--- /dev/null
+++ b/website/docs/services/templates/index.md
@@ -0,0 +1,33 @@
+---
+title: templates
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - templates
+ - okta
+ - stackql
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+templates service documentation.
+
+:::info[Service Summary]
+
+total resources: __1__
+
+:::
+
+## Resources
+
\ No newline at end of file
diff --git a/website/docs/services/templates/sms_templates/index.md b/website/docs/services/templates/sms_templates/index.md
new file mode 100644
index 0000000..71914b9
--- /dev/null
+++ b/website/docs/services/templates/sms_templates/index.md
@@ -0,0 +1,437 @@
+---
+title: sms_templates
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - sms_templates
+ - templates
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a sms_templates resource.
+
+## Overview
+
+| Name | sms_templates |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ |
+
+
+ |
+ string |
+ Human-readable name of the Template |
+
+
+ |
+ string (date-time) |
+ |
+
+
+ |
+ string (date-time) |
+ |
+
+
+ |
+ string |
+ Text of the Template, including any [macros](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Template/) |
+
+
+ |
+ object |
+ - Template translations are optionally provided when you want to localize the SMS messages. Translations are provided as an object that contains `key:value` pairs: the language and the translated Template text. The key portion is a two-letter country code that conforms to [ISO 639-1](https://www.loc.gov/standards/iso639-2/php/code_list.php). The value is the translated SMS Template. - Just like with regular SMS Templates, the length of the SMS message can't exceed 160 characters. |
+
+
+ |
+ string |
+ Type of the Template |
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ |
+
+
+ |
+ string |
+ Human-readable name of the Template |
+
+
+ |
+ string (date-time) |
+ |
+
+
+ |
+ string (date-time) |
+ |
+
+
+ |
+ string |
+ Text of the Template, including any [macros](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Template/) |
+
+
+ |
+ object |
+ - Template translations are optionally provided when you want to localize the SMS messages. Translations are provided as an object that contains `key:value` pairs: the language and the translated Template text. The key portion is a two-letter country code that conforms to [ISO 639-1](https://www.loc.gov/standards/iso639-2/php/code_list.php). The value is the translated SMS Template. - Just like with regular SMS Templates, the length of the SMS message can't exceed 160 characters. |
+
+
+ |
+ string |
+ Type of the Template |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ templateType |
+ Lists all custom SMS templates. A subset of templates can be returned that match a template type. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves a specific template by `id` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Creates a new custom SMS template |
+
+
+ |
+ |
+ subdomain |
+ |
+ Updates only some of the SMS Template properties: * All properties within the custom SMS Template that have values are updated. * Any translation that doesn't exist is added. * Any translation with a null or empty value is removed. * Any translation with non-empty/null value is updated.
|
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces the SMS Template > **Notes:** You can't update the default SMS Template.
|
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes an SMS template |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all custom SMS templates. A subset of templates can be returned that match a template type.
+
+```sql
+SELECT
+id,
+name,
+created,
+lastUpdated,
+template,
+translations,
+type
+FROM okta.templates.sms_templates
+WHERE subdomain = '{{ subdomain }}' -- required
+AND templateType = '{{ templateType }}';
+```
+
+
+
+Retrieves a specific template by `id`
+
+```sql
+SELECT
+id,
+name,
+created,
+lastUpdated,
+template,
+translations,
+type
+FROM okta.templates.sms_templates
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Creates a new custom SMS template
+
+```sql
+INSERT INTO okta.templates.sms_templates (
+data__name,
+data__template,
+data__translations,
+data__type,
+subdomain
+)
+SELECT
+'{{ name }}',
+'{{ template }}',
+'{{ translations }}',
+'{{ type }}',
+'{{ subdomain }}'
+RETURNING
+id,
+name,
+created,
+lastUpdated,
+template,
+translations,
+type
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: sms_templates
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the sms_templates resource.
+ - name: name
+ value: string
+ description: >
+ Human-readable name of the Template
+
+ - name: template
+ value: string
+ description: >
+ Text of the Template, including any [macros](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Template/)
+
+ - name: translations
+ value: object
+ description: >
+ - Template translations are optionally provided when you want to localize the SMS messages. Translations are provided as an object that contains `key:value` pairs: the language and the translated Template text. The key portion is a two-letter country code that conforms to [ISO 639-1](https://www.loc.gov/standards/iso639-2/php/code_list.php). The value is the translated SMS Template.
+- Just like with regular SMS Templates, the length of the SMS message can't exceed 160 characters.
+
+ - name: type
+ value: string
+ description: >
+ Type of the Template
+
+ valid_values: ['SMS_VERIFY_CODE']
+```
+
+
+
+
+## `UPDATE` examples
+
+
+
+
+Updates only some of the SMS Template properties:
* All properties within the custom SMS Template that have values are updated.
* Any translation that doesn't exist is added.
* Any translation with a null or empty value is removed.
* Any translation with non-empty/null value is updated.
+
+```sql
+UPDATE okta.templates.sms_templates
+SET
+data__name = '{{ name }}',
+data__template = '{{ template }}',
+data__translations = '{{ translations }}',
+data__type = '{{ type }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+id,
+name,
+created,
+lastUpdated,
+template,
+translations,
+type;
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces the SMS Template
> **Notes:** You can't update the default SMS Template.
+
+```sql
+REPLACE okta.templates.sms_templates
+SET
+data__name = '{{ name }}',
+data__template = '{{ template }}',
+data__translations = '{{ translations }}',
+data__type = '{{ type }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+id,
+name,
+created,
+lastUpdated,
+template,
+translations,
+type;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes an SMS template
+
+```sql
+DELETE FROM okta.templates.sms_templates
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/threats/current_configuration/index.md b/website/docs/services/threats/current_configuration/index.md
new file mode 100644
index 0000000..b91bf45
--- /dev/null
+++ b/website/docs/services/threats/current_configuration/index.md
@@ -0,0 +1,190 @@
+---
+title: current_configuration
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - current_configuration
+ - threats
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a current_configuration resource.
+
+## Overview
+
+| Name | current_configuration |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ Specifies how Okta responds to authentication requests from suspicious IP addresses (example: none) |
+
+
+ |
+ string (date-time) |
+ Timestamp when the ThreatInsight Configuration object was created (example: 2020-08-05T22:18:30.629Z) |
+
+
+ |
+ array |
+ Accepts a list of [Network Zone](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/NetworkZone/) IDs. IPs in the excluded network zones aren't logged or blocked. This ensures that traffic from known, trusted IPs isn't accidentally logged or blocked. |
+
+
+ |
+ string (date-time) |
+ Timestamp when the ThreatInsight Configuration object was last updated (example: 2020-09-08T20:53:20.882Z) |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves the ThreatInsight configuration for the org |
+
+
+ |
+ |
+ subdomain |
+ |
+ Updates the ThreatInsight configuration for the org |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Retrieves the ThreatInsight configuration for the org
+
+```sql
+SELECT
+_links,
+action,
+created,
+excludeZones,
+lastUpdated
+FROM okta.threats.current_configuration
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `UPDATE` examples
+
+
+
+
+Updates the ThreatInsight configuration for the org
+
+```sql
+UPDATE okta.threats.current_configuration
+SET
+data__action = '{{ action }}',
+data__excludeZones = '{{ excludeZones }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+AND data__action = '{{ action }}' --required
+RETURNING
+_links,
+action,
+created,
+excludeZones,
+lastUpdated;
+```
+
+
diff --git a/website/docs/services/threats/index.md b/website/docs/services/threats/index.md
new file mode 100644
index 0000000..46f0717
--- /dev/null
+++ b/website/docs/services/threats/index.md
@@ -0,0 +1,33 @@
+---
+title: threats
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - threats
+ - okta
+ - stackql
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+threats service documentation.
+
+:::info[Service Summary]
+
+total resources: __1__
+
+:::
+
+## Resources
+
\ No newline at end of file
diff --git a/website/docs/services/trustedorigins/index.md b/website/docs/services/trustedorigins/index.md
new file mode 100644
index 0000000..e0d3d91
--- /dev/null
+++ b/website/docs/services/trustedorigins/index.md
@@ -0,0 +1,33 @@
+---
+title: trustedorigins
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - trustedorigins
+ - okta
+ - stackql
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+trustedorigins service documentation.
+
+:::info[Service Summary]
+
+total resources: __1__
+
+:::
+
+## Resources
+
\ No newline at end of file
diff --git a/website/docs/services/trustedorigins/trusted_origins/index.md b/website/docs/services/trustedorigins/trusted_origins/index.md
new file mode 100644
index 0000000..155c4e7
--- /dev/null
+++ b/website/docs/services/trustedorigins/trusted_origins/index.md
@@ -0,0 +1,493 @@
+---
+title: trusted_origins
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - trusted_origins
+ - trustedorigins
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a trusted_origins resource.
+
+## Overview
+
+| Name | trusted_origins |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Unique identifier for the trusted origin |
+
+
+ |
+ string |
+ Unique name for the trusted origin |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string (date-time) |
+ Timestamp when the trusted origin was created |
+
+
+ |
+ string |
+ The ID of the user who created the trusted origin |
+
+
+ |
+ string (date-time) |
+ Timestamp when the trusted origin was last updated |
+
+
+ |
+ string |
+ The ID of the user who last updated the trusted origin |
+
+
+ |
+ string |
+ Unique origin URL for the trusted origin. The supported schemes for this attribute are HTTP, HTTPS, FTP, Ionic 2, and Capacitor. |
+
+
+ |
+ array |
+ Array of scope types that this trusted origin is used for |
+
+
+ |
+ string |
+ |
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Unique identifier for the trusted origin |
+
+
+ |
+ string |
+ Unique name for the trusted origin |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string (date-time) |
+ Timestamp when the trusted origin was created |
+
+
+ |
+ string |
+ The ID of the user who created the trusted origin |
+
+
+ |
+ string (date-time) |
+ Timestamp when the trusted origin was last updated |
+
+
+ |
+ string |
+ The ID of the user who last updated the trusted origin |
+
+
+ |
+ string |
+ Unique origin URL for the trusted origin. The supported schemes for this attribute are HTTP, HTTPS, FTP, Ionic 2, and Capacitor. |
+
+
+ |
+ array |
+ Array of scope types that this trusted origin is used for |
+
+
+ |
+ string |
+ |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ q, filter, after, limit |
+ Lists all trusted origins |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves a trusted origin |
+
+
+ |
+ |
+ subdomain |
+ |
+ Creates a trusted origin |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces a trusted origin |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes a trusted origin |
+
+
+ |
+ |
+ subdomain |
+ |
+ Activates a trusted origin. Sets the `status` to `ACTIVE`. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deactivates a trusted origin. Sets the `status` to `INACTIVE`. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ After cursor provided by a prior request |
+
+
+ |
+ string |
+ [Filter](https://developer.okta.com/docs/api/#filter) trusted origins with a supported expression for a subset of properties. You can filter on the following properties: `name`, `origin`, `status`, and `type` (type of scopes). |
+
+
+ |
+ integer (int32) |
+ Specifies the number of results |
+
+
+ |
+ string |
+ A search string that prefix matches against the `name` and `origin` |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all trusted origins
+
+```sql
+SELECT
+id,
+name,
+_links,
+created,
+createdBy,
+lastUpdated,
+lastUpdatedBy,
+origin,
+scopes,
+status
+FROM okta.trustedorigins.trusted_origins
+WHERE subdomain = '{{ subdomain }}' -- required
+AND q = '{{ q }}'
+AND filter = '{{ filter }}'
+AND after = '{{ after }}'
+AND limit = '{{ limit }}';
+```
+
+
+
+Retrieves a trusted origin
+
+```sql
+SELECT
+id,
+name,
+_links,
+created,
+createdBy,
+lastUpdated,
+lastUpdatedBy,
+origin,
+scopes,
+status
+FROM okta.trustedorigins.trusted_origins
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Creates a trusted origin
+
+```sql
+INSERT INTO okta.trustedorigins.trusted_origins (
+data__name,
+data__origin,
+data__scopes,
+subdomain
+)
+SELECT
+'{{ name }}',
+'{{ origin }}',
+'{{ scopes }}',
+'{{ subdomain }}'
+RETURNING
+id,
+name,
+_links,
+created,
+createdBy,
+lastUpdated,
+lastUpdatedBy,
+origin,
+scopes,
+status
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: trusted_origins
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the trusted_origins resource.
+ - name: name
+ value: string
+ description: >
+ Unique name for the trusted origin
+
+ - name: origin
+ value: string
+ description: >
+ Unique origin URL for the trusted origin. The supported schemes for this attribute are HTTP, HTTPS, FTP, Ionic 2, and Capacitor.
+
+ - name: scopes
+ value: array
+ description: >
+ Array of scope types that this trusted origin is used for
+
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces a trusted origin
+
+```sql
+REPLACE okta.trustedorigins.trusted_origins
+SET
+data__createdBy = '{{ createdBy }}',
+data__lastUpdatedBy = '{{ lastUpdatedBy }}',
+data__name = '{{ name }}',
+data__origin = '{{ origin }}',
+data__scopes = '{{ scopes }}',
+data__status = '{{ status }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+id,
+name,
+_links,
+created,
+createdBy,
+lastUpdated,
+lastUpdatedBy,
+origin,
+scopes,
+status;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes a trusted origin
+
+```sql
+DELETE FROM okta.trustedorigins.trusted_origins
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
+
+
+## Lifecycle Methods
+
+
+
+
+Activates a trusted origin. Sets the `status` to `ACTIVE`.
+
+```sql
+EXEC okta.trustedorigins.trusted_origins.activate_trusted_origin
+@subdomain='{{ subdomain }}' --required;
+```
+
+
+
+Deactivates a trusted origin. Sets the `status` to `INACTIVE`.
+
+```sql
+EXEC okta.trustedorigins.trusted_origins.deactivate_trusted_origin
+@subdomain='{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/users/admin_app_targets/index.md b/website/docs/services/users/admin_app_targets/index.md
new file mode 100644
index 0000000..d2b08b2
--- /dev/null
+++ b/website/docs/services/users/admin_app_targets/index.md
@@ -0,0 +1,250 @@
+---
+title: admin_app_targets
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - admin_app_targets
+ - users
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists an admin_app_targets resource.
+
+## Overview
+
+| Name | admin_app_targets |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ ID of the app instance. Okta returns this property only for apps not in the OIN catalog. |
+
+
+ |
+ string |
+ App key name. For OIN catalog apps, this is a unique key for the app definition. |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification |
+
+
+ |
+ string |
+ Category for the app in the OIN catalog (example: SOCIAL) |
+
+
+ |
+ string |
+ Description of the app in the OIN catalog |
+
+
+ |
+ string |
+ OIN catalog app display name |
+
+
+ |
+ array |
+ Features supported by the app. See app [features](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Application/#tag/Application/operation/listApplications!c=200&path=0/features&t=response). |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was last updated (example: 2024-09-19T23:37:37.000Z) |
+
+
+ |
+ array |
+ Authentication mode for the app. See app [signOnMode](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Application/#tag/Application/operation/listApplications!c=200&path=0/signOnMode&t=response). |
+
+
+ |
+ string |
+ App status |
+
+
+ |
+ string |
+ OIN verification status of the catalog app (example: OKTA_VERIFIED) |
+
+
+ |
+ string |
+ Website of the OIN catalog app |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ after, limit |
+ Lists all app targets for an `APP_ADMIN` role assigned to a user. The response is a list that includes OIN-cataloged apps or app instances. The response payload for an app instance contains the `id` property, but an OIN-cataloged app payload doesn't. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Unassigns an OIN app target from an `APP_ADMIN` role assignment to an admin user.
> **Note:** You can't remove the last OIN app target from a role assignment since this causes an exception. > If you need a role assignment that applies to all apps, delete the `APP_ADMIN` role assignment to the user and recreate a new one.
|
+
+
+ |
+ |
+ subdomain |
+ |
+ Unassigns an app instance target from an `APP_ADMIN` role assignment to an admin user.
> **Note:** You can't remove the last app instance target from a role assignment since this causes an exception. > If you need a role assignment that applies to all apps, delete the `APP_ADMIN` role assignment and recreate a new one. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ The cursor to use for pagination. It is an opaque string that specifies your current location in the list and is obtained from the `Link` response header. See [Pagination](https://developer.okta.com/docs/api/#pagination). |
+
+
+ |
+ integer |
+ A limit on the number of objects to return |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all app targets for an `APP_ADMIN` role assigned to a user. The response is a list that includes OIN-cataloged apps or app instances. The response payload for an app instance contains the `id` property, but an OIN-cataloged app payload doesn't.
+
+```sql
+SELECT
+id,
+name,
+_links,
+category,
+description,
+displayName,
+features,
+lastUpdated,
+signOnModes,
+status,
+verificationStatus,
+website
+FROM okta.users.admin_app_targets
+WHERE subdomain = '{{ subdomain }}' -- required
+AND after = '{{ after }}'
+AND limit = '{{ limit }}';
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Unassigns an OIN app target from an `APP_ADMIN` role assignment to an admin user.
> **Note:** You can't remove the last OIN app target from a role assignment since this causes an exception.
> If you need a role assignment that applies to all apps, delete the `APP_ADMIN` role assignment to the user and recreate a new one.
+
+```sql
+DELETE FROM okta.users.admin_app_targets
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
+
+Unassigns an app instance target from an `APP_ADMIN` role assignment to an admin user.
> **Note:** You can't remove the last app instance target from a role assignment since this causes an exception.
> If you need a role assignment that applies to all apps, delete the `APP_ADMIN` role assignment and recreate a new one.
+
+```sql
+DELETE FROM okta.users.admin_app_targets
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/users/app_links/index.md b/website/docs/services/users/app_links/index.md
new file mode 100644
index 0000000..4ef49ad
--- /dev/null
+++ b/website/docs/services/users/app_links/index.md
@@ -0,0 +1,182 @@
+---
+title: app_links
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - app_links
+ - users
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists an app_links resource.
+
+## Overview
+
+| Name | app_links |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ |
+
+
+ |
+ string |
+ |
+
+
+ |
+ string |
+ |
+
+
+ |
+ string |
+ |
+
+
+ |
+ boolean |
+ |
+
+
+ |
+ boolean |
+ |
+
+
+ |
+ string |
+ |
+
+
+ |
+ string |
+ |
+
+
+ |
+ string |
+ |
+
+
+ |
+ integer |
+ |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all app links for all direct or indirect (through group membership) assigned apps.
> **Note:** To list all apps in an org, use the [List all applications endpoint in the Applications API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Application/#tag/Application/operation/listApplications). |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all app links for all direct or indirect (through group membership) assigned apps.
> **Note:** To list all apps in an org, use the [List all applications endpoint in the Applications API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Application/#tag/Application/operation/listApplications).
+
+```sql
+SELECT
+id,
+appAssignmentId,
+appInstanceId,
+appName,
+credentialsSetup,
+hidden,
+label,
+linkUrl,
+logoUrl,
+sortOrder
+FROM okta.users.app_links
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
diff --git a/website/docs/services/users/authenticator_enrollments/index.md b/website/docs/services/users/authenticator_enrollments/index.md
new file mode 100644
index 0000000..014f251
--- /dev/null
+++ b/website/docs/services/users/authenticator_enrollments/index.md
@@ -0,0 +1,333 @@
+---
+title: authenticator_enrollments
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - authenticator_enrollments
+ - users
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists an authenticator_enrollments resource.
+
+## Overview
+
+| Name | authenticator_enrollments |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The unique identifier of the authenticator enrollment |
+
+
+ |
+ string |
+ The authenticator display name |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string (date-time) |
+ Timestamp when the authenticator enrollment was created |
+
+
+ |
+ string |
+ A human-readable string that identifies the authenticator |
+
+
+ |
+ string (date-time) |
+ Timestamp when the authenticator enrollment was last updated |
+
+
+ |
+ object |
+ Defines the authenticator specific parameters |
+
+
+ |
+ string |
+ Status of the enrollment |
+
+
+ |
+ string |
+ The type of authenticator |
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all authenticator enrollments of the specified user |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves a user's authenticator enrollment by `enrollmentId` |
+
+
+ |
+ |
+ userId, subdomain |
+ |
+ Creates a Phone authenticator enrollment that's automatically activated |
+
+
+ |
+ |
+ userId, subdomain |
+ |
+ Creates an auto-activated Temporary access code (TAC) authenticator enrollment |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes an existing enrollment for the specified user. The user can enroll the authenticator again. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ ID of an existing Okta user |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all authenticator enrollments of the specified user
+
+```sql
+SELECT
+id,
+name,
+_links,
+created,
+key,
+lastUpdated,
+profile,
+status,
+type
+FROM okta.users.authenticator_enrollments
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+Retrieves a user's authenticator enrollment by `enrollmentId`
+
+```sql
+SELECT
+*
+FROM okta.users.authenticator_enrollments
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Creates a Phone authenticator enrollment that's automatically activated
+
+```sql
+INSERT INTO okta.users.authenticator_enrollments (
+data__authenticatorId,
+data__profile,
+userId,
+subdomain
+)
+SELECT
+'{{ authenticatorId }}' --required,
+'{{ profile }}' --required,
+'{{ userId }}',
+'{{ subdomain }}'
+;
+```
+
+
+
+Creates an auto-activated Temporary access code (TAC) authenticator enrollment
+
+```sql
+INSERT INTO okta.users.authenticator_enrollments (
+data__authenticatorId,
+data__profile,
+userId,
+subdomain
+)
+SELECT
+'{{ authenticatorId }}' --required,
+'{{ profile }}',
+'{{ userId }}',
+'{{ subdomain }}'
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: authenticator_enrollments
+ props:
+ - name: userId
+ value: string
+ description: Required parameter for the authenticator_enrollments resource.
+ - name: subdomain
+ value: string
+ description: Required parameter for the authenticator_enrollments resource.
+ - name: authenticatorId
+ value: string
+ description: >
+ Unique identifier of the TAC authenticator
+
+ - name: profile
+ value: object
+ description: >
+ Defines the authenticator specific parameters
+
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes an existing enrollment for the specified user. The user can enroll the authenticator again.
+
+```sql
+DELETE FROM okta.users.authenticator_enrollments
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/users/classifications/index.md b/website/docs/services/users/classifications/index.md
new file mode 100644
index 0000000..676208d
--- /dev/null
+++ b/website/docs/services/users/classifications/index.md
@@ -0,0 +1,167 @@
+---
+title: classifications
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - classifications
+ - users
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a classifications resource.
+
+## Overview
+
+| Name | classifications |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string (date-time) |
+ The timestamp when the user classification was last updated |
+
+
+ |
+ string |
+ The type of user classification |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves a user's classification |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces the user's classification |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Retrieves a user's classification
+
+```sql
+SELECT
+lastUpdated,
+type
+FROM okta.users.classifications
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces the user's classification
+
+```sql
+REPLACE okta.users.classifications
+SET
+data__type = '{{ type }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+lastUpdated,
+type;
+```
+
+
diff --git a/website/docs/services/users/factors/index.md b/website/docs/services/users/factors/index.md
new file mode 100644
index 0000000..b5e33e1
--- /dev/null
+++ b/website/docs/services/users/factors/index.md
@@ -0,0 +1,499 @@
+---
+title: factors
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - factors
+ - users
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a factors resource.
+
+## Overview
+
+| Name | factors |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ ID of the factor (example: caf8m6jbcvUH8mAep1d7) |
+
+
+ |
+ object |
+ |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string (date-time) |
+ Timestamp when the factor was enrolled (example: 2022-08-25T00:31:00.000Z) |
+
+
+ |
+ string |
+ Type of factor |
+
+
+ |
+ string (date-time) |
+ Timestamp when the factor was last updated (example: 2022-08-25T00:31:00.000Z) |
+
+
+ |
+ object |
+ Specific attributes related to the factor |
+
+
+ |
+ string |
+ Provider for the factor. Each provider can support a subset of factor types. |
+
+
+ |
+ string |
+ Status of the factor (example: ACTIVE) |
+
+
+ |
+ string |
+ Name of the factor vendor. This is usually the same as the provider except for On-Prem MFA, which depends on admin settings. (example: OKTA) |
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Result of the verification transaction |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all enrolled factors for the specified user that are included in the highest priority [authenticator enrollment policy](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Policy/) that applies to the user.
Only enrolled factors that are `REQUIRED` or `OPTIONAL` in the highest priority authenticator enrollment policy can be returned.
> **Note:** When admins use this endpoint for other users, the authenticator enrollment policy that's evaluated can vary depending on how client-specific conditions are configured in the rules of an authenticator enrollment policy. The client-specific conditions of the admin's client are used during policy evaluation instead of the client-specific conditions of the user. This can affect which authenticator enrollment policy is evaluated and which factors are returned. > > For example, an admin in Europe lists all enrolled factors for a user in North America. The network zone of the admin's client (in Europe) is used during policy evaluation instead of the network zone of the user (in North America). |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves an existing factor for the specified user |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves the status of a `push` factor verification transaction
> **Note:** > The response body for a number matching push challenge to an Okta Verify `push` factor enrollment is different from the response body of a standard push challenge. > The number matching push challenge [response body](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserFactor/#tag/UserFactor/operation/getFactorTransactionStatus!c=200&path=1/_embedded&t=response) contains the correct answer for the challenge. > Use [Verify a factor](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserFactor/#tag/UserFactor/operation/verifyFactor) to configure which challenge is sent. |
+
+
+ |
+ |
+ subdomain |
+ updatePhone, templateId, tokenLifetimeSeconds, activate, Accept-Language |
+ Enrolls a supported factor for the specified user
> **Notes:** > * All responses return the enrolled factor with a status of either `PENDING_ACTIVATION` or `ACTIVE`. > * You can't use the Factors API to enroll Okta Fastpass (`signed_nonce`) for a user. See [Configure Okta Fastpass](https://help.okta.com/okta_help.htm?type=oie&id=ext-fp-configure).
#### Additional SMS/Call factor information
* **Rate limits**: Okta may return a `429 Too Many Requests` status code if you attempt to resend an SMS or a voice call challenge (OTP) within the same time window. The current [rate limit](https://developer.okta.com/docs/reference/rate-limits/) is one SMS/CALL challenge per phone number every 30 seconds.
* **Existing phone numbers**: Okta may return a `400 Bad Request` status code if a user attempts to enroll with a different phone number when the user has an existing mobile phone or has an existing phone with voice call capability. A user can enroll only one mobile phone for `sms` and enroll only one voice call capable phone for `call` factor.
#### Additional WebAuthn factor information
* For detailed information on the WebAuthn standard, including an up-to-date list of supported browsers, see [webauthn.me](https://a0.to/webauthnme-okta-docs).
* When you enroll a WebAuthn factor, the `activation` object in `_embedded` contains properties used to help the client to create a new WebAuthn credential for use with Okta. See the [WebAuthn spec for PublicKeyCredentialCreationOptions](https://www.w3.org/TR/webauthn/#dictionary-makecredentialoptions).
#### Additional Custom TOTP factor information
* The enrollment process involves passing both the `factorProfileId` and `sharedSecret` properties for a token.
* A factor profile represents a particular configuration of the Custom TOTP factor. It includes certain properties that match the hardware token that end users possess, such as the HMAC algorithm, passcode length, and time interval. There can be multiple Custom TOTP factor profiles per org, but users can only enroll in one Custom TOTP factor. Admins can [create Custom TOTP factor profiles](https://help.okta.com/okta_help.htm?id=ext-mfa-totp) in the Admin Console. Then, copy the `factorProfileId` from the Admin Console into the API request.
* <x-lifecycle class="oie"></x-lifecycle> For Custom TOTP enrollment, Okta automaticaly enrolls a user with a `token:software:totp` factor and the `push` factor if the user isn't currently enrolled with these factors. |
+
+
+ |
+ |
+ subdomain |
+ removeRecoveryEnrollment |
+ Unenrolls an existing factor for the specified user. You can't unenroll a factor from a deactivated user. Unenrolling a factor allows the user to enroll a new factor.
> **Note:** If you unenroll the `push` or the `signed_nonce` factors, Okta also unenrolls any other `totp`, `signed_nonce`, or Okta Verify `push` factors associated with the user. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Activates a factor. Some factors (`call`, `email`, `push`, `sms`, `token:software:totp`, `u2f`, and `webauthn`) require activation to complete the enrollment process.
Okta enforces a rate limit of five activation attempts within five minutes. After a user exceeds the rate limit, Okta returns an error message.
> **Notes:** > * If the user exceeds their SMS, call, or email factor activation rate limit, then an [OTP resend request]https://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserFactor/ isn't allowed for the same factor. > * You can't use the Factors API to activate Okta Fastpass (`signed_nonce`) for a user. See [Configure Okta Fastpass](https://help.okta.com/okta_help.htm?type=oie&id=ext-fp-configure). |
+
+
+ |
+ |
+ subdomain |
+ templateId |
+ Resends an `sms`, `call`, or `email` factor challenge as part of an enrollment flow.
For `call` and `sms` factors, Okta enforces a rate limit of one OTP challenge per device every 30 seconds. You can configure your `sms` and `call` factors to use a third-party telephony provider. See the [Telephony inline hook reference](https://developer.okta.com/docs/reference/telephony-hook/). Okta alternates between SMS providers with every resend request to ensure delivery of SMS and Call OTPs across different carriers.
> **Note:** Resend operations aren't allowed after a factor exceeds the activation rate limit. See [Activate a factor]https://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserFactor/. |
+
+
+ |
+ |
+ subdomain |
+ templateId, tokenLifetimeSeconds, X-Forwarded-For, User-Agent, Accept-Language |
+ Verifies an OTP for a factor. Some factors (`call`, `email`, `push`, `sms`, `u2f`, and `webauthn`) must first issue a challenge before you can verify the factor. Do this by making a request without a body. After a challenge is issued, make another request to verify the factor.
> **Notes:** > - You can send standard push challenges or number matching push challenges to Okta Verify `push` factor enrollments. Use a [request body](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserFactor/#tag/UserFactor/operation/verifyFactor!path=2/useNumberMatchingChallenge&t=request) for number matching push challenges. > - To verify a `push` factor, use the **poll** link returned when you issue the challenge. See [Retrieve a factor transaction status](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserFactor/#tag/UserFactor/operation/getFactorTransactionStatus). |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ An ISO 639-1 two-letter language code that defines a localized message to send. This parameter is only used by `sms` factors. If a localized message doesn't exist or the `templateId` is incorrect, the default template is used instead. |
+
+
+ |
+ string |
+ Type of user agent detected when the request is made. Required to verify `push` factors. |
+
+
+ |
+ string |
+ Public IP address for the user agent |
+
+
+ |
+ boolean |
+ If `true`, the factor is immediately activated as part of the enrollment. An activation process isn't required. Currently auto-activation is supported by `sms`, `call`, `email` and `token:hotp` (Custom TOTP) factors. |
+
+
+ |
+ boolean |
+ If `true`, removes the phone number as both a recovery method and a factor. This parameter is only used for the `sms` and `call` factors. |
+
+
+ |
+ string |
+ ID of an existing custom SMS template. See the [SMS Templates API]https://developer.okta.com/docs/api/openapi/okta-management/management/tag/Template/. This parameter is only used by `sms` factors. |
+
+
+ |
+ integer (int32) |
+ Defines how long the token remains valid |
+
+
+ |
+ boolean |
+ If `true`, indicates that you are replacing the currently registered phone number for the specified user. This parameter is ignored if the existing phone number is used by an activated factor. |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all enrolled factors for the specified user that are included in the highest priority [authenticator enrollment policy](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Policy/) that applies to the user.
Only enrolled factors that are `REQUIRED` or `OPTIONAL` in the highest priority authenticator enrollment policy can be returned.
> **Note:** When admins use this endpoint for other users, the authenticator enrollment policy that's evaluated can vary depending on how client-specific conditions are configured in the rules of an authenticator enrollment policy. The client-specific conditions of the admin's client are used during policy evaluation instead of the client-specific conditions of the user. This can affect which authenticator enrollment policy is evaluated and which factors are returned.
>
> For example, an admin in Europe lists all enrolled factors for a user in North America. The network zone of the admin's client (in Europe) is used during policy evaluation instead of the network zone of the user (in North America).
+
+```sql
+SELECT
+id,
+_embedded,
+_links,
+created,
+factorType,
+lastUpdated,
+profile,
+provider,
+status,
+vendorName
+FROM okta.users.factors
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+Retrieves an existing factor for the specified user
+
+```sql
+SELECT
+*
+FROM okta.users.factors
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+Retrieves the status of a `push` factor verification transaction
> **Note:**
> The response body for a number matching push challenge to an Okta Verify `push` factor enrollment is different from the response body of a standard push challenge.
> The number matching push challenge [response body](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserFactor/#tag/UserFactor/operation/getFactorTransactionStatus!c=200&path=1/_embedded&t=response) contains the correct answer for the challenge.
> Use [Verify a factor](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserFactor/#tag/UserFactor/operation/verifyFactor) to configure which challenge is sent.
+
+```sql
+SELECT
+factorResult
+FROM okta.users.factors
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Enrolls a supported factor for the specified user
> **Notes:**
> * All responses return the enrolled factor with a status of either `PENDING_ACTIVATION` or `ACTIVE`.
> * You can't use the Factors API to enroll Okta Fastpass (`signed_nonce`) for a user. See [Configure Okta Fastpass](https://help.okta.com/okta_help.htm?type=oie&id=ext-fp-configure).
#### Additional SMS/Call factor information
* **Rate limits**: Okta may return a `429 Too Many Requests` status code if you attempt to resend an SMS or a voice call challenge (OTP) within the same time window. The current [rate limit](https://developer.okta.com/docs/reference/rate-limits/) is one SMS/CALL challenge per phone number every 30 seconds.
* **Existing phone numbers**: Okta may return a `400 Bad Request` status code if a user attempts to enroll with a different phone number when the user has an existing mobile phone or has an existing phone with voice call capability. A user can enroll only one mobile phone for `sms` and enroll only one voice call capable phone for `call` factor.
#### Additional WebAuthn factor information
* For detailed information on the WebAuthn standard, including an up-to-date list of supported browsers, see [webauthn.me](https://a0.to/webauthnme-okta-docs).
* When you enroll a WebAuthn factor, the `activation` object in `_embedded` contains properties used to help the client to create a new WebAuthn credential for use with Okta. See the [WebAuthn spec for PublicKeyCredentialCreationOptions](https://www.w3.org/TR/webauthn/#dictionary-makecredentialoptions).
#### Additional Custom TOTP factor information
* The enrollment process involves passing both the `factorProfileId` and `sharedSecret` properties for a token.
* A factor profile represents a particular configuration of the Custom TOTP factor. It includes certain properties that match the hardware token that end users possess, such as the HMAC algorithm, passcode length, and time interval. There can be multiple Custom TOTP factor profiles per org, but users can only enroll in one Custom TOTP factor. Admins can [create Custom TOTP factor profiles](https://help.okta.com/okta_help.htm?id=ext-mfa-totp) in the Admin Console. Then, copy the `factorProfileId` from the Admin Console into the API request.
* <x-lifecycle class="oie"></x-lifecycle>
For Custom TOTP enrollment, Okta automaticaly enrolls a user with a `token:software:totp` factor and the `push` factor if the user isn't currently enrolled with these factors.
+
+```sql
+INSERT INTO okta.users.factors (
+data__factorType,
+data__profile,
+data__provider,
+subdomain,
+updatePhone,
+templateId,
+tokenLifetimeSeconds,
+activate,
+Accept-Language
+)
+SELECT
+'{{ factorType }}',
+'{{ profile }}',
+'{{ provider }}',
+'{{ subdomain }}',
+'{{ updatePhone }}',
+'{{ templateId }}',
+'{{ tokenLifetimeSeconds }}',
+'{{ activate }}',
+'{{ Accept-Language }}'
+RETURNING
+id,
+_embedded,
+_links,
+created,
+factorType,
+lastUpdated,
+profile,
+provider,
+status,
+vendorName
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: factors
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the factors resource.
+ - name: factorType
+ value: string
+ description: >
+ Type of factor
+
+ valid_values: ['call', 'email', 'push', 'question', 'signed_nonce', 'sms', 'token', 'token:hardware', 'token:hotp', 'token:software:totp', 'u2f', 'web', 'webauthn']
+ - name: profile
+ value: object
+ description: >
+ Specific attributes related to the factor
+
+ - name: provider
+ value: string
+ description: >
+ Provider for the factor. Each provider can support a subset of factor types.
+
+ - name: updatePhone
+ value: boolean
+ description: If `true`, indicates that you are replacing the currently registered phone number for the specified user. This parameter is ignored if the existing phone number is used by an activated factor.
+ - name: templateId
+ value: string
+ description: ID of an existing custom SMS template. See the [SMS Templates API]https://developer.okta.com/docs/api/openapi/okta-management/management/tag/Template/. This parameter is only used by `sms` factors. If the provided ID doesn't exist, the default template is used instead.
+ - name: tokenLifetimeSeconds
+ value: integer (int32)
+ description: Defines how long the token remains valid
+ - name: activate
+ value: boolean
+ description: If `true`, the factor is immediately activated as part of the enrollment. An activation process isn't required. Currently auto-activation is supported by `sms`, `call`, `email` and `token:hotp` (Custom TOTP) factors.
+ - name: Accept-Language
+ value: string
+ description: An ISO 639-1 two-letter language code that defines a localized message to send. This parameter is only used by `sms` factors. If a localized message doesn't exist or the `templateId` is incorrect, the default template is used instead.
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Unenrolls an existing factor for the specified user. You can't unenroll a factor from a deactivated user. Unenrolling a factor allows the user to enroll a new factor.
> **Note:** If you unenroll the `push` or the `signed_nonce` factors, Okta also unenrolls any other `totp`, `signed_nonce`, or Okta Verify `push` factors associated with the user.
+
+```sql
+DELETE FROM okta.users.factors
+WHERE subdomain = '{{ subdomain }}' --required
+AND removeRecoveryEnrollment = '{{ removeRecoveryEnrollment }}';
+```
+
+
+
+
+## Lifecycle Methods
+
+
+
+
+Activates a factor. Some factors (`call`, `email`, `push`, `sms`, `token:software:totp`, `u2f`, and `webauthn`) require activation to complete the enrollment process.
Okta enforces a rate limit of five activation attempts within five minutes. After a user exceeds the rate limit, Okta returns an error message.
> **Notes:**
> * If the user exceeds their SMS, call, or email factor activation rate limit, then an [OTP resend request]https://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserFactor/ isn't allowed for the same factor.
> * You can't use the Factors API to activate Okta Fastpass (`signed_nonce`) for a user. See [Configure Okta Fastpass](https://help.okta.com/okta_help.htm?type=oie&id=ext-fp-configure).
+
+```sql
+EXEC okta.users.factors.activate_factor
+@subdomain='{{ subdomain }}' --required;
+```
+
+
+
+Resends an `sms`, `call`, or `email` factor challenge as part of an enrollment flow.
For `call` and `sms` factors, Okta enforces a rate limit of one OTP challenge per device every 30 seconds. You can configure your `sms` and `call` factors to use a third-party telephony provider. See the [Telephony inline hook reference](https://developer.okta.com/docs/reference/telephony-hook/). Okta alternates between SMS providers with every resend request to ensure delivery of SMS and Call OTPs across different carriers.
> **Note:** Resend operations aren't allowed after a factor exceeds the activation rate limit. See [Activate a factor]https://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserFactor/.
+
+```sql
+EXEC okta.users.factors.resend_enroll_factor
+@subdomain='{{ subdomain }}' --required,
+@templateId='{{ templateId }}'
+@@json=
+'{
+"factorType": "{{ factorType }}"
+}';
+```
+
+
+
+Verifies an OTP for a factor. Some factors (`call`, `email`, `push`, `sms`, `u2f`, and `webauthn`) must first issue a challenge before you can verify the factor. Do this by making a request without a body. After a challenge is issued, make another request to verify the factor.
> **Notes:**
> - You can send standard push challenges or number matching push challenges to Okta Verify `push` factor enrollments. Use a [request body](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserFactor/#tag/UserFactor/operation/verifyFactor!path=2/useNumberMatchingChallenge&t=request) for number matching push challenges.
> - To verify a `push` factor, use the **poll** link returned when you issue the challenge. See [Retrieve a factor transaction status](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserFactor/#tag/UserFactor/operation/getFactorTransactionStatus).
+
+```sql
+EXEC okta.users.factors.verify_factor
+@subdomain='{{ subdomain }}' --required,
+@templateId='{{ templateId }}',
+@tokenLifetimeSeconds='{{ tokenLifetimeSeconds }}',
+@X-Forwarded-For='{{ X-Forwarded-For }}',
+@User-Agent='{{ User-Agent }}',
+@Accept-Language='{{ Accept-Language }}';
+```
+
+
diff --git a/website/docs/services/users/grants/index.md b/website/docs/services/users/grants/index.md
new file mode 100644
index 0000000..f290007
--- /dev/null
+++ b/website/docs/services/users/grants/index.md
@@ -0,0 +1,497 @@
+---
+title: grants
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - grants
+ - users
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a grants resource.
+
+## Overview
+
+| Name | grants |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ ID of the Grant object (example: oag3ih1zrm1cBFOiq0h6) |
+
+
+ |
+ object |
+ Embedded resources related to the Grant |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ Client ID of the app integration (example: oag3ih1zrm1cBFOiq0h6) |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was created (example: 2017-03-28T01:11:10.000Z) |
+
+
+ |
+ object |
+ User that created the object |
+
+
+ |
+ string |
+ The issuer of your org authorization server. This is typically your Okta domain. (example: https://my_test_okta_org.oktapreview.com) |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was last updated |
+
+
+ |
+ string |
+ The name of the [Okta scope](https://developer.okta.com/docs/api/oauth2/#oauth-20-scopes) for which consent is granted (example: okta.users.read) |
+
+
+ |
+ string |
+ User type source that granted consent (example: ADMIN) |
+
+
+ |
+ string |
+ Status (example: ACTIVE) |
+
+
+ |
+ string |
+ User ID that granted consent (if `source` is `END_USER`) (example: 00u5t60iloOHN9pBi0h7) |
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ ID of the Grant object (example: oag3ih1zrm1cBFOiq0h6) |
+
+
+ |
+ object |
+ Embedded resources related to the Grant |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ Client ID of the app integration (example: oag3ih1zrm1cBFOiq0h6) |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was created (example: 2017-03-28T01:11:10.000Z) |
+
+
+ |
+ object |
+ User that created the object |
+
+
+ |
+ string |
+ The issuer of your org authorization server. This is typically your Okta domain. (example: https://my_test_okta_org.oktapreview.com) |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was last updated |
+
+
+ |
+ string |
+ The name of the [Okta scope](https://developer.okta.com/docs/api/oauth2/#oauth-20-scopes) for which consent is granted (example: okta.users.read) |
+
+
+ |
+ string |
+ User type source that granted consent (example: ADMIN) |
+
+
+ |
+ string |
+ Status (example: ACTIVE) |
+
+
+ |
+ string |
+ User ID that granted consent (if `source` is `END_USER`) (example: 00u5t60iloOHN9pBi0h7) |
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ ID of the Grant object (example: oag3ih1zrm1cBFOiq0h6) |
+
+
+ |
+ object |
+ Embedded resources related to the Grant |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ Client ID of the app integration (example: oag3ih1zrm1cBFOiq0h6) |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was created (example: 2017-03-28T01:11:10.000Z) |
+
+
+ |
+ object |
+ User that created the object |
+
+
+ |
+ string |
+ The issuer of your org authorization server. This is typically your Okta domain. (example: https://my_test_okta_org.oktapreview.com) |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was last updated |
+
+
+ |
+ string |
+ The name of the [Okta scope](https://developer.okta.com/docs/api/oauth2/#oauth-20-scopes) for which consent is granted (example: okta.users.read) |
+
+
+ |
+ string |
+ User type source that granted consent (example: ADMIN) |
+
+
+ |
+ string |
+ Status (example: ACTIVE) |
+
+
+ |
+ string |
+ User ID that granted consent (if `source` is `END_USER`) (example: 00u5t60iloOHN9pBi0h7) |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ expand, after, limit |
+ Lists all grants for a specified user and client |
+
+
+ |
+ |
+ subdomain |
+ scopeId, expand, after, limit |
+ Lists all grants for the specified user |
+
+
+ |
+ |
+ subdomain |
+ expand |
+ Retrieves a grant for the specified user |
+
+
+ |
+ |
+ subdomain |
+ |
+ Revokes all grants for the specified user and client |
+
+
+ |
+ |
+ subdomain |
+ |
+ Revokes all grants for a specified user |
+
+
+ |
+ |
+ subdomain |
+ |
+ Revokes one grant for a specified user |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ The cursor to use for pagination. It is an opaque string that specifies your current location in the list and is obtained from the `Link` response header. See [Pagination](https://developer.okta.com/docs/api/#pagination). |
+
+
+ |
+ string |
+ Valid value: `scope`. If specified, scope details are included in the `_embedded` attribute. |
+
+
+ |
+ integer (int32) |
+ Specifies the number of grants to return |
+
+
+ |
+ string |
+ The scope ID to filter on |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all grants for a specified user and client
+
+```sql
+SELECT
+id,
+_embedded,
+_links,
+clientId,
+created,
+createdBy,
+issuer,
+lastUpdated,
+scopeId,
+source,
+status,
+userId
+FROM okta.users.grants
+WHERE subdomain = '{{ subdomain }}' -- required
+AND expand = '{{ expand }}'
+AND after = '{{ after }}'
+AND limit = '{{ limit }}';
+```
+
+
+
+Lists all grants for the specified user
+
+```sql
+SELECT
+id,
+_embedded,
+_links,
+clientId,
+created,
+createdBy,
+issuer,
+lastUpdated,
+scopeId,
+source,
+status,
+userId
+FROM okta.users.grants
+WHERE subdomain = '{{ subdomain }}' -- required
+AND scopeId = '{{ scopeId }}'
+AND expand = '{{ expand }}'
+AND after = '{{ after }}'
+AND limit = '{{ limit }}';
+```
+
+
+
+Retrieves a grant for the specified user
+
+```sql
+SELECT
+id,
+_embedded,
+_links,
+clientId,
+created,
+createdBy,
+issuer,
+lastUpdated,
+scopeId,
+source,
+status,
+userId
+FROM okta.users.grants
+WHERE subdomain = '{{ subdomain }}' -- required
+AND expand = '{{ expand }}';
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Revokes all grants for the specified user and client
+
+```sql
+DELETE FROM okta.users.grants
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
+
+Revokes all grants for a specified user
+
+```sql
+DELETE FROM okta.users.grants
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
+
+Revokes one grant for a specified user
+
+```sql
+DELETE FROM okta.users.grants
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/users/identity_providers/index.md b/website/docs/services/users/identity_providers/index.md
new file mode 100644
index 0000000..5e8a0d1
--- /dev/null
+++ b/website/docs/services/users/identity_providers/index.md
@@ -0,0 +1,188 @@
+---
+title: identity_providers
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - identity_providers
+ - users
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists an identity_providers resource.
+
+## Overview
+
+| Name | identity_providers |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Unique key for the IdP (example: 0oaWma58liwx40w6boYD) |
+
+
+ |
+ string |
+ Unique name for the IdP (example: Sample IdP) |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was created (example: 2016-01-03T18:15:47.000Z) |
+
+
+ |
+ string |
+ Indicates whether Okta uses the original Okta org domain URL or a custom domain URL in the request to the social IdP (default: DYNAMIC) |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was last updated (example: 2016-01-03T18:15:47.000Z) |
+
+
+ |
+ object |
+ Policy settings for the IdP. The following provisioning and account linking actions are supported by each IdP provider: | IdP type | User provisioning actions | Group provisioning actions | Account link actions | Account link filters | | ----------------------------------------------------------------- | ------------------------- | ------------------------------------- | -------------------- | -------------------- | | `SAML2` | `AUTO` or `DISABLED` | `NONE`, `ASSIGN`, `APPEND`, or `SYNC` | `AUTO`, `DISABLED` | `groups`, `users` | | `X509`, `IDV_PERSONA`, `IDV_INCODE`, and `IDV_CLEAR` | `DISABLED` | No support for JIT provisioning | | | | All other IdP types | `AUTO`, `DISABLED` | `NONE` or `ASSIGN` | `AUTO`, `DISABLED` | `groups`, `users` | |
+
+
+ |
+ object |
+ The properties in the IdP `properties` object vary depending on the IdP type |
+
+
+ |
+ |
+ IdP-specific protocol settings for endpoints, bindings, and algorithms used to connect with the IdP and validate messages |
+
+
+ |
+ string |
+ |
+
+
+ |
+ string |
+ The IdP object's `type` property identifies the social or enterprise IdP used for authentication. Each IdP uses a specific protocol, therefore the `protocol` object must correspond with the IdP `type`. If the protocol is OAuth 2.0-based, the `protocol` object's `scopes` property must also correspond with the scopes supported by the IdP `type`. For policy actions supported by each IdP type, see [IdP type policy actions](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/IdentityProvider/#tag/IdentityProvider/operation/createIdentityProvider!path=policy&t=request). | Type | Description | Corresponding protocol | Corresponding protocol scopes | | ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------- | -------------------------------------------------------------------- | | `AMAZON` | [Amazon](https://developer.amazon.com/settings/console/registration?return_to=/) as the IdP | OpenID Connect | `profile`, `profile:user_id` | | `APPLE` | [Apple](https://developer.apple.com/sign-in-with-apple/) as the IdP | OpenID Connect | `names`, `email`, `openid` | | `DISCORD` | [Discord](https://discord.com/login) as the IdP | OAuth 2.0 | `identify`, `email` | | `FACEBOOK` | [Facebook](https://developers.facebook.com) as the IdP | OAuth 2.0 | `public_profile`, `email` | | `GITHUB` | [GitHub](https://github.com/join) as the IdP | OAuth 2.0 | `user` | | `GITLAB` | [GitLab](https://gitlab.com/users/sign_in) as the IdP | OpenID Connect | `openid`, `read_user`, `profile`, `email` | | `GOOGLE` | [Google](https://accounts.google.com/signup) as the IdP | OpenID Connect | `openid`, `email`, `profile` | | `IDV_PERSONA` | [Persona](https://app.withpersona.com/dashboard/login) as the IDV IdP | ID verification | | | `IDV_CLEAR` | [CLEAR Verified](https://www.clearme.com/) as the IDV IdP | ID verification | `openid`, `profile`, `identity_assurance` | | `IDV_INCODE` | [Incode](https://incode.com/) as the IDV IdP | ID verification | `openid`, `profile`, `identity_assurance` | | `LINKEDIN` | [LinkedIn](https://developer.linkedin.com/) as the IdP | OAuth 2.0 | `r_emailaddress`, `r_liteprofile` | | `LOGINGOV` | [Login.gov](https://developers.login.gov/) as the IdP | OpenID Connect | `email`, `profile`, `profile:name` | | `LOGINGOV_SANDBOX` | [Login.gov's identity sandbox](https://developers.login.gov/testing/) as the IdP | OpenID Connect | `email`, `profile`, `profile:name` | | `MICROSOFT` | [Microsoft Enterprise SSO](https://azure.microsoft.com/) as the IdP | OpenID Connect | `openid`, `email`, `profile`, `https://graph.microsoft.com/User.Read` | | `OIDC` | IdP that supports [OpenID Connect](https://openid.net/specs/openid-connect-core-1_0.html) | OpenID Connect | `openid`, `email`, `profile` | | `PAYPAL` | [Paypal](https://www.paypal.com/signin) as the IdP | OpenID Connect | `openid`, `email`, `profile` | | `PAYPAL_SANDBOX` | [Paypal Sandbox](https://developer.paypal.com/tools/sandbox/) as the IdP | OpenID Connect | `openid`, `email`, `profile` | | `SALESFORCE` | [SalesForce](https://login.salesforce.com/) as the IdP | OAuth 2.0 | `id`, `email`, `profile` | | `SAML2` | Enterprise IdP that supports the [SAML 2.0 Web Browser SSO Profile](https://docs.oasis-open.org/security/saml/v2.0/saml-profiles-2.0-os.pdf)| SAML 2.0 | | | `SPOTIFY` | [Spotify](https://developer.spotify.com/) as the IdP | OpenID Connect | `user-read-email`, `user-read-private` | | `X509` | [Smart Card IdP](https://tools.ietf.org/html/rfc5280) | Mutual TLS | | | `XERO` | [Xero](https://www.xero.com/us/signup/api/) as the IdP | OpenID Connect | `openid`, `profile`, `email` | | `YAHOO` | [Yahoo](https://login.yahoo.com/) as the IdP | OpenID Connect | `openid`, `profile`, `email` | | `YAHOOJP` | [Yahoo Japan](https://login.yahoo.co.jp/config/login) as the IdP | OpenID Connect | `openid`, `profile`, `email` | | `OKTA_INTEGRATION` | IdP that supports the [OpenID Connect](https://openid.net/specs/openid-connect-core-1_0.html) Org2Org IdP | OpenID Connect | `openid`, `email`, `profile` | |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists the identity providers (IdPs) associated with the user |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists the identity providers (IdPs) associated with the user
+
+```sql
+SELECT
+id,
+name,
+_links,
+created,
+issuerMode,
+lastUpdated,
+policy,
+properties,
+protocol,
+status,
+type
+FROM okta.users.identity_providers
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
diff --git a/website/docs/services/users/index.md b/website/docs/services/users/index.md
new file mode 100644
index 0000000..8b2474a
--- /dev/null
+++ b/website/docs/services/users/index.md
@@ -0,0 +1,55 @@
+---
+title: users
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - users
+ - okta
+ - stackql
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+users service documentation.
+
+:::info[Service Summary]
+
+total resources: __24__
+
+:::
+
+## Resources
+
\ No newline at end of file
diff --git a/website/docs/services/users/linked_objects/index.md b/website/docs/services/users/linked_objects/index.md
new file mode 100644
index 0000000..e9efa62
--- /dev/null
+++ b/website/docs/services/users/linked_objects/index.md
@@ -0,0 +1,185 @@
+---
+title: linked_objects
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - linked_objects
+ - users
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a linked_objects resource.
+
+## Overview
+
+| Name | linked_objects |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists either the `self` link for the primary user or all associated users in the relationship specified by `relationshipName`. If the specified user isn't associated in any relationship, an empty array is returned.
Use `me` instead of `id` to specify the current session user. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Assigns the first user as the `associated` and the second user as the `primary` for the specified relationship.
If the first user is already associated with a different `primary` for this relationship, the previous link is removed. A linked object relationship can specify only one primary user for an associated user. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes any existing relationship between the `associated` and `primary` user. For the `associated` user, this is specified by the ID. The `primary` name specifies the relationship.
The operation is successful if the relationship is deleted. The operation is also successful if the specified user isn't in the `associated` relationship for any instance of the specified `primary` and thus, no relationship is found. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists either the `self` link for the primary user or all associated users in the relationship specified by `relationshipName`. If the specified user isn't associated in any relationship, an empty array is returned.
Use `me` instead of `id` to specify the current session user.
+
+```sql
+SELECT
+_links
+FROM okta.users.linked_objects
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Assigns the first user as the `associated` and the second user as the `primary` for the specified relationship.
If the first user is already associated with a different `primary` for this relationship, the previous link is removed. A linked object relationship can specify only one primary user for an associated user.
+
+```sql
+REPLACE okta.users.linked_objects
+SET
+-- No updatable properties
+WHERE
+subdomain = '{{ subdomain }}' --required;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes any existing relationship between the `associated` and `primary` user. For the `associated` user, this is specified by the ID. The `primary` name specifies the relationship.
The operation is successful if the relationship is deleted. The operation is also successful if the specified user isn't in the `associated` relationship for any instance of the specified `primary` and thus, no relationship is found.
+
+```sql
+DELETE FROM okta.users.linked_objects
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/users/oauth_tokens/index.md b/website/docs/services/users/oauth_tokens/index.md
new file mode 100644
index 0000000..5d22d9c
--- /dev/null
+++ b/website/docs/services/users/oauth_tokens/index.md
@@ -0,0 +1,352 @@
+---
+title: oauth_tokens
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - oauth_tokens
+ - users
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists an oauth_tokens resource.
+
+## Overview
+
+| Name | oauth_tokens |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ ID of the Token object (example: oar579Mcp7OUsNTlo0g3) |
+
+
+ |
+ object |
+ The embedded resources related to the object if the `expand` query parameter is specified |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ Client ID |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was created (example: 2017-03-28T01:11:10.000Z) |
+
+
+ |
+ string (date-time) |
+ Expiration time of the OAuth 2.0 Token |
+
+
+ |
+ string |
+ The complete URL of the authorization server that issued the Token (example: https://{yourOktaDomain}/oauth2/ausain6z9zIedDCxB0h7) |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was last updated |
+
+
+ |
+ array |
+ The scope names attached to the Token |
+
+
+ |
+ string |
+ Status (example: ACTIVE) |
+
+
+ |
+ string |
+ The ID of the user associated with the Token (example: 00u5t60iloOHN9pBi0h7) |
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ ID of the Token object (example: oar579Mcp7OUsNTlo0g3) |
+
+
+ |
+ object |
+ The embedded resources related to the object if the `expand` query parameter is specified |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ Client ID |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was created (example: 2017-03-28T01:11:10.000Z) |
+
+
+ |
+ string (date-time) |
+ Expiration time of the OAuth 2.0 Token |
+
+
+ |
+ string |
+ The complete URL of the authorization server that issued the Token (example: https://{yourOktaDomain}/oauth2/ausain6z9zIedDCxB0h7) |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was last updated |
+
+
+ |
+ array |
+ The scope names attached to the Token |
+
+
+ |
+ string |
+ Status (example: ACTIVE) |
+
+
+ |
+ string |
+ The ID of the user associated with the Token (example: 00u5t60iloOHN9pBi0h7) |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ expand, after, limit |
+ Lists all refresh tokens issued for the specified user and client |
+
+
+ |
+ |
+ subdomain |
+ expand |
+ Retrieves a refresh token issued for the specified user and client |
+
+
+ |
+ |
+ subdomain |
+ |
+ Revokes all refresh tokens issued for the specified user and client |
+
+
+ |
+ |
+ subdomain |
+ |
+ Revokes the specified refresh and access tokens |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ The cursor to use for pagination. It is an opaque string that specifies your current location in the list and is obtained from the `Link` response header. See [Pagination](https://developer.okta.com/docs/api/#pagination). |
+
+
+ |
+ string |
+ Valid value: `scope`. If specified, scope details are included in the `_embedded` attribute. |
+
+
+ |
+ integer (int32) |
+ Specifies the number of tokens to return |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all refresh tokens issued for the specified user and client
+
+```sql
+SELECT
+id,
+_embedded,
+_links,
+clientId,
+created,
+expiresAt,
+issuer,
+lastUpdated,
+scopes,
+status,
+userId
+FROM okta.users.oauth_tokens
+WHERE subdomain = '{{ subdomain }}' -- required
+AND expand = '{{ expand }}'
+AND after = '{{ after }}'
+AND limit = '{{ limit }}';
+```
+
+
+
+Retrieves a refresh token issued for the specified user and client
+
+```sql
+SELECT
+id,
+_embedded,
+_links,
+clientId,
+created,
+expiresAt,
+issuer,
+lastUpdated,
+scopes,
+status,
+userId
+FROM okta.users.oauth_tokens
+WHERE subdomain = '{{ subdomain }}' -- required
+AND expand = '{{ expand }}';
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Revokes all refresh tokens issued for the specified user and client
+
+```sql
+DELETE FROM okta.users.oauth_tokens
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
+
+Revokes the specified refresh and access tokens
+
+```sql
+DELETE FROM okta.users.oauth_tokens
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/users/role_assignment_governance_grant/index.md b/website/docs/services/users/role_assignment_governance_grant/index.md
new file mode 100644
index 0000000..f8fe9c4
--- /dev/null
+++ b/website/docs/services/users/role_assignment_governance_grant/index.md
@@ -0,0 +1,152 @@
+---
+title: role_assignment_governance_grant
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - role_assignment_governance_grant
+ - users
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a role_assignment_governance_grant resource.
+
+## Overview
+
+| Name | role_assignment_governance_grant |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available for the resources using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. |
+
+
+ |
+ string |
+ `id` of the entitlement bundle |
+
+
+ |
+ string (date-time) |
+ The expiration date of the entitlement bundle |
+
+
+ |
+ string |
+ `id` of the grant |
+
+
+ |
+ string |
+ The grant type |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves a governance source (identified by `grantId`) for a role (identified by `roleAssignmentId`) that's assigned to a user (identified by `userId`) |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Retrieves a governance source (identified by `grantId`) for a role (identified by `roleAssignmentId`) that's assigned to a user (identified by `userId`)
+
+```sql
+SELECT
+_links,
+bundleId,
+expirationDate,
+grantId,
+type
+FROM okta.users.role_assignment_governance_grant
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
diff --git a/website/docs/services/users/role_assignment_governance_grant_resources/index.md b/website/docs/services/users/role_assignment_governance_grant_resources/index.md
new file mode 100644
index 0000000..98953e7
--- /dev/null
+++ b/website/docs/services/users/role_assignment_governance_grant_resources/index.md
@@ -0,0 +1,134 @@
+---
+title: role_assignment_governance_grant_resources
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - role_assignment_governance_grant_resources
+ - users
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a role_assignment_governance_grant_resources resource.
+
+## Overview
+
+| Name | role_assignment_governance_grant_resources |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ array |
+ |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves the resources of a governance source (identified by `grantId`) for a role (identified by `roleAssignmentId`) that's assigned to a user (identified by `userId`) |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Retrieves the resources of a governance source (identified by `grantId`) for a role (identified by `roleAssignmentId`) that's assigned to a user (identified by `userId`)
+
+```sql
+SELECT
+_links,
+resources
+FROM okta.users.role_assignment_governance_grant_resources
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
diff --git a/website/docs/services/users/role_assignment_users/index.md b/website/docs/services/users/role_assignment_users/index.md
new file mode 100644
index 0000000..aad69ca
--- /dev/null
+++ b/website/docs/services/users/role_assignment_users/index.md
@@ -0,0 +1,306 @@
+---
+title: role_assignment_users
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - role_assignment_users
+ - users
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a role_assignment_users resource.
+
+## Overview
+
+| Name | role_assignment_users |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ expand |
+ Lists all roles assigned to a user (identified by `userId`) |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves a role assigned to a user (identified by `userId`). The `roleAssignmentId` parameter is the unique identifier for either a standard role assignment object or a custom role resource set binding object. |
+
+
+ |
+ |
+ subdomain |
+ disableNotifications |
+ Assigns a [standard role](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/guides/roles/#standard-roles) to a user.
You can also assign a custom role to a user, but the preferred method to assign a custom role to a user is to create a binding between the custom role, the resource set, and the user. See [Create a role resource set binding](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/RoleDResourceSetBinding/#tag/RoleDResourceSetBinding/operation/createResourceSetBinding).
> **Notes:** > * The request payload is different for standard and custom role assignments. > * For IAM-based standard role assignments, use the request payload for standard roles. However, the response payload for IAM-based role assignments is similar to the custom role's assignment response. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Unassigns a role assignment (identified by `roleAssignmentId`) from a user (identified by `userId`) |
+
+
+ |
+ |
+ subdomain |
+ |
+ Assigns all apps as target to an `APP_ADMIN` role |
+
+
+ |
+ |
+ subdomain |
+ |
+ Assigns an OIN app target for an `APP_ADMIN` role assignment to an admin user. When you assign the first app target, you reduce the scope of the role assignment. The role no longer applies to all app targets, but applies only to the specified target.
Assigning an OIN app target overrides any existing app instance targets of the OIN app. For example, if a user was assigned to administer a specific Facebook instance, a successful request to add an OIN app target with `facebook` for `appName` makes that user the admin for all Facebook instances.
|
+
+
+ |
+ |
+ subdomain |
+ |
+ Assigns an app instance target to an `APP_ADMIN` role assignment to an admin user. When you assign the first OIN app or app instance target, you reduce the scope of the role assignment. The role no longer applies to all app targets, but applies only to the specified target.
> **Note:** You can target a mixture of both OIN app and app instance targets, but can't assign permissions to manage all instances of an OIN app and then assign a subset of permission to the same OIN app. > For example, you can't specify that an admin has access to manage all instances of the Salesforce app and then also manage specific configurations of the Salesforce app.
|
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ boolean |
+ Setting this to `true` grants the user third-party admin status |
+
+
+ |
+ string |
+ An optional parameter used to return targets configured for the standard role assignment in the `embedded` property. Supported values: `targets/groups` or `targets/catalog/apps` |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all roles assigned to a user (identified by `userId`)
+
+```sql
+SELECT
+*
+FROM okta.users.role_assignment_users
+WHERE subdomain = '{{ subdomain }}' -- required
+AND expand = '{{ expand }}';
+```
+
+
+
+Retrieves a role assigned to a user (identified by `userId`). The `roleAssignmentId` parameter is the unique identifier for either a standard role assignment object or a custom role resource set binding object.
+
+```sql
+SELECT
+*
+FROM okta.users.role_assignment_users
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Assigns a [standard role](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/guides/roles/#standard-roles) to a user.
You can also assign a custom role to a user, but the preferred method to assign a custom role to a user is to create a binding between the custom role, the resource set, and the user. See [Create a role resource set binding](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/RoleDResourceSetBinding/#tag/RoleDResourceSetBinding/operation/createResourceSetBinding).
> **Notes:**
> * The request payload is different for standard and custom role assignments.
> * For IAM-based standard role assignments, use the request payload for standard roles. However, the response payload for IAM-based role assignments is similar to the custom role's assignment response.
+
+```sql
+INSERT INTO okta.users.role_assignment_users (
+subdomain,
+disableNotifications
+)
+SELECT
+'{{ subdomain }}',
+'{{ disableNotifications }}'
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: role_assignment_users
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the role_assignment_users resource.
+ - name: disableNotifications
+ value: boolean
+ description: Setting this to `true` grants the user third-party admin status
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Unassigns a role assignment (identified by `roleAssignmentId`) from a user (identified by `userId`)
+
+```sql
+DELETE FROM okta.users.role_assignment_users
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
+
+
+## Lifecycle Methods
+
+
+
+
+Assigns all apps as target to an `APP_ADMIN` role
+
+```sql
+EXEC okta.users.role_assignment_users.assign_all_apps_as_target_to_role_for_user
+@subdomain='{{ subdomain }}' --required;
+```
+
+
+
+Assigns an OIN app target for an `APP_ADMIN` role assignment to an admin user. When you assign the first app target, you reduce the scope of the role assignment.
The role no longer applies to all app targets, but applies only to the specified target.
Assigning an OIN app target overrides any existing app instance targets of the OIN app.
For example, if a user was assigned to administer a specific Facebook instance, a successful request to add an OIN app target with `facebook` for `appName` makes that user the admin for all Facebook instances.
+
+```sql
+EXEC okta.users.role_assignment_users.assign_app_target_to_admin_role_for_user
+@subdomain='{{ subdomain }}' --required;
+```
+
+
+
+Assigns an app instance target to an `APP_ADMIN` role assignment to an admin user. When you assign the first OIN app or app instance target, you reduce the scope of the role assignment.
The role no longer applies to all app targets, but applies only to the specified target.
> **Note:** You can target a mixture of both OIN app and app instance targets, but can't assign permissions to manage all instances of an OIN app and then assign a subset of permission to the same OIN app.
> For example, you can't specify that an admin has access to manage all instances of the Salesforce app and then also manage specific configurations of the Salesforce app.
+
+```sql
+EXEC okta.users.role_assignment_users.assign_app_instance_target_to_app_admin_role_for_user
+@subdomain='{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/users/role_group_targets/index.md b/website/docs/services/users/role_group_targets/index.md
new file mode 100644
index 0000000..d9ddffc
--- /dev/null
+++ b/website/docs/services/users/role_group_targets/index.md
@@ -0,0 +1,245 @@
+---
+title: role_group_targets
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - role_group_targets
+ - users
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a role_group_targets resource.
+
+## Overview
+
+| Name | role_group_targets |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Unique ID for the group (example: 0gabcd1234) |
+
+
+ |
+ object |
+ Embedded resources related to the group |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string (date-time) |
+ Timestamp when the group was created |
+
+
+ |
+ string (date-time) |
+ Timestamp when the groups memberships were last updated |
+
+
+ |
+ string (date-time) |
+ Timestamp when the group's profile was last updated |
+
+
+ |
+ array |
+ Determines the group's `profile` |
+
+
+ |
+ |
+ Specifies required and optional properties for a group. The `objectClass` of a group determines which additional properties are available. You can extend group profiles with custom properties, but you must first add the properties to the group profile schema before you can reference them. Use the Profile Editor in the Admin Console or the [Schemas API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Schema/)to manage schema extensions. Custom properties can contain HTML tags. It is the client's responsibility to escape or encode this data before displaying it. Use [best-practices](https://cheatsheetseries.owasp.org/cheatsheets/Cross_Site_Scripting_Prevention_Cheat_Sheet.html) to prevent cross-site scripting. |
+
+
+ |
+ string |
+ Determines how a group's profile and memberships are managed |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ after, limit |
+ Lists all group targets for a `USER_ADMIN`, `HELP_DESK_ADMIN`, or `GROUP_MEMBERSHIP_ADMIN` role assignment to an admin user. If the role isn't scoped to specific group targets, an empty array `[]` is returned.
|
+
+
+ |
+ |
+ subdomain |
+ |
+ Assigns a group target for a `USER_ADMIN`, `HELP_DESK_ADMIN`, or `GROUP_MEMBERSHIP_ADMIN` role assignment to an admin user. When you assign the first group target, you reduce the scope of the role assignment. The role no longer applies to all targets but applies only to the specified target.
|
+
+
+ |
+ |
+ subdomain |
+ |
+ Unassigns a group target from a `USER_ADMIN`, `HELP_DESK_ADMIN`, or `GROUP_MEMBERSHIP_ADMIN` role assignment to an admin user.
> **Note:** You can't remove the last group target from a role assignment since this causes an exception. > If you need a role assignment that applies to all groups, delete the role assignment to the user and recreate a new one.
|
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ The cursor to use for pagination. It is an opaque string that specifies your current location in the list and is obtained from the `Link` response header. See [Pagination](https://developer.okta.com/docs/api/#pagination). |
+
+
+ |
+ integer |
+ A limit on the number of objects to return |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all group targets for a `USER_ADMIN`, `HELP_DESK_ADMIN`, or `GROUP_MEMBERSHIP_ADMIN` role assignment to an admin user.
If the role isn't scoped to specific group targets, an empty array `[]` is returned.
+
+```sql
+SELECT
+id,
+_embedded,
+_links,
+created,
+lastMembershipUpdated,
+lastUpdated,
+objectClass,
+profile,
+type
+FROM okta.users.role_group_targets
+WHERE subdomain = '{{ subdomain }}' -- required
+AND after = '{{ after }}'
+AND limit = '{{ limit }}';
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Assigns a group target for a `USER_ADMIN`, `HELP_DESK_ADMIN`, or `GROUP_MEMBERSHIP_ADMIN` role assignment to an admin user.
When you assign the first group target, you reduce the scope of the role assignment. The role no longer applies to all targets but applies only to the specified target.
+
+```sql
+REPLACE okta.users.role_group_targets
+SET
+-- No updatable properties
+WHERE
+subdomain = '{{ subdomain }}' --required;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Unassigns a group target from a `USER_ADMIN`, `HELP_DESK_ADMIN`, or `GROUP_MEMBERSHIP_ADMIN` role assignment to an admin user.
> **Note:** You can't remove the last group target from a role assignment since this causes an exception.
> If you need a role assignment that applies to all groups, delete the role assignment to the user and recreate a new one.
+
+```sql
+DELETE FROM okta.users.role_group_targets
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/users/role_targets/index.md b/website/docs/services/users/role_targets/index.md
new file mode 100644
index 0000000..c600554
--- /dev/null
+++ b/website/docs/services/users/role_targets/index.md
@@ -0,0 +1,164 @@
+---
+title: role_targets
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - role_targets
+ - users
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a role_targets resource.
+
+## Overview
+
+| Name | role_targets |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ The assignment type of how the user receives this target (example: GROUP) |
+
+
+ |
+ string (date-time) |
+ The expiry time stamp of the associated target. It's only included in the response if the associated target will expire. (example: 2023-08-25T12:00:00.000Z) |
+
+
+ |
+ string |
+ The [Okta Resource Name (ORN)](https://support.okta.com/help/s/article/understanding-okta-resource-name-orn) of the app target or group target (example: orn:okta:directory:00o5v1t2W4OSF9r4N0g4:groups:00g5vhi3rEJMOog1S0g4) |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ assignmentType, after, limit |
+ Retrieves all role targets for an `APP_ADMIN`, `USER_ADMIN`, `HELP_DESK_ADMIN`, or `GROUP_MEMBERSHIP_ADMIN` role assignment to an admin user by user or group assignment type. If the role isn't scoped to specific group targets or any app targets, an empty array `[]` is returned.
|
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ The cursor to use for pagination. It is an opaque string that specifies your current location in the list and is obtained from the `Link` response header. See [Pagination](https://developer.okta.com/docs/api/#pagination). |
+
+
+ |
+ string |
+ Specifies the assignment type of the user |
+
+
+ |
+ integer |
+ A limit on the number of objects to return |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Retrieves all role targets for an `APP_ADMIN`, `USER_ADMIN`, `HELP_DESK_ADMIN`, or `GROUP_MEMBERSHIP_ADMIN` role assignment to an admin user by user or group assignment type.
If the role isn't scoped to specific group targets or any app targets, an empty array `[]` is returned.
+
+```sql
+SELECT
+_links,
+assignmentType,
+expiration,
+orn
+FROM okta.users.role_targets
+WHERE subdomain = '{{ subdomain }}' -- required
+AND assignmentType = '{{ assignmentType }}'
+AND after = '{{ after }}'
+AND limit = '{{ limit }}';
+```
+
+
diff --git a/website/docs/services/users/subscriptions/index.md b/website/docs/services/users/subscriptions/index.md
new file mode 100644
index 0000000..4429b90
--- /dev/null
+++ b/website/docs/services/users/subscriptions/index.md
@@ -0,0 +1,266 @@
+---
+title: subscriptions
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - subscriptions
+ - users
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a subscriptions resource.
+
+## Overview
+
+| Name | subscriptions |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ object |
+ Discoverable resources related to the subscription |
+
+
+ |
+ array |
+ An array of sources send notifications to users. > **Note**: Currently, Okta only allows `email` channels. |
+
+
+ |
+ string |
+ The type of notification |
+
+
+ |
+ string |
+ The status of the subscription |
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ object |
+ Discoverable resources related to the subscription |
+
+
+ |
+ array |
+ An array of sources send notifications to users. > **Note**: Currently, Okta only allows `email` channels. |
+
+
+ |
+ string |
+ The type of notification |
+
+
+ |
+ string |
+ The status of the subscription |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ userId, subdomain |
+ |
+ Lists all subscriptions available to a specified user. Returns an `AccessDeniedException` message if requests are made for another user. |
+
+
+ |
+ |
+ userId, notificationType, subdomain |
+ |
+ Retrieves a subscription by `notificationType` for a specified user. Returns an `AccessDeniedException` message if requests are made for another user. |
+
+
+ |
+ |
+ userId, notificationType, subdomain |
+ |
+ Subscribes the current user to a specified notification type. Returns an `AccessDeniedException` message if requests are made for another user. |
+
+
+ |
+ |
+ userId, notificationType, subdomain |
+ |
+ Unsubscribes the current user from a specified notification type. Returns an `AccessDeniedException` message if requests are made for another user. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ |
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all subscriptions available to a specified user. Returns an `AccessDeniedException` message if requests are made for another user.
+
+```sql
+SELECT
+_links,
+channels,
+notificationType,
+status
+FROM okta.users.subscriptions
+WHERE userId = '{{ userId }}' -- required
+AND subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+Retrieves a subscription by `notificationType` for a specified user. Returns an `AccessDeniedException` message if requests are made for another user.
+
+```sql
+SELECT
+_links,
+channels,
+notificationType,
+status
+FROM okta.users.subscriptions
+WHERE userId = '{{ userId }}' -- required
+AND notificationType = '{{ notificationType }}' -- required
+AND subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## Lifecycle Methods
+
+
+
+
+Subscribes the current user to a specified notification type. Returns an `AccessDeniedException` message if requests are made for another user.
+
+```sql
+EXEC okta.users.subscriptions.subscribe_by_notification_type_user
+@userId='{{ userId }}' --required,
+@notificationType='{{ notificationType }}' --required,
+@subdomain='{{ subdomain }}' --required;
+```
+
+
+
+Unsubscribes the current user from a specified notification type. Returns an `AccessDeniedException` message if requests are made for another user.
+
+```sql
+EXEC okta.users.subscriptions.unsubscribe_by_notification_type_user
+@userId='{{ userId }}' --required,
+@notificationType='{{ notificationType }}' --required,
+@subdomain='{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/users/supported_factors/index.md b/website/docs/services/users/supported_factors/index.md
new file mode 100644
index 0000000..b688d5b
--- /dev/null
+++ b/website/docs/services/users/supported_factors/index.md
@@ -0,0 +1,164 @@
+---
+title: supported_factors
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - supported_factors
+ - users
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a supported_factors resource.
+
+## Overview
+
+| Name | supported_factors |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ object |
+ Embedded resources related to the factor |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ Indicates if the factor is required for the specified user (example: OPTIONAL) |
+
+
+ |
+ string |
+ Type of factor |
+
+
+ |
+ string |
+ |
+
+
+ |
+ string |
+ Status of the factor (example: ACTIVE) |
+
+
+ |
+ string |
+ Name of the factor vendor. This is usually the same as the provider except for On-Prem MFA, which depends on admin settings. (example: OKTA) |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all the supported factors that can be enrolled for the specified user that are included in the highest priority [authenticator enrollment policy](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Policy/) that applies to the user.
Only factors that are `REQUIRED` or `OPTIONAL` in the highest priority authenticator enrollment policy can be returned.
> **Note:** When admins use this endpoint for other users, the authenticator enrollment policy that's evaluated can vary depending on how client-specific conditions are configured in the rules of an authenticator enrollment policy. The client-specific conditions of the admin's client are used during policy evaluation instead of the client-specific conditions of the user. This can affect which authenticator enrollment policy is evaluated and which factors are returned. > > For example, an admin in Europe lists all supported factors for a user in North America. The network zone of the admin's client (in Europe) is used during policy evaluation instead of the network zone of the user (in North America). |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all the supported factors that can be enrolled for the specified user that are included in the highest priority [authenticator enrollment policy](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Policy/) that applies to the user.
Only factors that are `REQUIRED` or `OPTIONAL` in the highest priority authenticator enrollment policy can be returned.
> **Note:** When admins use this endpoint for other users, the authenticator enrollment policy that's evaluated can vary depending on how client-specific conditions are configured in the rules of an authenticator enrollment policy. The client-specific conditions of the admin's client are used during policy evaluation instead of the client-specific conditions of the user. This can affect which authenticator enrollment policy is evaluated and which factors are returned.
>
> For example, an admin in Europe lists all supported factors for a user in North America. The network zone of the admin's client (in Europe) is used during policy evaluation instead of the network zone of the user (in North America).
+
+```sql
+SELECT
+_embedded,
+_links,
+enrollment,
+factorType,
+provider,
+status,
+vendorName
+FROM okta.users.supported_factors
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
diff --git a/website/docs/services/users/supported_security_questions/index.md b/website/docs/services/users/supported_security_questions/index.md
new file mode 100644
index 0000000..7144624
--- /dev/null
+++ b/website/docs/services/users/supported_security_questions/index.md
@@ -0,0 +1,140 @@
+---
+title: supported_security_questions
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - supported_security_questions
+ - users
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a supported_security_questions resource.
+
+## Overview
+
+| Name | supported_security_questions |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Answer to the question |
+
+
+ |
+ string |
+ Unique key for the question (example: disliked_food) |
+
+
+ |
+ string |
+ Human-readable text that's displayed to the user (example: What is the food you least liked as a child?) |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all available security questions for the specified user |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all available security questions for the specified user
+
+```sql
+SELECT
+answer,
+question,
+questionText
+FROM okta.users.supported_security_questions
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
diff --git a/website/docs/services/users/user_assigned_role_governance/index.md b/website/docs/services/users/user_assigned_role_governance/index.md
new file mode 100644
index 0000000..cecd627
--- /dev/null
+++ b/website/docs/services/users/user_assigned_role_governance/index.md
@@ -0,0 +1,134 @@
+---
+title: user_assigned_role_governance
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - user_assigned_role_governance
+ - users
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a user_assigned_role_governance resource.
+
+## Overview
+
+| Name | user_assigned_role_governance |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available for the sources using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. |
+
+
+ |
+ array |
+ |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves the governance sources of a role (identified by `roleAssignmentId`) that's assigned to a user (identified by `userId`) |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Retrieves the governance sources of a role (identified by `roleAssignmentId`) that's assigned to a user (identified by `userId`)
+
+```sql
+SELECT
+_links,
+grants
+FROM okta.users.user_assigned_role_governance
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
diff --git a/website/docs/services/users/user_blocks/index.md b/website/docs/services/users/user_blocks/index.md
new file mode 100644
index 0000000..db6f068
--- /dev/null
+++ b/website/docs/services/users/user_blocks/index.md
@@ -0,0 +1,134 @@
+---
+title: user_blocks
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - user_blocks
+ - users
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a user_blocks resource.
+
+## Overview
+
+| Name | user_blocks |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The devices that the block applies to |
+
+
+ |
+ string |
+ Type of access block |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists information about how the user is blocked from accessing their account |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists information about how the user is blocked from accessing their account
+
+```sql
+SELECT
+appliesTo,
+type
+FROM okta.users.user_blocks
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
diff --git a/website/docs/services/users/user_clients/index.md b/website/docs/services/users/user_clients/index.md
new file mode 100644
index 0000000..a83674c
--- /dev/null
+++ b/website/docs/services/users/user_clients/index.md
@@ -0,0 +1,152 @@
+---
+title: user_clients
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - user_clients
+ - users
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a user_clients resource.
+
+## Overview
+
+| Name | user_clients |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Unique key for the client application. The `client_id` is immutable. (example: 0oabskvc6442nkvQO0h7) |
+
+
+ |
+ string |
+ Human-readable string name of the client application (example: My App) |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ (example: https://www.example.com) |
+
+
+ |
+ string |
+ URL string that references a logo for the client consent dialog (not the sign-in dialog) (example: https://www.example.com/logo.png) |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all client resources for which the specified user has grants or tokens.
> **Note:** To list all client resources for which a specified authorization server has tokens, use the [List all client resources for an authorization server in the Authorization Servers API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/AuthorizationServerClients/#tag/AuthorizationServerClients/operation/listOAuth2ClientsForAuthorizationServer). |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all client resources for which the specified user has grants or tokens.
> **Note:** To list all client resources for which a specified authorization server has tokens, use the [List all client resources for an authorization server in the Authorization Servers API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/AuthorizationServerClients/#tag/AuthorizationServerClients/operation/listOAuth2ClientsForAuthorizationServer).
+
+```sql
+SELECT
+client_id,
+client_name,
+_links,
+client_uri,
+logo_uri
+FROM okta.users.user_clients
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
diff --git a/website/docs/services/users/user_devices/index.md b/website/docs/services/users/user_devices/index.md
new file mode 100644
index 0000000..ff74a42
--- /dev/null
+++ b/website/docs/services/users/user_devices/index.md
@@ -0,0 +1,140 @@
+---
+title: user_devices
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - user_devices
+ - users
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a user_devices resource.
+
+## Overview
+
+| Name | user_devices |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string (date-time) |
+ Timestamp when the device was created |
+
+
+ |
+ object |
+ |
+
+
+ |
+ string |
+ Unique key for the user device link |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all devices enrolled by a user.
> **Note:** To list all devices registered to an org, use the [List all devices endpoint in the Devices API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Device/#tag/Device/operation/listDevices). |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all devices enrolled by a user.
> **Note:** To list all devices registered to an org, use the [List all devices endpoint in the Devices API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Device/#tag/Device/operation/listDevices).
+
+```sql
+SELECT
+created,
+device,
+deviceUserId
+FROM okta.users.user_devices
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
diff --git a/website/docs/services/users/user_groups/index.md b/website/docs/services/users/user_groups/index.md
new file mode 100644
index 0000000..e22f852
--- /dev/null
+++ b/website/docs/services/users/user_groups/index.md
@@ -0,0 +1,176 @@
+---
+title: user_groups
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - user_groups
+ - users
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a user_groups resource.
+
+## Overview
+
+| Name | user_groups |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Unique ID for the group (example: 0gabcd1234) |
+
+
+ |
+ object |
+ Embedded resources related to the group |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string (date-time) |
+ Timestamp when the group was created |
+
+
+ |
+ string (date-time) |
+ Timestamp when the groups memberships were last updated |
+
+
+ |
+ string (date-time) |
+ Timestamp when the group's profile was last updated |
+
+
+ |
+ array |
+ Determines the group's `profile` |
+
+
+ |
+ |
+ Specifies required and optional properties for a group. The `objectClass` of a group determines which additional properties are available. You can extend group profiles with custom properties, but you must first add the properties to the group profile schema before you can reference them. Use the Profile Editor in the Admin Console or the [Schemas API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Schema/)to manage schema extensions. Custom properties can contain HTML tags. It is the client's responsibility to escape or encode this data before displaying it. Use [best-practices](https://cheatsheetseries.owasp.org/cheatsheets/Cross_Site_Scripting_Prevention_Cheat_Sheet.html) to prevent cross-site scripting. |
+
+
+ |
+ string |
+ Determines how a group's profile and memberships are managed |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all groups of which the user is a member. > **Note:** To list all groups in your org, use the [List all groups endpoints in the Groups API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Group/#tag/Group/operation/listGroups). |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all groups of which the user is a member.
> **Note:** To list all groups in your org, use the [List all groups endpoints in the Groups API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Group/#tag/Group/operation/listGroups).
+
+```sql
+SELECT
+id,
+_embedded,
+_links,
+created,
+lastMembershipUpdated,
+lastUpdated,
+objectClass,
+profile,
+type
+FROM okta.users.user_groups
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
diff --git a/website/docs/services/users/user_risk/index.md b/website/docs/services/users/user_risk/index.md
new file mode 100644
index 0000000..ce5488c
--- /dev/null
+++ b/website/docs/services/users/user_risk/index.md
@@ -0,0 +1,166 @@
+---
+title: user_risk
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - user_risk
+ - users
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a user_risk resource.
+
+## Overview
+
+| Name | user_risk |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string |
+ The risk level associated with the user |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves the user risk object for a user ID |
+
+
+ |
+ |
+ subdomain |
+ |
+ Upserts (creates or updates) the user risk object for a user ID |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Retrieves the user risk object for a user ID
+
+```sql
+SELECT
+_links,
+riskLevel
+FROM okta.users.user_risk
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Upserts (creates or updates) the user risk object for a user ID
+
+```sql
+REPLACE okta.users.user_risk
+SET
+data__riskLevel = '{{ riskLevel }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+RETURNING
+_links,
+reason,
+riskLevel;
+```
+
+
diff --git a/website/docs/services/users/users/index.md b/website/docs/services/users/users/index.md
new file mode 100644
index 0000000..4e1db98
--- /dev/null
+++ b/website/docs/services/users/users/index.md
@@ -0,0 +1,1011 @@
+---
+title: users
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - users
+ - users
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a users resource.
+
+## Overview
+
+| Name | users |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The unique key for the user |
+
+
+ |
+ object |
+ Embedded resources related to the user using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string (date-time) |
+ The timestamp when the user status transitioned to `ACTIVE` |
+
+
+ |
+ string (date-time) |
+ The timestamp when the user was created |
+
+
+ |
+ object |
+ Specifies primary authentication and recovery credentials for a user. Credential types and requirements vary depending on the provider and security policy of the org. |
+
+
+ |
+ string (date-time) |
+ The timestamp of the last login |
+
+
+ |
+ string (date-time) |
+ The timestamp when the user was last updated |
+
+
+ |
+ string (date-time) |
+ The timestamp when the user's password was last updated |
+
+
+ |
+ object |
+ Specifies the default and custom profile properties for a user. The default user profile is based on the [System for Cross-domain Identity Management: Core Schema](https://datatracker.ietf.org/doc/html/rfc7643). The only permitted customizations of the default profile are to update permissions, change whether the `firstName` and `lastName` properties are nullable, and specify a [pattern](https://developer.okta.com/docs/reference/api/schemas/#login-pattern-validation) for `login`. You can use the Profile Editor in the Admin Console or the [Schemas API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UISchema/#tag/UISchema) to make schema modifications. You can extend user profiles with custom properties. You must first add the custom property to the user profile schema before you reference it. You can use the Profile Editor in the Admin Console or the [Schemas API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UISchema/#tag/UISchema) to manage schema extensions. Custom attributes can contain HTML tags. It's the client's responsibility to escape or encode this data before displaying it. Use [best-practices](https://cheatsheetseries.owasp.org/cheatsheets/Cross_Site_Scripting_Prevention_Cheat_Sheet.html) to prevent cross-site scripting. |
+
+
+ |
+ string |
+ The ID of the realm in which the user is residing. See [Realms](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Realm/). (example: guo1bfiNtSnZYILxO0g4) |
+
+
+ |
+ string |
+ The current status of the user. The status of a user changes in response to explicit events, such as admin-driven lifecycle changes, user login, or self-service password recovery. Okta doesn't asynchronously sweep through users and update their password expiry state, for example. Instead, Okta evaluates password policy at login time, notices the password has expired, and moves the user to the expired state. When running reports, remember that the data is valid as of the last login or lifecycle event for that user. |
+
+
+ |
+ string (date-time) |
+ The timestamp when the status of the user last changed |
+
+
+ |
+ string |
+ The target status of an in-progress asynchronous status transition. This property is only returned if the user's state is transitioning. |
+
+
+ |
+ object |
+ The user type that determines the schema for the user's profile. The `type` property is a map that identifies the [User Types](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserType/#tag/UserType). Currently it contains a single element, `id`. It can be specified when creating a new user, and ca be updated by an admin on a full replace of an existing user (but not a partial update). |
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The unique key for the user |
+
+
+ |
+ object |
+ The embedded resources related to the object if the `expand` query parameter is specified |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string (date-time) |
+ The timestamp when the user status transitioned to `ACTIVE` |
+
+
+ |
+ string (date-time) |
+ The timestamp when the user was created |
+
+
+ |
+ object |
+ Specifies primary authentication and recovery credentials for a user. Credential types and requirements vary depending on the provider and security policy of the org. |
+
+
+ |
+ string (date-time) |
+ The timestamp of the last login |
+
+
+ |
+ string (date-time) |
+ The timestamp when the user was last updated |
+
+
+ |
+ string (date-time) |
+ The timestamp when the user's password was last updated |
+
+
+ |
+ object |
+ Specifies the default and custom profile properties for a user. The default user profile is based on the [System for Cross-domain Identity Management: Core Schema](https://datatracker.ietf.org/doc/html/rfc7643). The only permitted customizations of the default profile are to update permissions, change whether the `firstName` and `lastName` properties are nullable, and specify a [pattern](https://developer.okta.com/docs/reference/api/schemas/#login-pattern-validation) for `login`. You can use the Profile Editor in the Admin Console or the [Schemas API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UISchema/#tag/UISchema) to make schema modifications. You can extend user profiles with custom properties. You must first add the custom property to the user profile schema before you reference it. You can use the Profile Editor in the Admin Console or the [Schemas API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UISchema/#tag/UISchema) to manage schema extensions. Custom attributes can contain HTML tags. It's the client's responsibility to escape or encode this data before displaying it. Use [best-practices](https://cheatsheetseries.owasp.org/cheatsheets/Cross_Site_Scripting_Prevention_Cheat_Sheet.html) to prevent cross-site scripting. |
+
+
+ |
+ string |
+ The ID of the realm in which the user is residing. See [Realms](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Realm/). (example: guo1bfiNtSnZYILxO0g4) |
+
+
+ |
+ string |
+ The current status of the user. The status of a user changes in response to explicit events, such as admin-driven lifecycle changes, user login, or self-service password recovery. Okta doesn't asynchronously sweep through users and update their password expiry state, for example. Instead, Okta evaluates password policy at login time, notices the password has expired, and moves the user to the expired state. When running reports, remember that the data is valid as of the last login or lifecycle event for that user. |
+
+
+ |
+ string (date-time) |
+ The timestamp when the status of the user last changed |
+
+
+ |
+ string |
+ The target status of an in-progress asynchronous status transition. This property is only returned if the user's state is transitioning. |
+
+
+ |
+ object |
+ The user type that determines the schema for the user's profile. The `type` property is a map that identifies the [User Types](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserType/#tag/UserType). Currently it contains a single element, `id`. It can be specified when creating a new user, and ca be updated by an admin on a full replace of an existing user (but not a partial update). |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ Content-Type, search, filter, q, after, limit, sortBy, sortOrder, expand |
+ Lists users in your org, with pagination in most cases.
A subset of users can be returned that match a supported filter expression or search criteria. Different results are returned depending on specified queries in the request.
> **Note:** This operation omits users that have a status of `DEPROVISIONED` in the response. To return all users, use a filter or search query instead. |
+
+
+ |
+ |
+ subdomain |
+ Content-Type, expand |
+ Retrieves a user from your Okta org.
You can substitute `me` for the `id` to fetch the current user linked to an API token or session cookie. * The request returns the user linked to the API token that is specified in the Authorization header, not the user linked to the active session. Details of the admin user who granted the API token is returned. * When the end user has an active Okta session, it is typically a CORS request from the browser. Therefore, it's possible to retrieve the current user without the Authorization header.
When fetching a user by `login` or `login shortname`, [URL encode](https://developer.mozilla.org/en-US/docs/Glossary/Percent-encoding) the request parameter to ensure that special characters are escaped properly. Logins with a `/` character can only be fetched by `id` due to URL issues with escaping the `/` character. If you don't know a user's ID, you can use the [List all users](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#tag/User/operation/listUsers) endpoint to find it.
> **Note:** Some browsers block third-party cookies by default, which disrupts Okta functionality in certain flows. See [Mitigate the impact of third-party cookie deprecation](https://help.okta.com/okta_help.htm?type=oie&id=ext-third-party-cookies). |
+
+
+ |
+ |
+ subdomain |
+ activate, provider, nextLogin |
+ Creates a new user in your Okta org with or without credentials.<br> > **Legal Disclaimer** > > After a user is added to the Okta directory, they receive an activation email. As part of signing up for this service, > you agreed not to use Okta's service/product to spam and/or send unsolicited messages. > Please refrain from adding unrelated accounts to the directory as Okta is not responsible for, and disclaims any and all > liability associated with, the activation email's content. You, and you alone, bear responsibility for the emails sent to any recipients.
All responses return the created user. Activation of a user is an asynchronous operation. The system performs group reconciliation during activation and assigns the user to all apps via direct or indirect relationships (group memberships). * The user's `transitioningToStatus` property is `ACTIVE` during activation to indicate that the user hasn't completed the asynchronous operation. * The user's `status` is `ACTIVE` when the activation process is complete.
The user is emailed a one-time activation token if activated without a password.
> **Note:** If the user is assigned to an app that is configured for provisioning, the activation process triggers downstream provisioning to the app. It is possible for a user to sign in before these apps have been successfully provisioned for the user.
> **Important:** Do not generate or send a one-time activation token when activating users with an assigned password. Users should sign in with their assigned password.
For more information about the various scenarios of creating a user listed in the examples, see the [User creation scenarios](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#user-creation-scenarios) section. |
+
+
+ |
+ |
+ subdomain |
+ strict, If-Match |
+ Updates a user's profile or credentials with partial update semantics.
> **Important:** Use the `POST` method for partial updates. Unspecified properties are set to null with `PUT`.
`profile` and `credentials` can be updated independently or together with a single request. > **Note**: Currently, the user type of a user can only be changed via a full replacement PUT operation. If the request parameters of a partial update include the type element from the user object, the value must match the existing type of the user. Only admins are permitted to change the user type of a user; end users are not allowed to change their own user type.
> **Note**: To update a current user's profile with partial semantics, the `/api/v1/users/me` endpoint can be invoked. > > A user can only update profile properties for which the user has write access. Within the profile, if the user tries to update the primary or the secondary email IDs, verification emails are sent to those email IDs, and the fields are updated only upon verification.
If you are using this endpoint to set a password, it sets a password without validating existing user credentials. This is an administrative operation. For operations that validate credentials, refer to the [Reset password](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserCred/#tag/UserCred/operation/resetPassword), [Start forgot password flow](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserCred/#tag/UserCred/operation/forgotPassword), and [Update password](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserCred/#tag/UserCred/operation/changePassword) endpoints. |
+
+
+ |
+ |
+ subdomain |
+ strict, If-Match |
+ Replaces a user's profile, credentials, or both using strict-update semantics.
All profile properties must be specified when updating a user's profile with a `PUT` method. Any property not specified in the request is deleted. > **Important:** Don't use a `PUT` method for partial updates. |
+
+
+ |
+ |
+ subdomain |
+ sendEmail, Prefer |
+ Deletes a user permanently. This operation can only be performed on users that have a `DEPROVISIONED` status.
> **Warning:** This action can't be recovered!
This operation on a user that hasn't been deactivated causes that user to be deactivated. A second delete operation is required to delete the user.
> **Note:** You can also perform user deletion asynchronously. To invoke asynchronous user deletion, pass an HTTP header `Prefer: respond-async` with the request.
This header is also supported by user deactivation, which is performed if the delete endpoint is invoked on a user that hasn't been deactivated. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Ends Okta sessions for the currently signed in user. By default, the current session remains active. Use this method in a browser-based app. > **Note:** This operation requires a session cookie for the user. The API token isn't allowed for this operation. |
+
+
+ |
+ |
+ subdomain |
+ sendEmail |
+ Activates a user.
Perform this operation only on users with a `STAGED` or `DEPROVISIONED` status. Activation of a user is an asynchronous operation. * The user has the `transitioningToStatus` property with an `ACTIVE` value during activation. This indicates that the user hasn't completed the asynchronous operation. * The user has an `ACTIVE` status when the activation process completes.
Users who don't have a password must complete the welcome flow by visiting the activation link to complete the transition to `ACTIVE` status.
> **Note:** If you want to send a branded user activation email, change the subdomain of your request to the custom domain that's associated with the brand. > For example, change `subdomain.okta.com` to `custom.domain.one`. See [Multibrand and custom domains](https://developer.okta.com/docs/concepts/brands/#multibrand-and-custom-domains).
> **Note:** If you have optional password enabled, visiting the activation link is optional for users who aren't required to enroll a password. > See [Create user with optional password](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#create-user-with-optional-password).
> **Legal disclaimer** > After a user is added to the Okta directory, they receive an activation email. As part of signing up for this service, > you agreed not to use Okta's service/product to spam and/or send unsolicited messages. > Please refrain from adding unrelated accounts to the directory as Okta is not responsible for, and disclaims any and all > liability associated with, the activation email's content. You, and you alone, bear responsibility for the emails sent to any recipients. |
+
+
+ |
+ |
+ subdomain |
+ sendEmail, Prefer |
+ Deactivates a user.
Perform this operation only on users that do not have a `DEPROVISIONED` status. * The user's `transitioningToStatus` property is `DEPROVISIONED` during deactivation to indicate that the user hasn't completed the asynchronous operation. * The user's status is `DEPROVISIONED` when the deactivation process is complete.
> **Important:** Deactivating a user is a **destructive** operation. The user is deprovisioned from all assigned apps, which might destroy their data such as email or files. **This action cannot be recovered!**
You can also perform user deactivation asynchronously. To invoke asynchronous user deactivation, pass an HTTP header `Prefer: respond-async` with the request. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Expires the password. This operation transitions the user status to `PASSWORD_EXPIRED` so that the user must change their password the next time that they sign in. <br> If you have integrated Okta with your on-premises Active Directory (AD), then setting a user's password as expired in Okta also expires the password in AD. When the user tries to sign in to Okta, delegated authentication finds the password-expired status in AD, and the user is presented with the password-expired page where they can change their password.
> **Note:** The Okta account management policy doesn't support the `/users/{id}/lifecycle/expire_password` endpoint. See [Configure an Okta account management policy](https://developer.okta.com/docs/guides/okta-account-management-policy/main/). |
+
+
+ |
+ |
+ subdomain |
+ revokeSessions |
+ Expires the password and resets the user's password to a temporary password. This operation transitions the user status to `PASSWORD_EXPIRED` so that the user must change their password the next time that they sign in. The user's password is reset to a temporary password that's returned, and then the user's password is expired. If `revokeSessions` is included in the request with a value of `true`, the user's current outstanding sessions are revoked and require re-authentication. <br> If you have integrated Okta with your on-premises Active Directory (AD), then setting a user's password as expired in Okta also expires the password in AD. When the user tries to sign in to Okta, delegated authentication finds the password-expired status in AD, and the user is presented with the password-expired page where they can change their password. |
+
+
+ |
+ |
+ subdomain |
+ sendEmail |
+ Reactivates a user.
Perform this operation only on users with a `PROVISIONED` or `RECOVERY` [status](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#tag/User/operation/listUsers!c=200&path=status&t=response). This operation restarts the activation workflow if for some reason the user activation wasn't completed when using the `activationToken` from [Activate User](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserLifecycle/#tag/UserLifecycle/operation/activateUser).
Users that don't have a password must complete the flow by completing the [Reset password](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserCred/#tag/UserCred/operation/resetPassword) flow and MFA enrollment steps to transition the user to `ACTIVE` status.
If `sendEmail` is `false`, returns an activation link for the user to set up their account. The activation token can be used to create a custom activation link. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Resets all factors for the specified user. All MFA factor enrollments return to the unenrolled state. The user's status remains `ACTIVE`. This link is present only if the user is currently enrolled in one or more MFA factors. |
+
+
+ |
+ |
+ sendEmail, subdomain |
+ revokeSessions |
+ Resets a password. Generates a one-time token (OTT) that you can use to reset a user's password. You can automatically email the OTT link to the user or return the OTT to the API caller and distribute using a custom flow.
This operation transitions the user to the `RECOVERY` status. The user is then not able to sign in or initiate a forgot password flow until they complete the reset flow.
This operation provides an option to delete all the user's sessions. However, if the request is made in the context of a session owned by the specified user, that session isn't cleared. > **Note:** You can also use this API to convert a user with the Okta credential provider to use a federated provider. After this conversion, the user can't directly sign in with a password. > To convert a federated user back to an Okta user, use the default API call.
If an email address is associated with multiple users, keep in mind the following to ensure a successful password recovery lookup: * Okta no longer includes deactivated users in the lookup. * The lookup searches sign-in IDs first, then primary email addresses, and then secondary email addresses. If `sendEmail` is `false`, returns a link for the user to reset their password. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Suspends a user. Perform this operation only on users with an `ACTIVE` status. The user has a `SUSPENDED` status when the process completes.
Suspended users can't sign in to Okta. They can only be unsuspended or deactivated. Their group and app assignments are retained. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Unlocks a user with a `LOCKED_OUT` status or unlocks a user with an `ACTIVE` status that's blocked from unknown devices. Unlocked users have an `ACTIVE` status and can sign in with their current password. > **Note:** This operation works with Okta-sourced users. It doesn't support directory-sourced accounts such as Active Directory. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Unsuspends a user and returns them to the `ACTIVE` state. This operation can only be performed on users that have a `SUSPENDED` status. |
+
+
+ |
+ |
+ subdomain |
+ strict |
+ Updates a user's password by validating the user's current password.
This operation provides an option to delete all the sessions of the specified user. However, if the request is made in the context of a session owned by the specified user, that session isn't cleared.
You can only perform this operation on users in `STAGED`, `ACTIVE`, `PASSWORD_EXPIRED`, or `RECOVERY` status that have a valid [password credential](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#tag/User/operation/createUser!path=credentials/password&t=request).
The user transitions to `ACTIVE` status when successfully invoked in `RECOVERY` status.
> **Note:** The Okta account management policy doesn't support the `/users/{userId}/credentials/change_password` endpoint. See [Configure an Okta account management policy](https://developer.okta.com/docs/guides/okta-account-management-policy/main/). |
+
+
+ |
+ |
+ subdomain |
+ |
+ Updates a user's recovery question and answer credential by validating the user's current password. You can only perform this operation on users in `STAGED`, `ACTIVE`, or `RECOVERY` status that have a valid [password credential](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#tag/User/operation/createUser!path=credentials/password&t=request). |
+
+
+ |
+ |
+ subdomain |
+ sendEmail |
+ Starts the forgot password flow.
Generates a one-time token (OTT) that you can use to reset a user's password.
The user must validate their security question's answer when visiting the reset link. Perform this operation only on users with an `ACTIVE` status and a valid [recovery question credential](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#tag/User/operation/createUser!path=credentials/recovery_question&t=request).
> **Note:** If you have migrated to Identity Engine, you can allow users to recover passwords with any enrolled MFA authenticator. See [Self-service account recovery](https://help.okta.com/oie/en-us/content/topics/identity-engine/authenticators/configure-sspr.htm?cshid=ext-config-sspr).
If an email address is associated with multiple users, keep in mind the following to ensure a successful password recovery lookup: * Okta no longer includes deactivated users in the lookup. * The lookup searches sign-in IDs first, then primary email addresses, and then secondary email addresses.
If `sendEmail` is `false`, returns a link for the user to reset their password. This operation doesn't affect the status of the user. |
+
+
+ |
+ |
+ subdomain |
+ sendEmail |
+ Resets the user's password to the specified password if the provided answer to the recovery question is correct. You must include the recovery question answer with the submission. |
+
+
+ |
+ |
+ subdomain |
+ oauthTokens, forgetDevices |
+ Revokes all active identity provider sessions of the user. This forces the user to authenticate on the next operation. Optionally revokes OpenID Connect and OAuth refresh and access tokens issued to the user.
You can also clear the user's remembered factors for all devices using the `forgetDevices` parameter. See [forgetDevices](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserSessions/#tag/UserSessions/operation/revokeUserSessions!in=query&path=forgetDevices&t=request). > **Note:** This operation doesn't clear the sessions created for web or native apps. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ boolean |
+ |
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ Specifies the media type of the resource. Optional `okta-response` value can be included for performance optimization. Complex DelAuth configurations may degrade performance when fetching specific parts of the response, and passing this parameter can omit these parts, bypassing the bottleneck. Enum values for `okta-response`: * `omitCredentials`: Omits the credentials subobject from the response. * `omitCredentialsLinks`: Omits the following HAL links from the response: Update password, Change recovery question, Start forgot password flow, Reset password, Reset factors, Unlock. * `omitTransitioningToStatus`: Omits the `transitioningToStatus` field from the response. |
+
+
+ |
+ string |
+ The ETag value of the user's expected current state. This becomes a conditional request used for concurrency control. See [Conditional Requests and Entity Tags]https://developer.okta.com/docs/api#conditional-requests-and-entity-tags. (example: W/"1234567890abcdef") |
+
+
+ |
+ string |
+ Request asynchronous processing |
+
+
+ |
+ boolean |
+ Executes an [activation lifecycle](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserLifecycle/#tag/UserLifecycle/operation/activateUser) operation when creating the user |
+
+
+ |
+ string |
+ The cursor to use for pagination. It is an opaque string that specifies your current location in the list and is obtained from the `Link` response header. See [Pagination](https://developer.okta.com/docs/api/#pagination). |
+
+
+ |
+ string |
+ An optional parameter to include metadata in the `_embedded` attribute. Valid values: `blocks` or <x-lifecycle class="ea"></x-lifecycle> `classification`. |
+
+
+ |
+ string |
+ Filters users with a supported expression for a subset of properties. > **Note:** Returned users include those with the `DEPROVISIONED` status. This requires [URL encoding](https://developer.mozilla.org/en-US/docs/Glossary/Percent-encoding). For example, `filter=lastUpdated gt "2013-06-01T00:00:00.000Z"` is encoded as `filter=lastUpdated%20gt%20%222013-06-01T00:00:00.000Z%22`. Filtering is case-sensitive for property names and query values, while operators are case-insensitive. Filtering supports the following limited number of properties: `status`, `lastUpdated`, `id`, `profile.login`, `profile.email`, `profile.firstName`, and `profile.lastName`. Additionally, filtering supports only the equal `eq` operator from the standard Okta API filtering semantics, except in the case of the `lastUpdated` property. This property can also use the inequality operators (`gt`, `ge`, `lt`, and `le`). For logical operators, only the logical operators `and` and `or` are supported. The `not` operator isn't supported. See [Filter](https://developer.okta.com/docs/api/#filter) and [Operators](https://developer.okta.com/docs/api/#operators). |
+
+
+ |
+ boolean |
+ Clears the user's remembered factors for all devices. > **Note:** This parameter defaults to false in Classic Engine. |
+
+
+ |
+ integer (int32) |
+ Specifies the number of results returned. Defaults to 10 if `q` is provided. |
+
+
+ |
+ string |
+ With `activate=true`, if `nextLogin=changePassword`, a user is created, activated, and the password is set to `EXPIRED`. The user must change it the next time they sign in. |
+
+
+ |
+ boolean |
+ Revokes issued OpenID Connect and OAuth refresh and access tokens |
+
+
+ |
+ boolean |
+ Indicates whether to create a user with a specified authentication provider |
+
+
+ |
+ string |
+ Finds users who match the specified query. This doesn't support pagination. > **Note:** For optimal performance, use the `search` parameter instead. Use the `q` parameter for simple queries, such as a lookup of users by name when creating a people picker. The value of `q` is matched against `firstName`, `lastName`, or `email`. This performs a `startsWith` match, but this is an implementation detail and can change without notice. You don't need to specify `firstName`, `lastName`, or `email`. > **Note:** Using the `q` parameter in a request omits users that have a status of `DEPROVISIONED`. To return all users, use a filter or search query instead. |
+
+
+ |
+ boolean |
+ Revokes all user sessions, except for the current session, if set to `true` |
+
+
+ |
+ string |
+ Searches for users with a supported filtering expression for most properties. Okta recommends using this parameter for optimal search performance. > **Note:** Using an overly complex or long search query can result in an error. This operation supports [pagination](https://developer.okta.com/docs/api/#pagination). Use an ID lookup for records that you update to ensure your results contain the latest data. Returned users include those with the `DEPROVISIONED` status. Property names in the search parameter are case sensitive, whereas operators (`eq`, `sw`, and so on) and string values are case insensitive. Unlike with user logins, diacritical marks are significant in search string values: a search for `isaac.brock` finds `Isaac.Brock`, but doesn't find a property whose value is `isáà c.bröck`. This operation requires [URL encoding](https://developer.mozilla.org/en-US/docs/Glossary/Percent-encoding). For example, `search=profile.department eq "Engineering"` is encoded as `search=profile.department%20eq%20%22Engineering%22`. If you use the special character `"` within a quoted string, it must also be escaped `\` and encoded. For example, `search=profile.lastName eq "bob"smith"` is encoded as `search=profile.lastName%20eq%20%22bob%5C%22smith%22`. See [Special Characters](https://developer.okta.com/docs/api/#special-characters). This operation searches many properties: * Any user profile attribute, including custom-defined attributes * The top-level properties: `id`, `status`, `created`, `activated`, `statusChanged`, and `lastUpdated` * The [user type](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserType/#tag/UserType/operation/updateUserType) accessed as `type.id` > **Note:** <x-lifecycle class="ea"></x-lifecycle> The ability to search by user classification is available as an [Early Access](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/guides/release-lifecycle/#early-access-ea) feature. The `classification.type` property cannot be used in conjunction with other search terms. You can search using `classification.type eq "LITE"` or `classification.type eq "STANDARD"`. You can also use `sortBy` and `sortOrder` parameters. The `ne` (not equal) operator isn't supported, but you can obtain the same result by using `lt ... or ... gt`. For example, to see all users except those that have a status of `STAGED`, use `(status lt "STAGED" or status gt "STAGED")`. You can search properties that are arrays. If any element matches the search term, the entire array (object) is returned. Okta follows the [SCIM Protocol Specification](https://tools.ietf.org/html/rfc7644#section-3.4.2.2) for searching arrays. You can search multiple arrays, multiple values in an array, as well as using the standard logical and filtering operators. See [Filter](https://developer.okta.com/docs/reference/core-okta-api/#filter). Searches for users can be filtered by the following operators: `sw`, `eq`, and `co`. You can only use `co` with these select user profile attributes: `profile.firstName`, `profile.lastName`, `profile.email`, and `profile.login`. See [Operators](https://developer.okta.com/docs/api/#operators). |
+
+
+ |
+ boolean |
+ |
+
+
+ |
+ string |
+ Specifies field to sort by (for search queries only). This can be any single property, for example `sortBy=profile.lastName`. Users with the same value for the `sortBy` property will be ordered by `id`. |
+
+
+ |
+ string |
+ Specifies the sort order: `asc` or `desc` (for search queries only). Sorting is done in ASCII sort order (that is, by ASCII character value), but isn't case sensitive. `sortOrder` is ignored if `sortBy` isn't present. |
+
+
+ |
+ boolean |
+ If true, validates against the password minimum age policy |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists users in your org, with pagination in most cases.
A subset of users can be returned that match a supported filter expression or search criteria. Different results are returned depending on specified queries in the request.
> **Note:** This operation omits users that have a status of `DEPROVISIONED` in the response. To return all users, use a filter or search query instead.
+
+```sql
+SELECT
+id,
+_embedded,
+_links,
+activated,
+created,
+credentials,
+lastLogin,
+lastUpdated,
+passwordChanged,
+profile,
+realmId,
+status,
+statusChanged,
+transitioningToStatus,
+type
+FROM okta.users.users
+WHERE subdomain = '{{ subdomain }}' -- required
+AND Content-Type = '{{ Content-Type }}'
+AND search = '{{ search }}'
+AND filter = '{{ filter }}'
+AND q = '{{ q }}'
+AND after = '{{ after }}'
+AND limit = '{{ limit }}'
+AND sortBy = '{{ sortBy }}'
+AND sortOrder = '{{ sortOrder }}'
+AND expand = '{{ expand }}';
+```
+
+
+
+Retrieves a user from your Okta org.
You can substitute `me` for the `id` to fetch the current user linked to an API token or session cookie.
* The request returns the user linked to the API token that is specified in the Authorization header, not the user linked to the active session. Details of the admin user who granted the API token is returned.
* When the end user has an active Okta session, it is typically a CORS request from the browser. Therefore, it's possible to retrieve the current user without the Authorization header.
When fetching a user by `login` or `login shortname`, [URL encode](https://developer.mozilla.org/en-US/docs/Glossary/Percent-encoding) the request parameter to ensure that special characters are escaped properly. Logins with a `/` character can only be fetched by `id` due to URL issues with escaping the `/` character. If you don't know a user's ID, you can use the [List all users](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#tag/User/operation/listUsers) endpoint to find it.
> **Note:** Some browsers block third-party cookies by default, which disrupts Okta functionality in certain flows. See [Mitigate the impact of third-party cookie deprecation](https://help.okta.com/okta_help.htm?type=oie&id=ext-third-party-cookies).
+
+```sql
+SELECT
+id,
+_embedded,
+_links,
+activated,
+created,
+credentials,
+lastLogin,
+lastUpdated,
+passwordChanged,
+profile,
+realmId,
+status,
+statusChanged,
+transitioningToStatus,
+type
+FROM okta.users.users
+WHERE subdomain = '{{ subdomain }}' -- required
+AND Content-Type = '{{ Content-Type }}'
+AND expand = '{{ expand }}';
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Creates a new user in your Okta org with or without credentials.<br>
> **Legal Disclaimer**
>
> After a user is added to the Okta directory, they receive an activation email. As part of signing up for this service,
> you agreed not to use Okta's service/product to spam and/or send unsolicited messages.
> Please refrain from adding unrelated accounts to the directory as Okta is not responsible for, and disclaims any and all
> liability associated with, the activation email's content. You, and you alone, bear responsibility for the emails sent to any recipients.
All responses return the created user. Activation of a user is an asynchronous operation. The system performs group reconciliation during activation and assigns the user to all apps via direct or indirect relationships (group memberships).
* The user's `transitioningToStatus` property is `ACTIVE` during activation to indicate that the user hasn't completed the asynchronous operation.
* The user's `status` is `ACTIVE` when the activation process is complete.
The user is emailed a one-time activation token if activated without a password.
> **Note:** If the user is assigned to an app that is configured for provisioning, the activation process triggers downstream provisioning to the app. It is possible for a user to sign in before these apps have been successfully provisioned for the user.
> **Important:** Do not generate or send a one-time activation token when activating users with an assigned password. Users should sign in with their assigned password.
For more information about the various scenarios of creating a user listed in the examples, see the [User creation scenarios](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#user-creation-scenarios) section.
+
+```sql
+INSERT INTO okta.users.users (
+data__credentials,
+data__groupIds,
+data__profile,
+data__realmId,
+data__type,
+subdomain,
+activate,
+provider,
+nextLogin
+)
+SELECT
+'{{ credentials }}',
+'{{ groupIds }}',
+'{{ profile }}' --required,
+'{{ realmId }}',
+'{{ type }}',
+'{{ subdomain }}',
+'{{ activate }}',
+'{{ provider }}',
+'{{ nextLogin }}'
+RETURNING
+id,
+_embedded,
+_links,
+activated,
+created,
+credentials,
+lastLogin,
+lastUpdated,
+passwordChanged,
+profile,
+realmId,
+status,
+statusChanged,
+transitioningToStatus,
+type
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: users
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the users resource.
+ - name: credentials
+ value: object
+ description: >
+ Specifies primary authentication and recovery credentials for a user. Credential types and requirements vary depending on the provider and security policy of the org.
+
+ - name: groupIds
+ value: array
+ description: >
+ The list of group IDs of groups that the user is added to at the time of creation
+
+ - name: profile
+ value: object
+ description: >
+ Specifies the default and custom profile properties for a user.
+
+The default user profile is based on the [System for Cross-domain Identity Management: Core Schema](https://datatracker.ietf.org/doc/html/rfc7643).
+
+The only permitted customizations of the default profile are to update permissions, change whether the `firstName` and `lastName` properties are nullable, and specify a [pattern](https://developer.okta.com/docs/reference/api/schemas/#login-pattern-validation) for `login`. You can use the Profile Editor in the Admin Console or the [Schemas API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UISchema/#tag/UISchema) to make schema modifications.
+
+You can extend user profiles with custom properties. You must first add the custom property to the user profile schema before you reference it.
+You can use the Profile Editor in the Admin Console or the [Schemas API](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UISchema/#tag/UISchema) to manage schema extensions.
+
+Custom attributes can contain HTML tags. It's the client's responsibility to escape or encode this data before displaying it. Use [best-practices](https://cheatsheetseries.owasp.org/cheatsheets/Cross_Site_Scripting_Prevention_Cheat_Sheet.html) to prevent cross-site scripting.
+
+ - name: realmId
+ value: string
+ description: >
+ The ID of the realm in which the user is residing. See [Realms](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Realm/).
+
+ - name: type
+ value: object
+ description: >
+ The ID of the user type. Add this value if you want to create a user with a non-default [User Type](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserType/).
+The user type determines which [schema](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Schema/) applies to that user. After a user has been created, the user can
+only be assigned a different user type by an administrator through a full replacement (`PUT`) operation.
+
+ - name: activate
+ value: boolean
+ description: Executes an [activation lifecycle](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserLifecycle/#tag/UserLifecycle/operation/activateUser) operation when creating the user
+ - name: provider
+ value: boolean
+ description: Indicates whether to create a user with a specified authentication provider
+ - name: nextLogin
+ value: string
+ description: With `activate=true`, if `nextLogin=changePassword`, a user is created, activated, and the password is set to `EXPIRED`. The user must change it the next time they sign in.
+```
+
+
+
+
+## `UPDATE` examples
+
+
+
+
+Updates a user's profile or credentials with partial update semantics.
> **Important:** Use the `POST` method for partial updates. Unspecified properties are set to null with `PUT`.
`profile` and `credentials` can be updated independently or together with a single request.
> **Note**: Currently, the user type of a user can only be changed via a full replacement PUT operation. If the request parameters of a partial update include the type element from the user object,
the value must match the existing type of the user. Only admins are permitted to change the user type of a user; end users are not allowed to change their own user type.
> **Note**: To update a current user's profile with partial semantics, the `/api/v1/users/me` endpoint can be invoked.
>
> A user can only update profile properties for which the user has write access. Within the profile, if the user tries to update the primary or the secondary email IDs, verification emails are sent to those email IDs, and the fields are updated only upon verification.
If you are using this endpoint to set a password, it sets a password without validating existing user credentials. This is an administrative operation. For operations that validate credentials, refer to the [Reset password](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserCred/#tag/UserCred/operation/resetPassword), [Start forgot password flow](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserCred/#tag/UserCred/operation/forgotPassword), and [Update password](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserCred/#tag/UserCred/operation/changePassword) endpoints.
+
+```sql
+UPDATE okta.users.users
+SET
+data__credentials = '{{ credentials }}',
+data__profile = '{{ profile }}',
+data__realmId = '{{ realmId }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+AND strict = {{ strict}}
+AND If-Match = '{{ If-Match}}'
+RETURNING
+id,
+_embedded,
+_links,
+activated,
+created,
+credentials,
+lastLogin,
+lastUpdated,
+passwordChanged,
+profile,
+realmId,
+status,
+statusChanged,
+transitioningToStatus,
+type;
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces a user's profile, credentials, or both using strict-update semantics.
All profile properties must be specified when updating a user's profile with a `PUT` method. Any property not specified in the request is deleted.
> **Important:** Don't use a `PUT` method for partial updates.
+
+```sql
+REPLACE okta.users.users
+SET
+data__credentials = '{{ credentials }}',
+data__profile = '{{ profile }}',
+data__realmId = '{{ realmId }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+AND strict = {{ strict}}
+AND If-Match = '{{ If-Match}}'
+RETURNING
+id,
+_embedded,
+_links,
+activated,
+created,
+credentials,
+lastLogin,
+lastUpdated,
+passwordChanged,
+profile,
+realmId,
+status,
+statusChanged,
+transitioningToStatus,
+type;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes a user permanently. This operation can only be performed on users that have a `DEPROVISIONED` status.
> **Warning:** This action can't be recovered!
This operation on a user that hasn't been deactivated causes that user to be deactivated. A second delete operation is required to delete the user.
> **Note:** You can also perform user deletion asynchronously. To invoke asynchronous user deletion, pass an HTTP header `Prefer: respond-async` with the request.
This header is also supported by user deactivation, which is performed if the delete endpoint is invoked on a user that hasn't been deactivated.
+
+```sql
+DELETE FROM okta.users.users
+WHERE subdomain = '{{ subdomain }}' --required
+AND sendEmail = '{{ sendEmail }}'
+AND Prefer = '{{ Prefer }}';
+```
+
+
+
+
+## Lifecycle Methods
+
+
+
+
+Ends Okta sessions for the currently signed in user. By default, the current session remains active. Use this method in a browser-based app.
> **Note:** This operation requires a session cookie for the user. The API token isn't allowed for this operation.
+
+```sql
+EXEC okta.users.users.end_user_sessions
+@subdomain='{{ subdomain }}' --required
+@@json=
+'{
+"keepCurrent": {{ keepCurrent }}
+}';
+```
+
+
+
+Activates a user.
Perform this operation only on users with a `STAGED` or `DEPROVISIONED` status. Activation of a user is an asynchronous operation.
* The user has the `transitioningToStatus` property with an `ACTIVE` value during activation. This indicates that the user hasn't completed the asynchronous operation.
* The user has an `ACTIVE` status when the activation process completes.
Users who don't have a password must complete the welcome flow by visiting the activation link to complete the transition to `ACTIVE` status.
> **Note:** If you want to send a branded user activation email, change the subdomain of your request to the custom domain that's associated with the brand.
> For example, change `subdomain.okta.com` to `custom.domain.one`. See [Multibrand and custom domains](https://developer.okta.com/docs/concepts/brands/#multibrand-and-custom-domains).
> **Note:** If you have optional password enabled, visiting the activation link is optional for users who aren't required to enroll a password.
> See [Create user with optional password](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#create-user-with-optional-password).
> **Legal disclaimer**
> After a user is added to the Okta directory, they receive an activation email. As part of signing up for this service,
> you agreed not to use Okta's service/product to spam and/or send unsolicited messages.
> Please refrain from adding unrelated accounts to the directory as Okta is not responsible for, and disclaims any and all
> liability associated with, the activation email's content. You, and you alone, bear responsibility for the emails sent to any recipients.
+
+```sql
+EXEC okta.users.users.activate_user
+@subdomain='{{ subdomain }}' --required,
+@sendEmail={{ sendEmail }};
+```
+
+
+
+Deactivates a user.
Perform this operation only on users that do not have a `DEPROVISIONED` status.
* The user's `transitioningToStatus` property is `DEPROVISIONED` during deactivation to indicate that the user hasn't completed the asynchronous operation.
* The user's status is `DEPROVISIONED` when the deactivation process is complete.
> **Important:** Deactivating a user is a **destructive** operation. The user is deprovisioned from all assigned apps, which might destroy their data such as email or files.
**This action cannot be recovered!**
You can also perform user deactivation asynchronously. To invoke asynchronous user deactivation, pass an HTTP header `Prefer: respond-async` with the request.
+
+```sql
+EXEC okta.users.users.deactivate_user
+@subdomain='{{ subdomain }}' --required,
+@sendEmail={{ sendEmail }},
+@Prefer='{{ Prefer }}';
+```
+
+
+
+Expires the password. This operation transitions the user status to `PASSWORD_EXPIRED` so that the user must change their password the next time that they sign in.
<br>
If you have integrated Okta with your on-premises Active Directory (AD), then setting a user's password as expired in Okta also expires the password in AD.
When the user tries to sign in to Okta, delegated authentication finds the password-expired status in AD,
and the user is presented with the password-expired page where they can change their password.
> **Note:** The Okta account management policy doesn't support the `/users/{id}/lifecycle/expire_password` endpoint. See [Configure an Okta account management policy](https://developer.okta.com/docs/guides/okta-account-management-policy/main/).
+
+```sql
+EXEC okta.users.users.expire_password
+@subdomain='{{ subdomain }}' --required;
+```
+
+
+
+Expires the password and resets the user's password to a temporary password. This operation transitions the user status to `PASSWORD_EXPIRED` so that the user must change their password the next time that they sign in.
The user's password is reset to a temporary password that's returned, and then the user's password is expired.
If `revokeSessions` is included in the request with a value of `true`, the user's current outstanding sessions are revoked and require re-authentication.
<br>
If you have integrated Okta with your on-premises Active Directory (AD), then setting a user's password as expired in Okta also expires the password in AD.
When the user tries to sign in to Okta, delegated authentication finds the password-expired status in AD,
and the user is presented with the password-expired page where they can change their password.
+
+```sql
+EXEC okta.users.users.expire_password_with_temp_password
+@subdomain='{{ subdomain }}' --required,
+@revokeSessions={{ revokeSessions }};
+```
+
+
+
+Reactivates a user.
Perform this operation only on users with a `PROVISIONED` or `RECOVERY` [status](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#tag/User/operation/listUsers!c=200&path=status&t=response).
This operation restarts the activation workflow if for some reason the user activation wasn't completed when using the `activationToken` from [Activate User](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserLifecycle/#tag/UserLifecycle/operation/activateUser).
Users that don't have a password must complete the flow by completing the [Reset password](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserCred/#tag/UserCred/operation/resetPassword) flow and MFA enrollment steps to transition the user to `ACTIVE` status.
If `sendEmail` is `false`, returns an activation link for the user to set up their account. The activation token can be used to create a custom activation link.
+
+```sql
+EXEC okta.users.users.reactivate_user
+@subdomain='{{ subdomain }}' --required,
+@sendEmail={{ sendEmail }};
+```
+
+
+
+Resets all factors for the specified user. All MFA factor enrollments return to the unenrolled state. The user's status remains `ACTIVE`. This link is present only if the user is currently enrolled in one or more MFA factors.
+
+```sql
+EXEC okta.users.users.reset_factors
+@subdomain='{{ subdomain }}' --required;
+```
+
+
+
+Resets a password. Generates a one-time token (OTT) that you can use to reset a user's password. You can automatically email the OTT link to the user or return the OTT to the API caller and distribute using a custom flow.
This operation transitions the user to the `RECOVERY` status. The user is then not able to sign in or initiate a forgot password flow until they complete the reset flow.
This operation provides an option to delete all the user's sessions. However, if the request is made in the context of a session owned by the specified user, that session isn't cleared.
> **Note:** You can also use this API to convert a user with the Okta credential provider to use a federated provider. After this conversion, the user can't directly sign in with a password.
> To convert a federated user back to an Okta user, use the default API call.
If an email address is associated with multiple users, keep in mind the following to ensure a successful password recovery lookup:
* Okta no longer includes deactivated users in the lookup.
* The lookup searches sign-in IDs first, then primary email addresses, and then secondary email addresses.
If `sendEmail` is `false`, returns a link for the user to reset their password.
+
+```sql
+EXEC okta.users.users.reset_password
+@sendEmail='{{ sendEmail }}' --required,
+@subdomain='{{ subdomain }}' --required,
+@revokeSessions={{ revokeSessions }};
+```
+
+
+
+Suspends a user. Perform this operation only on users with an `ACTIVE` status. The user has a `SUSPENDED` status when the process completes.
Suspended users can't sign in to Okta. They can only be unsuspended or deactivated. Their group and app assignments are retained.
+
+```sql
+EXEC okta.users.users.suspend_user
+@subdomain='{{ subdomain }}' --required;
+```
+
+
+
+Unlocks a user with a `LOCKED_OUT` status or unlocks a user with an `ACTIVE` status that's blocked from unknown devices. Unlocked users have an `ACTIVE` status and can sign in with their current password.
> **Note:** This operation works with Okta-sourced users. It doesn't support directory-sourced accounts such as Active Directory.
+
+```sql
+EXEC okta.users.users.unlock_user
+@subdomain='{{ subdomain }}' --required;
+```
+
+
+
+Unsuspends a user and returns them to the `ACTIVE` state. This operation can only be performed on users that have a `SUSPENDED` status.
+
+```sql
+EXEC okta.users.users.unsuspend_user
+@subdomain='{{ subdomain }}' --required;
+```
+
+
+
+Updates a user's password by validating the user's current password.
This operation provides an option to delete all the sessions of the specified user. However, if the request is made in the context of a session owned by the specified user, that session isn't cleared.
You can only perform this operation on users in `STAGED`, `ACTIVE`, `PASSWORD_EXPIRED`, or `RECOVERY` status that have a valid [password credential](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#tag/User/operation/createUser!path=credentials/password&t=request).
The user transitions to `ACTIVE` status when successfully invoked in `RECOVERY` status.
> **Note:** The Okta account management policy doesn't support the `/users/{userId}/credentials/change_password` endpoint. See [Configure an Okta account management policy](https://developer.okta.com/docs/guides/okta-account-management-policy/main/).
+
+```sql
+EXEC okta.users.users.change_password
+@subdomain='{{ subdomain }}' --required,
+@strict={{ strict }}
+@@json=
+'{
+"newPassword": "{{ newPassword }}",
+"oldPassword": "{{ oldPassword }}",
+"revokeSessions": {{ revokeSessions }}
+}';
+```
+
+
+
+Updates a user's recovery question and answer credential by validating the user's current password.
You can only perform this operation on users in `STAGED`, `ACTIVE`, or `RECOVERY` status that have a valid [password credential](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#tag/User/operation/createUser!path=credentials/password&t=request).
+
+```sql
+EXEC okta.users.users.change_recovery_question
+@subdomain='{{ subdomain }}' --required
+@@json=
+'{
+"password": "{{ password }}",
+"recovery_question": "{{ recovery_question }}"
+}';
+```
+
+
+
+Starts the forgot password flow.
Generates a one-time token (OTT) that you can use to reset a user's password.
The user must validate their security question's answer when visiting the reset link. Perform this operation only on users with an `ACTIVE` status and
a valid [recovery question credential](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/#tag/User/operation/createUser!path=credentials/recovery_question&t=request).
> **Note:** If you have migrated to Identity Engine, you can allow users to recover passwords with any enrolled MFA authenticator. See [Self-service account recovery](https://help.okta.com/oie/en-us/content/topics/identity-engine/authenticators/configure-sspr.htm?cshid=ext-config-sspr).
If an email address is associated with multiple users, keep in mind the following to ensure a successful password recovery lookup:
* Okta no longer includes deactivated users in the lookup.
* The lookup searches sign-in IDs first, then primary email addresses, and then secondary email addresses.
If `sendEmail` is `false`, returns a link for the user to reset their password. This operation doesn't affect the status of the user.
+
+```sql
+EXEC okta.users.users.forgot_password
+@subdomain='{{ subdomain }}' --required,
+@sendEmail={{ sendEmail }};
+```
+
+
+
+Resets the user's password to the specified password if the provided answer to the recovery question is correct.
You must include the recovery question answer with the submission.
+
+```sql
+EXEC okta.users.users.forgot_password_set_new_password
+@subdomain='{{ subdomain }}' --required,
+@sendEmail={{ sendEmail }}
+@@json=
+'{
+"password": "{{ password }}",
+"recovery_question": "{{ recovery_question }}"
+}';
+```
+
+
+
+Revokes all active identity provider sessions of the user. This forces the user to authenticate on the next operation. Optionally revokes OpenID Connect and OAuth refresh and access tokens issued to the user.
You can also clear the user's remembered factors for all devices using the `forgetDevices` parameter. See [forgetDevices](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserSessions/#tag/UserSessions/operation/revokeUserSessions!in=query&path=forgetDevices&t=request).
> **Note:** This operation doesn't clear the sessions created for web or native apps.
+
+```sql
+EXEC okta.users.users.revoke_user_sessions
+@subdomain='{{ subdomain }}' --required,
+@oauthTokens={{ oauthTokens }},
+@forgetDevices={{ forgetDevices }};
+```
+
+
diff --git a/website/docs/services/webauthn_registration/enrollments/index.md b/website/docs/services/webauthn_registration/enrollments/index.md
new file mode 100644
index 0000000..fa88e88
--- /dev/null
+++ b/website/docs/services/webauthn_registration/enrollments/index.md
@@ -0,0 +1,327 @@
+---
+title: enrollments
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - enrollments
+ - webauthn_registration
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists an enrollments resource.
+
+## Overview
+
+| Name | enrollments |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ ID of the factor |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string (date-time) |
+ Timestamp indicating when the factor was enrolled |
+
+
+ |
+ string |
+ Type of factor |
+
+
+ |
+ string (date-time) |
+ Timestamp indicating when the factor was last updated |
+
+
+ |
+ object |
+ Specific attributes related to the factor |
+
+
+ |
+ string |
+ |
+
+
+ |
+ string |
+ Status of the factor (example: ACTIVE) |
+
+
+ |
+ string |
+ Name of the factor vendor. This is usually the same as the provider. (example: OKTA) |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ |
+ Lists all WebAuthn preregistration factors for the specified user |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes a specific WebAuthn preregistration factor for a user |
+
+
+ |
+ |
+ subdomain |
+ |
+ Activates a preregistered WebAuthn factor. As part of this operation, Okta first decrypts and verifies the factor PIN and enrollment data sent by the fulfillment provider. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Enrolls a preregistered WebAuthn factor. This WebAuthn factor has a longer challenge timeout period to accommodate the fulfillment request process. As part of this operation, Okta generates elliptic curve (EC) key-pairs used to encrypt the factor PIN and enrollment data sent by the fulfillment provider. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Generates a fulfillment request by sending a WebAuthn preregistration event to start the flow. The WebAuthn preregistration integration for Okta Workflows uses a preregistration event to populate the fulfillment request. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Sends the decoded PIN for the specified WebAuthn preregistration enrollment. PINs are sent to the user's email. To resend the PIN, call this operation again. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Assigns the fulfillment error status to a WebAuthn preregistration factor for a user. The `/mark-error` path indicates that the specific `FULFILLMENT_ERRORED` AuthFactor status is set on the enrollment. |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all WebAuthn preregistration factors for the specified user
+
+```sql
+SELECT
+id,
+_links,
+created,
+factorType,
+lastUpdated,
+profile,
+provider,
+status,
+vendorName
+FROM okta.webauthn_registration.enrollments
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes a specific WebAuthn preregistration factor for a user
+
+```sql
+DELETE FROM okta.webauthn_registration.enrollments
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
+
+
+## Lifecycle Methods
+
+
+
+
+Activates a preregistered WebAuthn factor. As part of this operation, Okta first decrypts and verifies the factor PIN and enrollment data sent by the fulfillment provider.
+
+```sql
+EXEC okta.webauthn_registration.enrollments.activate_preregistration_enrollment
+@subdomain='{{ subdomain }}' --required
+@@json=
+'{
+"credResponses": "{{ credResponses }}",
+"fulfillmentProvider": "{{ fulfillmentProvider }}",
+"pinResponseJwe": "{{ pinResponseJwe }}",
+"serial": "{{ serial }}",
+"userId": "{{ userId }}",
+"version": "{{ version }}",
+"yubicoSigningJwks": "{{ yubicoSigningJwks }}"
+}';
+```
+
+
+
+Enrolls a preregistered WebAuthn factor. This WebAuthn factor has a longer challenge timeout period to accommodate the fulfillment request process. As part of this operation, Okta generates elliptic curve (EC) key-pairs used to encrypt the factor PIN and enrollment data sent by the fulfillment provider.
+
+```sql
+EXEC okta.webauthn_registration.enrollments.enroll_preregistration_enrollment
+@subdomain='{{ subdomain }}' --required
+@@json=
+'{
+"enrollmentRpIds": "{{ enrollmentRpIds }}",
+"fulfillmentProvider": "{{ fulfillmentProvider }}",
+"userId": "{{ userId }}",
+"yubicoTransportKeyJWK": "{{ yubicoTransportKeyJWK }}"
+}';
+```
+
+
+
+Generates a fulfillment request by sending a WebAuthn preregistration event to start the flow. The WebAuthn preregistration integration for Okta Workflows uses a preregistration event to populate the fulfillment request.
+
+```sql
+EXEC okta.webauthn_registration.enrollments.generate_fulfillment_request
+@subdomain='{{ subdomain }}' --required
+@@json=
+'{
+"fulfillmentData": "{{ fulfillmentData }}",
+"fulfillmentProvider": "{{ fulfillmentProvider }}",
+"userId": "{{ userId }}"
+}';
+```
+
+
+
+Sends the decoded PIN for the specified WebAuthn preregistration enrollment. PINs are sent to the user's email. To resend the PIN, call this operation again.
+
+```sql
+EXEC okta.webauthn_registration.enrollments.send_pin
+@subdomain='{{ subdomain }}' --required
+@@json=
+'{
+"authenticatorEnrollmentId": "{{ authenticatorEnrollmentId }}",
+"fulfillmentProvider": "{{ fulfillmentProvider }}",
+"userId": "{{ userId }}"
+}';
+```
+
+
+
+Assigns the fulfillment error status to a WebAuthn preregistration factor for a user. The `/mark-error` path indicates that the specific `FULFILLMENT_ERRORED` AuthFactor status is set on the enrollment.
+
+```sql
+EXEC okta.webauthn_registration.enrollments.assign_fulfillment_error_web_authn_preregistration_factor
+@subdomain='{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docs/services/webauthn_registration/index.md b/website/docs/services/webauthn_registration/index.md
new file mode 100644
index 0000000..442d4bb
--- /dev/null
+++ b/website/docs/services/webauthn_registration/index.md
@@ -0,0 +1,33 @@
+---
+title: webauthn_registration
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - webauthn_registration
+ - okta
+ - stackql
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+webauthn_registration service documentation.
+
+:::info[Service Summary]
+
+total resources: __1__
+
+:::
+
+## Resources
+
\ No newline at end of file
diff --git a/website/docs/services/zones/index.md b/website/docs/services/zones/index.md
new file mode 100644
index 0000000..5311665
--- /dev/null
+++ b/website/docs/services/zones/index.md
@@ -0,0 +1,33 @@
+---
+title: zones
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - zones
+ - okta
+ - stackql
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+zones service documentation.
+
+:::info[Service Summary]
+
+total resources: __1__
+
+:::
+
+## Resources
+
\ No newline at end of file
diff --git a/website/docs/services/zones/network_zones/index.md b/website/docs/services/zones/network_zones/index.md
new file mode 100644
index 0000000..9348fb2
--- /dev/null
+++ b/website/docs/services/zones/network_zones/index.md
@@ -0,0 +1,483 @@
+---
+title: network_zones
+hide_title: false
+hide_table_of_contents: false
+keywords:
+ - network_zones
+ - zones
+ - okta
+ - infrastructure-as-code
+ - configuration-as-data
+ - cloud inventory
+description: Query, deploy and manage okta resources using SQL
+custom_edit_url: null
+image: /img/stackql-okta-provider-featured-image.png
+---
+
+import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+Creates, updates, deletes, gets or lists a network_zones resource.
+
+## Overview
+
+| Name | network_zones |
+| Type | Resource |
+| Id | |
+
+
+## Fields
+
+The following fields are returned by `SELECT` queries:
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Unique identifier for the Network Zone |
+
+
+ |
+ string |
+ Unique name for this Network Zone |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was created |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was last modified |
+
+
+ |
+ string |
+ Network Zone status |
+
+
+ |
+ boolean |
+ Indicates a system Network Zone: * `true` for system Network Zones * `false` for custom Network Zones The Okta org provides the following default system Network Zones: * `LegacyIpZone` * `BlockedIpZone` * `DefaultEnhancedDynamicZone` * `DefaultExemptIpZone` Admins can modify the name of the default system Network Zone and add up to 5000 gateway or proxy IP entries. |
+
+
+ |
+ string |
+ The type of Network Zone |
+
+
+ |
+ string |
+ The usage of the Network Zone |
+
+
+
+
+
+
+Success
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ Unique identifier for the Network Zone |
+
+
+ |
+ string |
+ Unique name for this Network Zone |
+
+
+ |
+ object |
+ Specifies link relations (see [Web Linking](https://www.rfc-editor.org/rfc/rfc8288)) available using the [JSON Hypertext Application Language](https://datatracker.ietf.org/doc/html/draft-kelly-json-hal-06) specification. This object is used for dynamic discovery of related resources and lifecycle operations. |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was created |
+
+
+ |
+ string (date-time) |
+ Timestamp when the object was last modified |
+
+
+ |
+ string |
+ Network Zone status |
+
+
+ |
+ boolean |
+ Indicates a system Network Zone: * `true` for system Network Zones * `false` for custom Network Zones The Okta org provides the following default system Network Zones: * `LegacyIpZone` * `BlockedIpZone` * `DefaultEnhancedDynamicZone` * `DefaultExemptIpZone` Admins can modify the name of the default system Network Zone and add up to 5000 gateway or proxy IP entries. |
+
+
+ |
+ string |
+ The type of Network Zone |
+
+
+ |
+ string |
+ The usage of the Network Zone |
+
+
+
+
+
+
+## Methods
+
+The following methods are available for this resource:
+
+
+
+
+ | Name |
+ Accessible by |
+ Required Params |
+ Optional Params |
+ Description |
+
+
+
+
+ |
+ |
+ subdomain |
+ after, limit, filter |
+ Lists all Network Zones with pagination. A subset of zones can be returned that match a supported filter expression or query.
This operation requires URL encoding. For example, `filter=(id eq "nzoul0wf9jyb8xwZm0g3" or id eq "nzoul1MxmGN18NDQT0g3")` is encoded as `filter=%28id+eq+%22nzoul0wf9jyb8xwZm0g3%22+or+id+eq+%22nzoul1MxmGN18NDQT0g3%22%29`.
Okta supports filtering on the `id`, `usage`, and `system` properties. See [Filter](https://developer.okta.com/docs/api/#filter) for more information on the expressions that are used in filtering. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Retrieves a Network Zone by `zoneId` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Creates a Network Zone * For an IP Network Zone, you must define either `gateways` or `proxies`. * For a Dynamic Network Zone, you must define at least one of the following: `asns`, `locations`, or `proxyType`. * For an Enhanced Dynamic Network Zone, you must define at least one of the following: `asns`, `locations`, or `ipServiceCategories`. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Replaces a Network Zone by `zoneId`. The replaced Network Zone type must be the same as the existing type. You can replace the usage (`POLICY`, `BLOCKLIST`) of a Network Zone by updating the `usage` attribute.
**IP exempt zone**<br> If you have the IP exempt zone feature enabled, you can allow traffic from specific gateway IPs irrespective of Okta ThreatInsight configurations, blocked network zones, or IP change events within Identity Threat Protection with Okta AI.<br> <br> When you enable this feature, Okta creates a zone called `DefaultExemptIpZone`. Gateway IPs that you add to this zone always have access to Okta resources. See [IP exempt zone](https://help.okta.com/okta_help.htm?type=oie&id=csh-about-ip-exempt-zone).
> **Note:** You can't add trusted proxy IPs to this zone, delete the zone, or create additional exempt IP zones. |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deletes a Network Zone by `zoneId` > **Notes:** > * You can't delete a Network Zone that's used by a [Policy](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Policy/) or [Rule](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Policy/#tag/Policy/operation/listPolicyRules). > * For Okta Identity Engine orgs, you can't delete a Network Zone with an ACTIVE `status`. <x-lifecycle class="oie"></x-lifecycle> |
+
+
+ |
+ |
+ subdomain |
+ |
+ Activates a Network Zone by `zoneId` |
+
+
+ |
+ |
+ subdomain |
+ |
+ Deactivates a Network Zone by `zoneId` |
+
+
+
+
+## Parameters
+
+Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation.
+
+
+
+
+ | Name |
+ Datatype |
+ Description |
+
+
+
+
+ |
+ string |
+ The domain of your organization. This can be a provided subdomain of an official okta domain (okta.com, oktapreview.com, etc) or one of your configured custom domains. (default: my-org) |
+
+
+ |
+ string |
+ |
+
+
+ |
+ string |
+ |
+
+
+ |
+ integer (int32) |
+ |
+
+
+
+
+## `SELECT` examples
+
+
+
+
+Lists all Network Zones with pagination. A subset of zones can be returned that match a supported filter expression or query.
This operation requires URL encoding. For example, `filter=(id eq "nzoul0wf9jyb8xwZm0g3" or id eq "nzoul1MxmGN18NDQT0g3")` is encoded as `filter=%28id+eq+%22nzoul0wf9jyb8xwZm0g3%22+or+id+eq+%22nzoul1MxmGN18NDQT0g3%22%29`.
Okta supports filtering on the `id`, `usage`, and `system` properties. See [Filter](https://developer.okta.com/docs/api/#filter) for more information on the expressions that are used in filtering.
+
+```sql
+SELECT
+id,
+name,
+_links,
+created,
+lastUpdated,
+status,
+system,
+type,
+usage
+FROM okta.zones.network_zones
+WHERE subdomain = '{{ subdomain }}' -- required
+AND after = '{{ after }}'
+AND limit = '{{ limit }}'
+AND filter = '{{ filter }}';
+```
+
+
+
+Retrieves a Network Zone by `zoneId`
+
+```sql
+SELECT
+id,
+name,
+_links,
+created,
+lastUpdated,
+status,
+system,
+type,
+usage
+FROM okta.zones.network_zones
+WHERE subdomain = '{{ subdomain }}' -- required;
+```
+
+
+
+
+## `INSERT` examples
+
+
+
+
+Creates a Network Zone
* For an IP Network Zone, you must define either `gateways` or `proxies`.
* For a Dynamic Network Zone, you must define at least one of the following: `asns`, `locations`, or `proxyType`.
* For an Enhanced Dynamic Network Zone, you must define at least one of the following: `asns`, `locations`, or `ipServiceCategories`.
+
+```sql
+INSERT INTO okta.zones.network_zones (
+data__name,
+data__status,
+data__type,
+data__usage,
+subdomain
+)
+SELECT
+'{{ name }}' --required,
+'{{ status }}',
+'{{ type }}' --required,
+'{{ usage }}',
+'{{ subdomain }}'
+RETURNING
+id,
+name,
+_links,
+created,
+lastUpdated,
+status,
+system,
+type,
+usage
+;
+```
+
+
+
+```yaml
+# Description fields are for documentation purposes
+- name: network_zones
+ props:
+ - name: subdomain
+ value: string
+ description: Required parameter for the network_zones resource.
+ - name: name
+ value: string
+ description: >
+ Unique name for this Network Zone
+
+ - name: status
+ value: string
+ description: >
+ Network Zone status
+
+ valid_values: ['ACTIVE', 'INACTIVE']
+ - name: type
+ value: string
+ description: >
+ The type of Network Zone
+
+ valid_values: ['DYNAMIC', 'IP', 'DYNAMIC_V2']
+ - name: usage
+ value: string
+ description: >
+ The usage of the Network Zone
+
+ valid_values: ['BLOCKLIST', 'POLICY']
+```
+
+
+
+
+## `REPLACE` examples
+
+
+
+
+Replaces a Network Zone by `zoneId`. The replaced Network Zone type must be the same as the existing type.
You can replace the usage (`POLICY`, `BLOCKLIST`) of a Network Zone by updating the `usage` attribute.
**IP exempt zone**<br>
If you have the IP exempt zone feature enabled, you can allow traffic from specific gateway IPs irrespective of Okta ThreatInsight configurations, blocked network zones, or IP change events within Identity Threat Protection with Okta AI.<br>
<br>
When you enable this feature, Okta creates a zone called `DefaultExemptIpZone`. Gateway IPs that you add to this zone always have access to Okta resources. See [IP exempt zone](https://help.okta.com/okta_help.htm?type=oie&id=csh-about-ip-exempt-zone).
> **Note:** You can't add trusted proxy IPs to this zone, delete the zone, or create additional exempt IP zones.
+
+```sql
+REPLACE okta.zones.network_zones
+SET
+data__name = '{{ name }}',
+data__status = '{{ status }}',
+data__type = '{{ type }}',
+data__usage = '{{ usage }}'
+WHERE
+subdomain = '{{ subdomain }}' --required
+AND data__name = '{{ name }}' --required
+AND data__type = '{{ type }}' --required
+RETURNING
+id,
+name,
+_links,
+created,
+lastUpdated,
+status,
+system,
+type,
+usage;
+```
+
+
+
+
+## `DELETE` examples
+
+
+
+
+Deletes a Network Zone by `zoneId`
> **Notes:**
> * You can't delete a Network Zone that's used by a [Policy](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Policy/) or [Rule](https://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/apihttps://developer.okta.com/docs/api/openapi/okta-management/management/tag/Policy/#tag/Policy/operation/listPolicyRules).
> * For Okta Identity Engine orgs, you can't delete a Network Zone with an ACTIVE `status`. <x-lifecycle class="oie"></x-lifecycle>
+
+```sql
+DELETE FROM okta.zones.network_zones
+WHERE subdomain = '{{ subdomain }}' --required;
+```
+
+
+
+
+## Lifecycle Methods
+
+
+
+
+Activates a Network Zone by `zoneId`
+
+```sql
+EXEC okta.zones.network_zones.activate_network_zone
+@subdomain='{{ subdomain }}' --required;
+```
+
+
+
+Deactivates a Network Zone by `zoneId`
+
+```sql
+EXEC okta.zones.network_zones.deactivate_network_zone
+@subdomain='{{ subdomain }}' --required;
+```
+
+
diff --git a/website/docusaurus.config.js b/website/docusaurus.config.js
index 66b4f57..8f608d5 100644
--- a/website/docusaurus.config.js
+++ b/website/docusaurus.config.js
@@ -7,8 +7,8 @@
import {themes as prismThemes} from 'prism-react-renderer';
// Provider configuration - change these for different providers
-const providerName = "snowflake";
-const providerTitle = "Snowflake";
+const providerName = "okta";
+const providerTitle = "Okta";
const providerDropDownListItems = [
{
@@ -111,7 +111,7 @@ const config = {
organizationName: 'stackql', // Usually your GitHub org/user name.
projectName: `stackql-provider-${providerName}`, // Usually your repo name.
- onBrokenLinks: 'throw',
+ onBrokenLinks: 'warn',
onBrokenMarkdownLinks: 'warn',
// Even if you don't use internationalization, you can use this field to set
diff --git a/website/static/img/stackql-okta-provider-featured-image.png b/website/static/img/stackql-okta-provider-featured-image.png
new file mode 100644
index 0000000..657833a
Binary files /dev/null and b/website/static/img/stackql-okta-provider-featured-image.png differ
diff --git a/website/static/img/stackql-snowflake-provider-featured-image.png b/website/static/img/stackql-snowflake-provider-featured-image.png
deleted file mode 100644
index 343a76d..0000000
Binary files a/website/static/img/stackql-snowflake-provider-featured-image.png and /dev/null differ
diff --git a/website/static/img/update-ssfeat-flowchart.png b/website/static/img/update-ssfeat-flowchart.png
new file mode 100644
index 0000000..a63648a
Binary files /dev/null and b/website/static/img/update-ssfeat-flowchart.png differ
diff --git a/website/yarn.lock b/website/yarn.lock
new file mode 100644
index 0000000..471b750
--- /dev/null
+++ b/website/yarn.lock
@@ -0,0 +1,9081 @@
+# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
+# yarn lockfile v1
+
+
+"@algolia/abtesting@1.2.0":
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/@algolia/abtesting/-/abtesting-1.2.0.tgz#6b32151773980ff16b3d72563c916bf5c7755051"
+ integrity sha512-Z6Liq7US5CpdHExZLfPMBPxQHHUObV587kGvCLniLr1UTx0fGFIeGNWd005WIqQXqEda9GyAi7T2e7DUupVv0g==
+ dependencies:
+ "@algolia/client-common" "5.36.0"
+ "@algolia/requester-browser-xhr" "5.36.0"
+ "@algolia/requester-fetch" "5.36.0"
+ "@algolia/requester-node-http" "5.36.0"
+
+"@algolia/autocomplete-core@1.17.9":
+ version "1.17.9"
+ resolved "https://registry.yarnpkg.com/@algolia/autocomplete-core/-/autocomplete-core-1.17.9.tgz#83374c47dc72482aa45d6b953e89377047f0dcdc"
+ integrity sha512-O7BxrpLDPJWWHv/DLA9DRFWs+iY1uOJZkqUwjS5HSZAGcl0hIVCQ97LTLewiZmZ402JYUrun+8NqFP+hCknlbQ==
+ dependencies:
+ "@algolia/autocomplete-plugin-algolia-insights" "1.17.9"
+ "@algolia/autocomplete-shared" "1.17.9"
+
+"@algolia/autocomplete-plugin-algolia-insights@1.17.9":
+ version "1.17.9"
+ resolved "https://registry.yarnpkg.com/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.17.9.tgz#74c86024d09d09e8bfa3dd90b844b77d9f9947b6"
+ integrity sha512-u1fEHkCbWF92DBeB/KHeMacsjsoI0wFhjZtlCq2ddZbAehshbZST6Hs0Avkc0s+4UyBGbMDnSuXHLuvRWK5iDQ==
+ dependencies:
+ "@algolia/autocomplete-shared" "1.17.9"
+
+"@algolia/autocomplete-preset-algolia@1.17.9":
+ version "1.17.9"
+ resolved "https://registry.yarnpkg.com/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.17.9.tgz#911f3250544eb8ea4096fcfb268f156b085321b5"
+ integrity sha512-Na1OuceSJeg8j7ZWn5ssMu/Ax3amtOwk76u4h5J4eK2Nx2KB5qt0Z4cOapCsxot9VcEN11ADV5aUSlQF4RhGjQ==
+ dependencies:
+ "@algolia/autocomplete-shared" "1.17.9"
+
+"@algolia/autocomplete-shared@1.17.9":
+ version "1.17.9"
+ resolved "https://registry.yarnpkg.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.17.9.tgz#5f38868f7cb1d54b014b17a10fc4f7e79d427fa8"
+ integrity sha512-iDf05JDQ7I0b7JEA/9IektxN/80a2MZ1ToohfmNS3rfeuQnIKI3IJlIafD0xu4StbtQTghx9T3Maa97ytkXenQ==
+
+"@algolia/client-abtesting@5.36.0":
+ version "5.36.0"
+ resolved "https://registry.yarnpkg.com/@algolia/client-abtesting/-/client-abtesting-5.36.0.tgz#a570dfb55c7345ad5ee608dc55500496f8d52f4e"
+ integrity sha512-uGr57O1UqDDeZHYXr1VnUomtdgQMxb6fS8yC/LXCMOn5ucN4k6FlcCRqXQnUyiiFZNG/rVK3zpRiyomq4JWXdQ==
+ dependencies:
+ "@algolia/client-common" "5.36.0"
+ "@algolia/requester-browser-xhr" "5.36.0"
+ "@algolia/requester-fetch" "5.36.0"
+ "@algolia/requester-node-http" "5.36.0"
+
+"@algolia/client-analytics@5.36.0":
+ version "5.36.0"
+ resolved "https://registry.yarnpkg.com/@algolia/client-analytics/-/client-analytics-5.36.0.tgz#d74b4e2743003a2608e430c09d1593ad767d853e"
+ integrity sha512-/zrf0NMxcvBBQ4r9lIqM7rMt7oI7gY7bZ+bNcgpZAQMvzXbKJVla3MqKGuPC/bfOthKvAcAr0mCZ8/7GwBmkVw==
+ dependencies:
+ "@algolia/client-common" "5.36.0"
+ "@algolia/requester-browser-xhr" "5.36.0"
+ "@algolia/requester-fetch" "5.36.0"
+ "@algolia/requester-node-http" "5.36.0"
+
+"@algolia/client-common@5.36.0":
+ version "5.36.0"
+ resolved "https://registry.yarnpkg.com/@algolia/client-common/-/client-common-5.36.0.tgz#c09fe676589f15addf73d67fcfb46196903b5889"
+ integrity sha512-fDsg9w6xXWQyNkm/VfiWF2D9wnpTPv0fRVei7lWtz7cXJewhOmP1kKE2GaDTI4QDxVxgDkoPJ1+3UVMIzTcjjQ==
+
+"@algolia/client-insights@5.36.0":
+ version "5.36.0"
+ resolved "https://registry.yarnpkg.com/@algolia/client-insights/-/client-insights-5.36.0.tgz#6708cc247bd21a8c1d50cc6d122a222898484465"
+ integrity sha512-x6ZICyIN3BZjja47lqlMLG+AZwfx9wrYWttd6Daxp+wX/fFGxha6gdqxeoi5J44BmFqK8CUU4u8vpwHqGOCl4g==
+ dependencies:
+ "@algolia/client-common" "5.36.0"
+ "@algolia/requester-browser-xhr" "5.36.0"
+ "@algolia/requester-fetch" "5.36.0"
+ "@algolia/requester-node-http" "5.36.0"
+
+"@algolia/client-personalization@5.36.0":
+ version "5.36.0"
+ resolved "https://registry.yarnpkg.com/@algolia/client-personalization/-/client-personalization-5.36.0.tgz#1dc35b54c0dbb651d8e1ff859e9a33e5e1d33f2d"
+ integrity sha512-gnH9VHrC+/9OuaumbgxNXzzEq1AY2j3tm00ymNXNz35T7RQ2AK/x4T5b2UnjOUJejuXaSJ88gFyPk3nM5OhJZQ==
+ dependencies:
+ "@algolia/client-common" "5.36.0"
+ "@algolia/requester-browser-xhr" "5.36.0"
+ "@algolia/requester-fetch" "5.36.0"
+ "@algolia/requester-node-http" "5.36.0"
+
+"@algolia/client-query-suggestions@5.36.0":
+ version "5.36.0"
+ resolved "https://registry.yarnpkg.com/@algolia/client-query-suggestions/-/client-query-suggestions-5.36.0.tgz#e3d60d902c8b4f40b7ef3d515963b140335c8623"
+ integrity sha512-GkWIS+cAMoxsNPHEp3j7iywO9JJMVHVCWHzPPHFXIe0iNIOfsnZy5MqC1T9sifjqoU9b0GGbzzdxB3TEdwfiFA==
+ dependencies:
+ "@algolia/client-common" "5.36.0"
+ "@algolia/requester-browser-xhr" "5.36.0"
+ "@algolia/requester-fetch" "5.36.0"
+ "@algolia/requester-node-http" "5.36.0"
+
+"@algolia/client-search@5.36.0":
+ version "5.36.0"
+ resolved "https://registry.yarnpkg.com/@algolia/client-search/-/client-search-5.36.0.tgz#ed71d9d3e29254ac6529c7d58d3e06e5ca37b4ca"
+ integrity sha512-MLx32nSeDSNxfx28IfvwfHEfeo3AYe9JgEj0rLeYtJGmt0W30K6tCNokxhWGUUKrggQTH6H1lnohWsoj2OC2bw==
+ dependencies:
+ "@algolia/client-common" "5.36.0"
+ "@algolia/requester-browser-xhr" "5.36.0"
+ "@algolia/requester-fetch" "5.36.0"
+ "@algolia/requester-node-http" "5.36.0"
+
+"@algolia/events@^4.0.1":
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/@algolia/events/-/events-4.0.1.tgz#fd39e7477e7bc703d7f893b556f676c032af3950"
+ integrity sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==
+
+"@algolia/ingestion@1.36.0":
+ version "1.36.0"
+ resolved "https://registry.yarnpkg.com/@algolia/ingestion/-/ingestion-1.36.0.tgz#a2d0776a39c90046e37d68304f07c094b59aefa6"
+ integrity sha512-6zmlPLCsyzShOsfs1G1uqxwLTojte3NLyukwyUmJFfa46DSq3wkIOE9hFtqAoV951dXp4sZd2KCFYJmgRjcYbA==
+ dependencies:
+ "@algolia/client-common" "5.36.0"
+ "@algolia/requester-browser-xhr" "5.36.0"
+ "@algolia/requester-fetch" "5.36.0"
+ "@algolia/requester-node-http" "5.36.0"
+
+"@algolia/monitoring@1.36.0":
+ version "1.36.0"
+ resolved "https://registry.yarnpkg.com/@algolia/monitoring/-/monitoring-1.36.0.tgz#d6d44367e216552489dc8d4c24df710dedd2f8cd"
+ integrity sha512-SjJeDqlzAKJiWhquqfDWLEu5X/PIM+5KvUH65c4LBvt8T+USOVJbijtzA9UHZ1eUIfFSDBmbzEH0YvlS6Di2mg==
+ dependencies:
+ "@algolia/client-common" "5.36.0"
+ "@algolia/requester-browser-xhr" "5.36.0"
+ "@algolia/requester-fetch" "5.36.0"
+ "@algolia/requester-node-http" "5.36.0"
+
+"@algolia/recommend@5.36.0":
+ version "5.36.0"
+ resolved "https://registry.yarnpkg.com/@algolia/recommend/-/recommend-5.36.0.tgz#901d10137db20c283f521ed1d5f8c1192ecae911"
+ integrity sha512-FalJm3h9fwoZZpkkMpA0r4Grcvjk32FzmC4CXvlpyF/gBvu6pXE01yygjJBU20zGVLGsXU+Ad8nYPf+oGD7Zkg==
+ dependencies:
+ "@algolia/client-common" "5.36.0"
+ "@algolia/requester-browser-xhr" "5.36.0"
+ "@algolia/requester-fetch" "5.36.0"
+ "@algolia/requester-node-http" "5.36.0"
+
+"@algolia/requester-browser-xhr@5.36.0":
+ version "5.36.0"
+ resolved "https://registry.yarnpkg.com/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.36.0.tgz#972d8a67f4c42ced745dc8b3ae786a14e06771da"
+ integrity sha512-weE9SImWIDmQrfGLb1pSPEfP3mioKQ84GaQRpUmjFxlxG/4nW2bSsmkV+kNp1s+iomL2gnxFknSmcQuuAy+kPA==
+ dependencies:
+ "@algolia/client-common" "5.36.0"
+
+"@algolia/requester-fetch@5.36.0":
+ version "5.36.0"
+ resolved "https://registry.yarnpkg.com/@algolia/requester-fetch/-/requester-fetch-5.36.0.tgz#eb13396ae2cbfe6795f90ea6f9b0e575f21a52ac"
+ integrity sha512-zGPI2sgzvOwCHTVMmDvc301iirOKCtJ+Egh+HQB/+DG0zTGUT1DpdwQVT25A7Yin/twnO8CkFpI/S+74FVYNjg==
+ dependencies:
+ "@algolia/client-common" "5.36.0"
+
+"@algolia/requester-node-http@5.36.0":
+ version "5.36.0"
+ resolved "https://registry.yarnpkg.com/@algolia/requester-node-http/-/requester-node-http-5.36.0.tgz#895cc5127e3e87310affbfd8f90a37572d9cd683"
+ integrity sha512-dNbBGE/O6VG/6vFhv3CFm5za4rubAVrhQf/ef0YWiDqPMmalPxGEzIijw4xV1mU1JmX2ffyp/x8Kdtz24sDkOQ==
+ dependencies:
+ "@algolia/client-common" "5.36.0"
+
+"@ampproject/remapping@^2.2.0":
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.3.0.tgz#ed441b6fa600072520ce18b43d2c8cc8caecc7f4"
+ integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==
+ dependencies:
+ "@jridgewell/gen-mapping" "^0.3.5"
+ "@jridgewell/trace-mapping" "^0.3.24"
+
+"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.27.1.tgz#200f715e66d52a23b221a9435534a91cc13ad5be"
+ integrity sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==
+ dependencies:
+ "@babel/helper-validator-identifier" "^7.27.1"
+ js-tokens "^4.0.0"
+ picocolors "^1.1.1"
+
+"@babel/compat-data@^7.27.2", "@babel/compat-data@^7.27.7", "@babel/compat-data@^7.28.0":
+ version "7.28.0"
+ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.28.0.tgz#9fc6fd58c2a6a15243cd13983224968392070790"
+ integrity sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==
+
+"@babel/core@^7.21.3", "@babel/core@^7.25.9":
+ version "7.28.3"
+ resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.28.3.tgz#aceddde69c5d1def69b839d09efa3e3ff59c97cb"
+ integrity sha512-yDBHV9kQNcr2/sUr9jghVyz9C3Y5G2zUM2H2lo+9mKv4sFgbA8s8Z9t8D1jiTkGoO/NoIfKMyKWr4s6CN23ZwQ==
+ dependencies:
+ "@ampproject/remapping" "^2.2.0"
+ "@babel/code-frame" "^7.27.1"
+ "@babel/generator" "^7.28.3"
+ "@babel/helper-compilation-targets" "^7.27.2"
+ "@babel/helper-module-transforms" "^7.28.3"
+ "@babel/helpers" "^7.28.3"
+ "@babel/parser" "^7.28.3"
+ "@babel/template" "^7.27.2"
+ "@babel/traverse" "^7.28.3"
+ "@babel/types" "^7.28.2"
+ convert-source-map "^2.0.0"
+ debug "^4.1.0"
+ gensync "^1.0.0-beta.2"
+ json5 "^2.2.3"
+ semver "^6.3.1"
+
+"@babel/generator@^7.25.9", "@babel/generator@^7.28.3":
+ version "7.28.3"
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.28.3.tgz#9626c1741c650cbac39121694a0f2d7451b8ef3e"
+ integrity sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==
+ dependencies:
+ "@babel/parser" "^7.28.3"
+ "@babel/types" "^7.28.2"
+ "@jridgewell/gen-mapping" "^0.3.12"
+ "@jridgewell/trace-mapping" "^0.3.28"
+ jsesc "^3.0.2"
+
+"@babel/helper-annotate-as-pure@^7.27.1", "@babel/helper-annotate-as-pure@^7.27.3":
+ version "7.27.3"
+ resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz#f31fd86b915fc4daf1f3ac6976c59be7084ed9c5"
+ integrity sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==
+ dependencies:
+ "@babel/types" "^7.27.3"
+
+"@babel/helper-compilation-targets@^7.27.1", "@babel/helper-compilation-targets@^7.27.2":
+ version "7.27.2"
+ resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz#46a0f6efab808d51d29ce96858dd10ce8732733d"
+ integrity sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==
+ dependencies:
+ "@babel/compat-data" "^7.27.2"
+ "@babel/helper-validator-option" "^7.27.1"
+ browserslist "^4.24.0"
+ lru-cache "^5.1.1"
+ semver "^6.3.1"
+
+"@babel/helper-create-class-features-plugin@^7.27.1", "@babel/helper-create-class-features-plugin@^7.28.3":
+ version "7.28.3"
+ resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.3.tgz#3e747434ea007910c320c4d39a6b46f20f371d46"
+ integrity sha512-V9f6ZFIYSLNEbuGA/92uOvYsGCJNsuA8ESZ4ldc09bWk/j8H8TKiPw8Mk1eG6olpnO0ALHJmYfZvF4MEE4gajg==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.27.3"
+ "@babel/helper-member-expression-to-functions" "^7.27.1"
+ "@babel/helper-optimise-call-expression" "^7.27.1"
+ "@babel/helper-replace-supers" "^7.27.1"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1"
+ "@babel/traverse" "^7.28.3"
+ semver "^6.3.1"
+
+"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.27.1.tgz#05b0882d97ba1d4d03519e4bce615d70afa18c53"
+ integrity sha512-uVDC72XVf8UbrH5qQTc18Agb8emwjTiZrQE11Nv3CuBEZmVvTwwE9CBUEvHku06gQCAyYf8Nv6ja1IN+6LMbxQ==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.27.1"
+ regexpu-core "^6.2.0"
+ semver "^6.3.1"
+
+"@babel/helper-define-polyfill-provider@^0.6.5":
+ version "0.6.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.5.tgz#742ccf1cb003c07b48859fc9fa2c1bbe40e5f753"
+ integrity sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==
+ dependencies:
+ "@babel/helper-compilation-targets" "^7.27.2"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ debug "^4.4.1"
+ lodash.debounce "^4.0.8"
+ resolve "^1.22.10"
+
+"@babel/helper-globals@^7.28.0":
+ version "7.28.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-globals/-/helper-globals-7.28.0.tgz#b9430df2aa4e17bc28665eadeae8aa1d985e6674"
+ integrity sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==
+
+"@babel/helper-member-expression-to-functions@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.27.1.tgz#ea1211276be93e798ce19037da6f06fbb994fa44"
+ integrity sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==
+ dependencies:
+ "@babel/traverse" "^7.27.1"
+ "@babel/types" "^7.27.1"
+
+"@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz#7ef769a323e2655e126673bb6d2d6913bbead204"
+ integrity sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==
+ dependencies:
+ "@babel/traverse" "^7.27.1"
+ "@babel/types" "^7.27.1"
+
+"@babel/helper-module-transforms@^7.27.1", "@babel/helper-module-transforms@^7.28.3":
+ version "7.28.3"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz#a2b37d3da3b2344fe085dab234426f2b9a2fa5f6"
+ integrity sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==
+ dependencies:
+ "@babel/helper-module-imports" "^7.27.1"
+ "@babel/helper-validator-identifier" "^7.27.1"
+ "@babel/traverse" "^7.28.3"
+
+"@babel/helper-optimise-call-expression@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz#c65221b61a643f3e62705e5dd2b5f115e35f9200"
+ integrity sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==
+ dependencies:
+ "@babel/types" "^7.27.1"
+
+"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.27.1", "@babel/helper-plugin-utils@^7.8.0":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz#ddb2f876534ff8013e6c2b299bf4d39b3c51d44c"
+ integrity sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==
+
+"@babel/helper-remap-async-to-generator@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz#4601d5c7ce2eb2aea58328d43725523fcd362ce6"
+ integrity sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.27.1"
+ "@babel/helper-wrap-function" "^7.27.1"
+ "@babel/traverse" "^7.27.1"
+
+"@babel/helper-replace-supers@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz#b1ed2d634ce3bdb730e4b52de30f8cccfd692bc0"
+ integrity sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==
+ dependencies:
+ "@babel/helper-member-expression-to-functions" "^7.27.1"
+ "@babel/helper-optimise-call-expression" "^7.27.1"
+ "@babel/traverse" "^7.27.1"
+
+"@babel/helper-skip-transparent-expression-wrappers@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz#62bb91b3abba8c7f1fec0252d9dbea11b3ee7a56"
+ integrity sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==
+ dependencies:
+ "@babel/traverse" "^7.27.1"
+ "@babel/types" "^7.27.1"
+
+"@babel/helper-string-parser@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz#54da796097ab19ce67ed9f88b47bb2ec49367687"
+ integrity sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==
+
+"@babel/helper-validator-identifier@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz#a7054dcc145a967dd4dc8fee845a57c1316c9df8"
+ integrity sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==
+
+"@babel/helper-validator-option@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz#fa52f5b1e7db1ab049445b421c4471303897702f"
+ integrity sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==
+
+"@babel/helper-wrap-function@^7.27.1":
+ version "7.28.3"
+ resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.28.3.tgz#fe4872092bc1438ffd0ce579e6f699609f9d0a7a"
+ integrity sha512-zdf983tNfLZFletc0RRXYrHrucBEg95NIFMkn6K9dbeMYnsgHaSBGcQqdsCSStG2PYwRre0Qc2NNSCXbG+xc6g==
+ dependencies:
+ "@babel/template" "^7.27.2"
+ "@babel/traverse" "^7.28.3"
+ "@babel/types" "^7.28.2"
+
+"@babel/helpers@^7.28.3":
+ version "7.28.3"
+ resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.28.3.tgz#b83156c0a2232c133d1b535dd5d3452119c7e441"
+ integrity sha512-PTNtvUQihsAsDHMOP5pfobP8C6CM4JWXmP8DrEIt46c3r2bf87Ua1zoqevsMo9g+tWDwgWrFP5EIxuBx5RudAw==
+ dependencies:
+ "@babel/template" "^7.27.2"
+ "@babel/types" "^7.28.2"
+
+"@babel/parser@^7.27.2", "@babel/parser@^7.28.3":
+ version "7.28.3"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.28.3.tgz#d2d25b814621bca5fe9d172bc93792547e7a2a71"
+ integrity sha512-7+Ey1mAgYqFAx2h0RuoxcQT5+MlG3GTV0TQrgr7/ZliKsm/MNDxVVutlWaziMq7wJNAz8MTqz55XLpWvva6StA==
+ dependencies:
+ "@babel/types" "^7.28.2"
+
+"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.27.1.tgz#61dd8a8e61f7eb568268d1b5f129da3eee364bf9"
+ integrity sha512-QPG3C9cCVRQLxAVwmefEmwdTanECuUBMQZ/ym5kiw3XKCGA7qkuQLcjWWHcrD/GKbn/WmJwaezfuuAOcyKlRPA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/traverse" "^7.27.1"
+
+"@babel/plugin-bugfix-safari-class-field-initializer-scope@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.27.1.tgz#43f70a6d7efd52370eefbdf55ae03d91b293856d"
+ integrity sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.27.1.tgz#beb623bd573b8b6f3047bd04c32506adc3e58a72"
+ integrity sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.27.1.tgz#e134a5479eb2ba9c02714e8c1ebf1ec9076124fd"
+ integrity sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1"
+ "@babel/plugin-transform-optional-chaining" "^7.27.1"
+
+"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.28.3":
+ version "7.28.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.28.3.tgz#373f6e2de0016f73caf8f27004f61d167743742a"
+ integrity sha512-b6YTX108evsvE4YgWyQ921ZAFFQm3Bn+CA3+ZXlNVnPhx+UfsVURoPjfGAPCjBgrqo30yX/C2nZGX96DxvR9Iw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/traverse" "^7.28.3"
+
+"@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2":
+ version "7.21.0-placeholder-for-preset-env.2"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz#7844f9289546efa9febac2de4cfe358a050bd703"
+ integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==
+
+"@babel/plugin-syntax-dynamic-import@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3"
+ integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.0"
+
+"@babel/plugin-syntax-import-assertions@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.27.1.tgz#88894aefd2b03b5ee6ad1562a7c8e1587496aecd"
+ integrity sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-syntax-import-attributes@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz#34c017d54496f9b11b61474e7ea3dfd5563ffe07"
+ integrity sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-syntax-jsx@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz#2f9beb5eff30fa507c5532d107daac7b888fa34c"
+ integrity sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-syntax-typescript@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.27.1.tgz#5147d29066a793450f220c63fa3a9431b7e6dd18"
+ integrity sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-syntax-unicode-sets-regex@^7.18.6":
+ version "7.18.6"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz#d49a3b3e6b52e5be6740022317580234a6a47357"
+ integrity sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.18.6"
+ "@babel/helper-plugin-utils" "^7.18.6"
+
+"@babel/plugin-transform-arrow-functions@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz#6e2061067ba3ab0266d834a9f94811196f2aba9a"
+ integrity sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-async-generator-functions@^7.28.0":
+ version "7.28.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.28.0.tgz#1276e6c7285ab2cd1eccb0bc7356b7a69ff842c2"
+ integrity sha512-BEOdvX4+M765icNPZeidyADIvQ1m1gmunXufXxvRESy/jNNyfovIqUyE7MVgGBjWktCoJlzvFA1To2O4ymIO3Q==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-remap-async-to-generator" "^7.27.1"
+ "@babel/traverse" "^7.28.0"
+
+"@babel/plugin-transform-async-to-generator@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.27.1.tgz#9a93893b9379b39466c74474f55af03de78c66e7"
+ integrity sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==
+ dependencies:
+ "@babel/helper-module-imports" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-remap-async-to-generator" "^7.27.1"
+
+"@babel/plugin-transform-block-scoped-functions@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.27.1.tgz#558a9d6e24cf72802dd3b62a4b51e0d62c0f57f9"
+ integrity sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-block-scoping@^7.28.0":
+ version "7.28.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.0.tgz#e7c50cbacc18034f210b93defa89638666099451"
+ integrity sha512-gKKnwjpdx5sER/wl0WN0efUBFzF/56YZO0RJrSYP4CljXnP31ByY7fol89AzomdlLNzI36AvOTmYHsnZTCkq8Q==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-class-properties@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.27.1.tgz#dd40a6a370dfd49d32362ae206ddaf2bb082a925"
+ integrity sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA==
+ dependencies:
+ "@babel/helper-create-class-features-plugin" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-class-static-block@^7.28.3":
+ version "7.28.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.28.3.tgz#d1b8e69b54c9993bc558203e1f49bfc979bfd852"
+ integrity sha512-LtPXlBbRoc4Njl/oh1CeD/3jC+atytbnf/UqLoqTDcEYGUPj022+rvfkbDYieUrSj3CaV4yHDByPE+T2HwfsJg==
+ dependencies:
+ "@babel/helper-create-class-features-plugin" "^7.28.3"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-classes@^7.28.3":
+ version "7.28.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.3.tgz#598297260343d0edbd51cb5f5075e07dee91963a"
+ integrity sha512-DoEWC5SuxuARF2KdKmGUq3ghfPMO6ZzR12Dnp5gubwbeWJo4dbNWXJPVlwvh4Zlq6Z7YVvL8VFxeSOJgjsx4Sg==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.27.3"
+ "@babel/helper-compilation-targets" "^7.27.2"
+ "@babel/helper-globals" "^7.28.0"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-replace-supers" "^7.27.1"
+ "@babel/traverse" "^7.28.3"
+
+"@babel/plugin-transform-computed-properties@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.27.1.tgz#81662e78bf5e734a97982c2b7f0a793288ef3caa"
+ integrity sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/template" "^7.27.1"
+
+"@babel/plugin-transform-destructuring@^7.28.0":
+ version "7.28.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.0.tgz#0f156588f69c596089b7d5b06f5af83d9aa7f97a"
+ integrity sha512-v1nrSMBiKcodhsyJ4Gf+Z0U/yawmJDBOTpEB3mcQY52r9RIyPneGyAS/yM6seP/8I+mWI3elOMtT5dB8GJVs+A==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/traverse" "^7.28.0"
+
+"@babel/plugin-transform-dotall-regex@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.27.1.tgz#aa6821de864c528b1fecf286f0a174e38e826f4d"
+ integrity sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw==
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-duplicate-keys@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.27.1.tgz#f1fbf628ece18e12e7b32b175940e68358f546d1"
+ integrity sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-duplicate-named-capturing-groups-regex@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.27.1.tgz#5043854ca620a94149372e69030ff8cb6a9eb0ec"
+ integrity sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ==
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-dynamic-import@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.27.1.tgz#4c78f35552ac0e06aa1f6e3c573d67695e8af5a4"
+ integrity sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-explicit-resource-management@^7.28.0":
+ version "7.28.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-7.28.0.tgz#45be6211b778dbf4b9d54c4e8a2b42fa72e09a1a"
+ integrity sha512-K8nhUcn3f6iB+P3gwCv/no7OdzOZQcKchW6N389V6PD8NUWKZHzndOd9sPDVbMoBsbmjMqlB4L9fm+fEFNVlwQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/plugin-transform-destructuring" "^7.28.0"
+
+"@babel/plugin-transform-exponentiation-operator@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.27.1.tgz#fc497b12d8277e559747f5a3ed868dd8064f83e1"
+ integrity sha512-uspvXnhHvGKf2r4VVtBpeFnuDWsJLQ6MF6lGJLC89jBR1uoVeqM416AZtTuhTezOfgHicpJQmoD5YUakO/YmXQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-export-namespace-from@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz#71ca69d3471edd6daa711cf4dfc3400415df9c23"
+ integrity sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-for-of@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz#bc24f7080e9ff721b63a70ac7b2564ca15b6c40a"
+ integrity sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1"
+
+"@babel/plugin-transform-function-name@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz#4d0bf307720e4dce6d7c30fcb1fd6ca77bdeb3a7"
+ integrity sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==
+ dependencies:
+ "@babel/helper-compilation-targets" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/traverse" "^7.27.1"
+
+"@babel/plugin-transform-json-strings@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.27.1.tgz#a2e0ce6ef256376bd527f290da023983527a4f4c"
+ integrity sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-literals@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz#baaefa4d10a1d4206f9dcdda50d7d5827bb70b24"
+ integrity sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-logical-assignment-operators@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.27.1.tgz#890cb20e0270e0e5bebe3f025b434841c32d5baa"
+ integrity sha512-SJvDs5dXxiae4FbSL1aBJlG4wvl594N6YEVVn9e3JGulwioy6z3oPjx/sQBO3Y4NwUu5HNix6KJ3wBZoewcdbw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-member-expression-literals@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.27.1.tgz#37b88ba594d852418e99536f5612f795f23aeaf9"
+ integrity sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-modules-amd@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.27.1.tgz#a4145f9d87c2291fe2d05f994b65dba4e3e7196f"
+ integrity sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==
+ dependencies:
+ "@babel/helper-module-transforms" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-modules-commonjs@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.27.1.tgz#8e44ed37c2787ecc23bdc367f49977476614e832"
+ integrity sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==
+ dependencies:
+ "@babel/helper-module-transforms" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-modules-systemjs@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.27.1.tgz#00e05b61863070d0f3292a00126c16c0e024c4ed"
+ integrity sha512-w5N1XzsRbc0PQStASMksmUeqECuzKuTJer7kFagK8AXgpCMkeDMO5S+aaFb7A51ZYDF7XI34qsTX+fkHiIm5yA==
+ dependencies:
+ "@babel/helper-module-transforms" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-validator-identifier" "^7.27.1"
+ "@babel/traverse" "^7.27.1"
+
+"@babel/plugin-transform-modules-umd@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.27.1.tgz#63f2cf4f6dc15debc12f694e44714863d34cd334"
+ integrity sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==
+ dependencies:
+ "@babel/helper-module-transforms" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-named-capturing-groups-regex@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.27.1.tgz#f32b8f7818d8fc0cc46ee20a8ef75f071af976e1"
+ integrity sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-new-target@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.27.1.tgz#259c43939728cad1706ac17351b7e6a7bea1abeb"
+ integrity sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-nullish-coalescing-operator@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.27.1.tgz#4f9d3153bf6782d73dd42785a9d22d03197bc91d"
+ integrity sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-numeric-separator@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.27.1.tgz#614e0b15cc800e5997dadd9bd6ea524ed6c819c6"
+ integrity sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-object-rest-spread@^7.28.0":
+ version "7.28.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.0.tgz#d23021857ffd7cd809f54d624299b8086402ed8d"
+ integrity sha512-9VNGikXxzu5eCiQjdE4IZn8sb9q7Xsk5EXLDBKUYg1e/Tve8/05+KJEtcxGxAgCY5t/BpKQM+JEL/yT4tvgiUA==
+ dependencies:
+ "@babel/helper-compilation-targets" "^7.27.2"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/plugin-transform-destructuring" "^7.28.0"
+ "@babel/plugin-transform-parameters" "^7.27.7"
+ "@babel/traverse" "^7.28.0"
+
+"@babel/plugin-transform-object-super@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.27.1.tgz#1c932cd27bf3874c43a5cac4f43ebf970c9871b5"
+ integrity sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-replace-supers" "^7.27.1"
+
+"@babel/plugin-transform-optional-catch-binding@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.27.1.tgz#84c7341ebde35ccd36b137e9e45866825072a30c"
+ integrity sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-optional-chaining@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.27.1.tgz#874ce3c4f06b7780592e946026eb76a32830454f"
+ integrity sha512-BQmKPPIuc8EkZgNKsv0X4bPmOoayeu4F1YCwx2/CfmDSXDbp7GnzlUH+/ul5VGfRg1AoFPsrIThlEBj2xb4CAg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1"
+
+"@babel/plugin-transform-parameters@^7.27.7":
+ version "7.27.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.7.tgz#1fd2febb7c74e7d21cf3b05f7aebc907940af53a"
+ integrity sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-private-methods@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.27.1.tgz#fdacbab1c5ed81ec70dfdbb8b213d65da148b6af"
+ integrity sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA==
+ dependencies:
+ "@babel/helper-create-class-features-plugin" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-private-property-in-object@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.27.1.tgz#4dbbef283b5b2f01a21e81e299f76e35f900fb11"
+ integrity sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.27.1"
+ "@babel/helper-create-class-features-plugin" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-property-literals@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.27.1.tgz#07eafd618800591e88073a0af1b940d9a42c6424"
+ integrity sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-react-constant-elements@^7.21.3":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.27.1.tgz#6c6b50424e749a6e48afd14cf7b92f98cb9383f9"
+ integrity sha512-edoidOjl/ZxvYo4lSBOQGDSyToYVkTAwyVoa2tkuYTSmjrB1+uAedoL5iROVLXkxH+vRgA7uP4tMg2pUJpZ3Ug==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-react-display-name@^7.27.1":
+ version "7.28.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.28.0.tgz#6f20a7295fea7df42eb42fed8f896813f5b934de"
+ integrity sha512-D6Eujc2zMxKjfa4Zxl4GHMsmhKKZ9VpcqIchJLvwTxad9zWIYulwYItBovpDOoNLISpcZSXoDJ5gaGbQUDqViA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-react-jsx-development@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.27.1.tgz#47ff95940e20a3a70e68ad3d4fcb657b647f6c98"
+ integrity sha512-ykDdF5yI4f1WrAolLqeF3hmYU12j9ntLQl/AOG1HAS21jxyg1Q0/J/tpREuYLfatGdGmXp/3yS0ZA76kOlVq9Q==
+ dependencies:
+ "@babel/plugin-transform-react-jsx" "^7.27.1"
+
+"@babel/plugin-transform-react-jsx@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.27.1.tgz#1023bc94b78b0a2d68c82b5e96aed573bcfb9db0"
+ integrity sha512-2KH4LWGSrJIkVf5tSiBFYuXDAoWRq2MMwgivCf+93dd0GQi8RXLjKA/0EvRnVV5G0hrHczsquXuD01L8s6dmBw==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.27.1"
+ "@babel/helper-module-imports" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/plugin-syntax-jsx" "^7.27.1"
+ "@babel/types" "^7.27.1"
+
+"@babel/plugin-transform-react-pure-annotations@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.27.1.tgz#339f1ce355eae242e0649f232b1c68907c02e879"
+ integrity sha512-JfuinvDOsD9FVMTHpzA/pBLisxpv1aSf+OIV8lgH3MuWrks19R27e6a6DipIg4aX1Zm9Wpb04p8wljfKrVSnPA==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-regenerator@^7.28.3":
+ version "7.28.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.28.3.tgz#b8eee0f8aed37704bbcc932fd0b1a0a34d0b7344"
+ integrity sha512-K3/M/a4+ESb5LEldjQb+XSrpY0nF+ZBFlTCbSnKaYAMfD8v33O6PMs4uYnOk19HlcsI8WMu3McdFPTiQHF/1/A==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-regexp-modifiers@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.27.1.tgz#df9ba5577c974e3f1449888b70b76169998a6d09"
+ integrity sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA==
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-reserved-words@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.27.1.tgz#40fba4878ccbd1c56605a4479a3a891ac0274bb4"
+ integrity sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-runtime@^7.25.9":
+ version "7.28.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.28.3.tgz#f5990a1b2d2bde950ed493915e0719841c8d0eaa"
+ integrity sha512-Y6ab1kGqZ0u42Zv/4a7l0l72n9DKP/MKoKWaUSBylrhNZO2prYuqFOLbn5aW5SIFXwSH93yfjbgllL8lxuGKLg==
+ dependencies:
+ "@babel/helper-module-imports" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ babel-plugin-polyfill-corejs2 "^0.4.14"
+ babel-plugin-polyfill-corejs3 "^0.13.0"
+ babel-plugin-polyfill-regenerator "^0.6.5"
+ semver "^6.3.1"
+
+"@babel/plugin-transform-shorthand-properties@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz#532abdacdec87bfee1e0ef8e2fcdee543fe32b90"
+ integrity sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-spread@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.27.1.tgz#1a264d5fc12750918f50e3fe3e24e437178abb08"
+ integrity sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1"
+
+"@babel/plugin-transform-sticky-regex@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz#18984935d9d2296843a491d78a014939f7dcd280"
+ integrity sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-template-literals@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz#1a0eb35d8bb3e6efc06c9fd40eb0bcef548328b8"
+ integrity sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-typeof-symbol@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.1.tgz#70e966bb492e03509cf37eafa6dcc3051f844369"
+ integrity sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-typescript@^7.27.1":
+ version "7.28.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.28.0.tgz#796cbd249ab56c18168b49e3e1d341b72af04a6b"
+ integrity sha512-4AEiDEBPIZvLQaWlc9liCavE0xRM0dNca41WtBeM3jgFptfUOSG9z0uteLhq6+3rq+WB6jIvUwKDTpXEHPJ2Vg==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.27.3"
+ "@babel/helper-create-class-features-plugin" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1"
+ "@babel/plugin-syntax-typescript" "^7.27.1"
+
+"@babel/plugin-transform-unicode-escapes@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.27.1.tgz#3e3143f8438aef842de28816ece58780190cf806"
+ integrity sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-unicode-property-regex@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.27.1.tgz#bdfe2d3170c78c5691a3c3be934c8c0087525956"
+ integrity sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q==
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-unicode-regex@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz#25948f5c395db15f609028e370667ed8bae9af97"
+ integrity sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-unicode-sets-regex@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.27.1.tgz#6ab706d10f801b5c72da8bb2548561fa04193cd1"
+ integrity sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw==
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/preset-env@^7.20.2", "@babel/preset-env@^7.25.9":
+ version "7.28.3"
+ resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.28.3.tgz#2b18d9aff9e69643789057ae4b942b1654f88187"
+ integrity sha512-ROiDcM+GbYVPYBOeCR6uBXKkQpBExLl8k9HO1ygXEyds39j+vCCsjmj7S8GOniZQlEs81QlkdJZe76IpLSiqpg==
+ dependencies:
+ "@babel/compat-data" "^7.28.0"
+ "@babel/helper-compilation-targets" "^7.27.2"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-validator-option" "^7.27.1"
+ "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.27.1"
+ "@babel/plugin-bugfix-safari-class-field-initializer-scope" "^7.27.1"
+ "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.27.1"
+ "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.27.1"
+ "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.28.3"
+ "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2"
+ "@babel/plugin-syntax-import-assertions" "^7.27.1"
+ "@babel/plugin-syntax-import-attributes" "^7.27.1"
+ "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6"
+ "@babel/plugin-transform-arrow-functions" "^7.27.1"
+ "@babel/plugin-transform-async-generator-functions" "^7.28.0"
+ "@babel/plugin-transform-async-to-generator" "^7.27.1"
+ "@babel/plugin-transform-block-scoped-functions" "^7.27.1"
+ "@babel/plugin-transform-block-scoping" "^7.28.0"
+ "@babel/plugin-transform-class-properties" "^7.27.1"
+ "@babel/plugin-transform-class-static-block" "^7.28.3"
+ "@babel/plugin-transform-classes" "^7.28.3"
+ "@babel/plugin-transform-computed-properties" "^7.27.1"
+ "@babel/plugin-transform-destructuring" "^7.28.0"
+ "@babel/plugin-transform-dotall-regex" "^7.27.1"
+ "@babel/plugin-transform-duplicate-keys" "^7.27.1"
+ "@babel/plugin-transform-duplicate-named-capturing-groups-regex" "^7.27.1"
+ "@babel/plugin-transform-dynamic-import" "^7.27.1"
+ "@babel/plugin-transform-explicit-resource-management" "^7.28.0"
+ "@babel/plugin-transform-exponentiation-operator" "^7.27.1"
+ "@babel/plugin-transform-export-namespace-from" "^7.27.1"
+ "@babel/plugin-transform-for-of" "^7.27.1"
+ "@babel/plugin-transform-function-name" "^7.27.1"
+ "@babel/plugin-transform-json-strings" "^7.27.1"
+ "@babel/plugin-transform-literals" "^7.27.1"
+ "@babel/plugin-transform-logical-assignment-operators" "^7.27.1"
+ "@babel/plugin-transform-member-expression-literals" "^7.27.1"
+ "@babel/plugin-transform-modules-amd" "^7.27.1"
+ "@babel/plugin-transform-modules-commonjs" "^7.27.1"
+ "@babel/plugin-transform-modules-systemjs" "^7.27.1"
+ "@babel/plugin-transform-modules-umd" "^7.27.1"
+ "@babel/plugin-transform-named-capturing-groups-regex" "^7.27.1"
+ "@babel/plugin-transform-new-target" "^7.27.1"
+ "@babel/plugin-transform-nullish-coalescing-operator" "^7.27.1"
+ "@babel/plugin-transform-numeric-separator" "^7.27.1"
+ "@babel/plugin-transform-object-rest-spread" "^7.28.0"
+ "@babel/plugin-transform-object-super" "^7.27.1"
+ "@babel/plugin-transform-optional-catch-binding" "^7.27.1"
+ "@babel/plugin-transform-optional-chaining" "^7.27.1"
+ "@babel/plugin-transform-parameters" "^7.27.7"
+ "@babel/plugin-transform-private-methods" "^7.27.1"
+ "@babel/plugin-transform-private-property-in-object" "^7.27.1"
+ "@babel/plugin-transform-property-literals" "^7.27.1"
+ "@babel/plugin-transform-regenerator" "^7.28.3"
+ "@babel/plugin-transform-regexp-modifiers" "^7.27.1"
+ "@babel/plugin-transform-reserved-words" "^7.27.1"
+ "@babel/plugin-transform-shorthand-properties" "^7.27.1"
+ "@babel/plugin-transform-spread" "^7.27.1"
+ "@babel/plugin-transform-sticky-regex" "^7.27.1"
+ "@babel/plugin-transform-template-literals" "^7.27.1"
+ "@babel/plugin-transform-typeof-symbol" "^7.27.1"
+ "@babel/plugin-transform-unicode-escapes" "^7.27.1"
+ "@babel/plugin-transform-unicode-property-regex" "^7.27.1"
+ "@babel/plugin-transform-unicode-regex" "^7.27.1"
+ "@babel/plugin-transform-unicode-sets-regex" "^7.27.1"
+ "@babel/preset-modules" "0.1.6-no-external-plugins"
+ babel-plugin-polyfill-corejs2 "^0.4.14"
+ babel-plugin-polyfill-corejs3 "^0.13.0"
+ babel-plugin-polyfill-regenerator "^0.6.5"
+ core-js-compat "^3.43.0"
+ semver "^6.3.1"
+
+"@babel/preset-modules@0.1.6-no-external-plugins":
+ version "0.1.6-no-external-plugins"
+ resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz#ccb88a2c49c817236861fee7826080573b8a923a"
+ integrity sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/types" "^7.4.4"
+ esutils "^2.0.2"
+
+"@babel/preset-react@^7.18.6", "@babel/preset-react@^7.25.9":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.27.1.tgz#86ea0a5ca3984663f744be2fd26cb6747c3fd0ec"
+ integrity sha512-oJHWh2gLhU9dW9HHr42q0cI0/iHHXTLGe39qvpAZZzagHy0MzYLCnCVV0symeRvzmjHyVU7mw2K06E6u/JwbhA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-validator-option" "^7.27.1"
+ "@babel/plugin-transform-react-display-name" "^7.27.1"
+ "@babel/plugin-transform-react-jsx" "^7.27.1"
+ "@babel/plugin-transform-react-jsx-development" "^7.27.1"
+ "@babel/plugin-transform-react-pure-annotations" "^7.27.1"
+
+"@babel/preset-typescript@^7.21.0", "@babel/preset-typescript@^7.25.9":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.27.1.tgz#190742a6428d282306648a55b0529b561484f912"
+ integrity sha512-l7WfQfX0WK4M0v2RudjuQK4u99BS6yLHYEmdtVPP7lKV013zr9DygFuWNlnbvQ9LR+LS0Egz/XAvGx5U9MX0fQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-validator-option" "^7.27.1"
+ "@babel/plugin-syntax-jsx" "^7.27.1"
+ "@babel/plugin-transform-modules-commonjs" "^7.27.1"
+ "@babel/plugin-transform-typescript" "^7.27.1"
+
+"@babel/runtime-corejs3@^7.25.9":
+ version "7.28.3"
+ resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.28.3.tgz#8a993bea33c4f03b02b95ca9164dad26aaca125d"
+ integrity sha512-LKYxD2CIfocUFNREQ1yk+dW+8OH8CRqmgatBZYXb+XhuObO8wsDpEoCNri5bKld9cnj8xukqZjxSX8p1YiRF8Q==
+ dependencies:
+ core-js-pure "^3.43.0"
+
+"@babel/runtime@^7.1.2", "@babel/runtime@^7.10.3", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.18.3", "@babel/runtime@^7.25.9", "@babel/runtime@^7.28.3", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.7":
+ version "7.28.3"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.28.3.tgz#75c5034b55ba868121668be5d5bb31cc64e6e61a"
+ integrity sha512-9uIQ10o0WGdpP6GDhXcdOJPJuDgFtIDtN/9+ArJQ2NAfAmiuhTQdzkaTGR33v43GYS2UrSA0eX2pPPHoFVvpxA==
+
+"@babel/template@^7.27.1", "@babel/template@^7.27.2":
+ version "7.27.2"
+ resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.27.2.tgz#fa78ceed3c4e7b63ebf6cb39e5852fca45f6809d"
+ integrity sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==
+ dependencies:
+ "@babel/code-frame" "^7.27.1"
+ "@babel/parser" "^7.27.2"
+ "@babel/types" "^7.27.1"
+
+"@babel/traverse@^7.25.9", "@babel/traverse@^7.27.1", "@babel/traverse@^7.28.0", "@babel/traverse@^7.28.3":
+ version "7.28.3"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.28.3.tgz#6911a10795d2cce43ec6a28cffc440cca2593434"
+ integrity sha512-7w4kZYHneL3A6NP2nxzHvT3HCZ7puDZZjFMqDpBPECub79sTtSO5CGXDkKrTQq8ksAwfD/XI2MRFX23njdDaIQ==
+ dependencies:
+ "@babel/code-frame" "^7.27.1"
+ "@babel/generator" "^7.28.3"
+ "@babel/helper-globals" "^7.28.0"
+ "@babel/parser" "^7.28.3"
+ "@babel/template" "^7.27.2"
+ "@babel/types" "^7.28.2"
+ debug "^4.3.1"
+
+"@babel/types@^7.21.3", "@babel/types@^7.27.1", "@babel/types@^7.27.3", "@babel/types@^7.28.2", "@babel/types@^7.4.4":
+ version "7.28.2"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.28.2.tgz#da9db0856a9a88e0a13b019881d7513588cf712b"
+ integrity sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==
+ dependencies:
+ "@babel/helper-string-parser" "^7.27.1"
+ "@babel/helper-validator-identifier" "^7.27.1"
+
+"@colors/colors@1.5.0":
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9"
+ integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==
+
+"@csstools/cascade-layer-name-parser@^2.0.5":
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/@csstools/cascade-layer-name-parser/-/cascade-layer-name-parser-2.0.5.tgz#43f962bebead0052a9fed1a2deeb11f85efcbc72"
+ integrity sha512-p1ko5eHgV+MgXFVa4STPKpvPxr6ReS8oS2jzTukjR74i5zJNyWO1ZM1m8YKBXnzDKWfBN1ztLYlHxbVemDD88A==
+
+"@csstools/color-helpers@^5.1.0":
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/@csstools/color-helpers/-/color-helpers-5.1.0.tgz#106c54c808cabfd1ab4c602d8505ee584c2996ef"
+ integrity sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==
+
+"@csstools/css-calc@^2.1.4":
+ version "2.1.4"
+ resolved "https://registry.yarnpkg.com/@csstools/css-calc/-/css-calc-2.1.4.tgz#8473f63e2fcd6e459838dd412401d5948f224c65"
+ integrity sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==
+
+"@csstools/css-color-parser@^3.1.0":
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/@csstools/css-color-parser/-/css-color-parser-3.1.0.tgz#4e386af3a99dd36c46fef013cfe4c1c341eed6f0"
+ integrity sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==
+ dependencies:
+ "@csstools/color-helpers" "^5.1.0"
+ "@csstools/css-calc" "^2.1.4"
+
+"@csstools/css-parser-algorithms@^3.0.5":
+ version "3.0.5"
+ resolved "https://registry.yarnpkg.com/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.5.tgz#5755370a9a29abaec5515b43c8b3f2cf9c2e3076"
+ integrity sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==
+
+"@csstools/css-tokenizer@^3.0.4":
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/@csstools/css-tokenizer/-/css-tokenizer-3.0.4.tgz#333fedabc3fd1a8e5d0100013731cf19e6a8c5d3"
+ integrity sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==
+
+"@csstools/media-query-list-parser@^4.0.3":
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/@csstools/media-query-list-parser/-/media-query-list-parser-4.0.3.tgz#7aec77bcb89c2da80ef207e73f474ef9e1b3cdf1"
+ integrity sha512-HAYH7d3TLRHDOUQK4mZKf9k9Ph/m8Akstg66ywKR4SFAigjs3yBiUeZtFxywiTm5moZMAp/5W/ZuFnNXXYLuuQ==
+
+"@csstools/postcss-alpha-function@^1.0.0":
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/@csstools/postcss-alpha-function/-/postcss-alpha-function-1.0.0.tgz#8764fbbf25a5f1e106fb623ae632e01a220a6fc2"
+ integrity sha512-r2L8KNg5Wriq5n8IUQcjzy2Rh37J5YjzP9iOyHZL5fxdWYHB08vqykHQa4wAzN/tXwDuCHnhQDGCtxfS76xn7g==
+ dependencies:
+ "@csstools/css-color-parser" "^3.1.0"
+ "@csstools/css-parser-algorithms" "^3.0.5"
+ "@csstools/css-tokenizer" "^3.0.4"
+ "@csstools/postcss-progressive-custom-properties" "^4.2.0"
+ "@csstools/utilities" "^2.0.0"
+
+"@csstools/postcss-cascade-layers@^5.0.2":
+ version "5.0.2"
+ resolved "https://registry.yarnpkg.com/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-5.0.2.tgz#dd2c70db3867b88975f2922da3bfbae7d7a2cae7"
+ integrity sha512-nWBE08nhO8uWl6kSAeCx4im7QfVko3zLrtgWZY4/bP87zrSPpSyN/3W3TDqz1jJuH+kbKOHXg5rJnK+ZVYcFFg==
+ dependencies:
+ "@csstools/selector-specificity" "^5.0.0"
+ postcss-selector-parser "^7.0.0"
+
+"@csstools/postcss-color-function-display-p3-linear@^1.0.0":
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/@csstools/postcss-color-function-display-p3-linear/-/postcss-color-function-display-p3-linear-1.0.0.tgz#27395b62a5d9a108eefcc0eb463247a15f4269a1"
+ integrity sha512-7q+OuUqfowRrP84m/Jl0wv3pfCQyUTCW5MxDIux+/yty5IkUUHOTigCjrC0Fjy3OT0ncGLudHbfLWmP7E1arNA==
+ dependencies:
+ "@csstools/css-color-parser" "^3.1.0"
+ "@csstools/css-parser-algorithms" "^3.0.5"
+ "@csstools/css-tokenizer" "^3.0.4"
+ "@csstools/postcss-progressive-custom-properties" "^4.2.0"
+ "@csstools/utilities" "^2.0.0"
+
+"@csstools/postcss-color-function@^4.0.11":
+ version "4.0.11"
+ resolved "https://registry.yarnpkg.com/@csstools/postcss-color-function/-/postcss-color-function-4.0.11.tgz#03c34a51dc00943a6674294fb1163e7af9e87ffd"
+ integrity sha512-AtH22zLHTLm64HLdpv5EedT/zmYTm1MtdQbQhRZXxEB6iYtS6SrS1jLX3TcmUWMFzpumK/OVylCm3HcLms4slw==
+ dependencies:
+ "@csstools/css-color-parser" "^3.1.0"
+ "@csstools/css-parser-algorithms" "^3.0.5"
+ "@csstools/css-tokenizer" "^3.0.4"
+ "@csstools/postcss-progressive-custom-properties" "^4.2.0"
+ "@csstools/utilities" "^2.0.0"
+
+"@csstools/postcss-color-mix-function@^3.0.11":
+ version "3.0.11"
+ resolved "https://registry.yarnpkg.com/@csstools/postcss-color-mix-function/-/postcss-color-mix-function-3.0.11.tgz#6db0a1c749fabaf2bf978b37044700d1c1b09fc2"
+ integrity sha512-cQpXBelpTx0YhScZM5Ve0jDCA4RzwFc7oNafzZOGgCHt/GQVYiU8Vevz9QJcwy/W0Pyi/BneY+KMjz23lI9r+Q==
+ dependencies:
+ "@csstools/css-color-parser" "^3.1.0"
+ "@csstools/css-parser-algorithms" "^3.0.5"
+ "@csstools/css-tokenizer" "^3.0.4"
+ "@csstools/postcss-progressive-custom-properties" "^4.2.0"
+ "@csstools/utilities" "^2.0.0"
+
+"@csstools/postcss-color-mix-variadic-function-arguments@^1.0.1":
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/@csstools/postcss-color-mix-variadic-function-arguments/-/postcss-color-mix-variadic-function-arguments-1.0.1.tgz#2dd9d66ded0d41cd7b2c13a1188f03e894c17d7e"
+ integrity sha512-c7hyBtbF+jlHIcUGVdWY06bHICgguV9ypfcELU3eU3W/9fiz2dxM8PqxQk2ndXYTzLnwPvNNqu1yCmQ++N6Dcg==
+ dependencies:
+ "@csstools/css-color-parser" "^3.1.0"
+ "@csstools/css-parser-algorithms" "^3.0.5"
+ "@csstools/css-tokenizer" "^3.0.4"
+ "@csstools/postcss-progressive-custom-properties" "^4.2.0"
+ "@csstools/utilities" "^2.0.0"
+
+"@csstools/postcss-content-alt-text@^2.0.7":
+ version "2.0.7"
+ resolved "https://registry.yarnpkg.com/@csstools/postcss-content-alt-text/-/postcss-content-alt-text-2.0.7.tgz#ac0a263e8acb0be99cdcfc0b1792c62141825747"
+ integrity sha512-cq/zWaEkpcg3RttJ5+GdNwk26NwxY5KgqgtNL777Fdd28AVGHxuBvqmK4Jq4oKhW1NX4M2LbgYAVVN0NZ+/XYQ==
+ dependencies:
+ "@csstools/css-parser-algorithms" "^3.0.5"
+ "@csstools/css-tokenizer" "^3.0.4"
+ "@csstools/postcss-progressive-custom-properties" "^4.2.0"
+ "@csstools/utilities" "^2.0.0"
+
+"@csstools/postcss-exponential-functions@^2.0.9":
+ version "2.0.9"
+ resolved "https://registry.yarnpkg.com/@csstools/postcss-exponential-functions/-/postcss-exponential-functions-2.0.9.tgz#fc03d1272888cb77e64cc1a7d8a33016e4f05c69"
+ integrity sha512-abg2W/PI3HXwS/CZshSa79kNWNZHdJPMBXeZNyPQFbbj8sKO3jXxOt/wF7juJVjyDTc6JrvaUZYFcSBZBhaxjw==
+ dependencies:
+ "@csstools/css-calc" "^2.1.4"
+ "@csstools/css-parser-algorithms" "^3.0.5"
+ "@csstools/css-tokenizer" "^3.0.4"
+
+"@csstools/postcss-font-format-keywords@^4.0.0":
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-4.0.0.tgz#6730836eb0153ff4f3840416cc2322f129c086e6"
+ integrity sha512-usBzw9aCRDvchpok6C+4TXC57btc4bJtmKQWOHQxOVKen1ZfVqBUuCZ/wuqdX5GHsD0NRSr9XTP+5ID1ZZQBXw==
+ dependencies:
+ "@csstools/utilities" "^2.0.0"
+ postcss-value-parser "^4.2.0"
+
+"@csstools/postcss-gamut-mapping@^2.0.11":
+ version "2.0.11"
+ resolved "https://registry.yarnpkg.com/@csstools/postcss-gamut-mapping/-/postcss-gamut-mapping-2.0.11.tgz#be0e34c9f0142852cccfc02b917511f0d677db8b"
+ integrity sha512-fCpCUgZNE2piVJKC76zFsgVW1apF6dpYsqGyH8SIeCcM4pTEsRTWTLCaJIMKFEundsCKwY1rwfhtrio04RJ4Dw==
+ dependencies:
+ "@csstools/css-color-parser" "^3.1.0"
+ "@csstools/css-parser-algorithms" "^3.0.5"
+ "@csstools/css-tokenizer" "^3.0.4"
+
+"@csstools/postcss-gradients-interpolation-method@^5.0.11":
+ version "5.0.11"
+ resolved "https://registry.yarnpkg.com/@csstools/postcss-gradients-interpolation-method/-/postcss-gradients-interpolation-method-5.0.11.tgz#f1c5c431a44ed9655cb408aea8666ed2c5250490"
+ integrity sha512-8M3mcNTL3cGIJXDnvrJ2oWEcKi3zyw7NeYheFKePUlBmLYm1gkw9Rr/BA7lFONrOPeQA3yeMPldrrws6lqHrug==
+ dependencies:
+ "@csstools/css-color-parser" "^3.1.0"
+ "@csstools/css-parser-algorithms" "^3.0.5"
+ "@csstools/css-tokenizer" "^3.0.4"
+ "@csstools/postcss-progressive-custom-properties" "^4.2.0"
+ "@csstools/utilities" "^2.0.0"
+
+"@csstools/postcss-hwb-function@^4.0.11":
+ version "4.0.11"
+ resolved "https://registry.yarnpkg.com/@csstools/postcss-hwb-function/-/postcss-hwb-function-4.0.11.tgz#4bb173f1c8c2361bf46a842a948ee687471ae4ea"
+ integrity sha512-9meZbsVWTZkWsSBazQips3cHUOT29a/UAwFz0AMEXukvpIGGDR9+GMl3nIckWO5sPImsadu4F5Zy+zjt8QgCdA==
+ dependencies:
+ "@csstools/css-color-parser" "^3.1.0"
+ "@csstools/css-parser-algorithms" "^3.0.5"
+ "@csstools/css-tokenizer" "^3.0.4"
+ "@csstools/postcss-progressive-custom-properties" "^4.2.0"
+ "@csstools/utilities" "^2.0.0"
+
+"@csstools/postcss-ic-unit@^4.0.3":
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/@csstools/postcss-ic-unit/-/postcss-ic-unit-4.0.3.tgz#ba0375e9d346e6e5a42dc8c2cb1133b2262f9ffa"
+ integrity sha512-RtYYm2qUIu9vAaHB0cC8rQGlOCQAUgEc2tMr7ewlGXYipBQKjoWmyVArqsk7SEr8N3tErq6P6UOJT3amaVof5Q==
+ dependencies:
+ "@csstools/postcss-progressive-custom-properties" "^4.2.0"
+ "@csstools/utilities" "^2.0.0"
+ postcss-value-parser "^4.2.0"
+
+"@csstools/postcss-initial@^2.0.1":
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/@csstools/postcss-initial/-/postcss-initial-2.0.1.tgz#c385bd9d8ad31ad159edd7992069e97ceea4d09a"
+ integrity sha512-L1wLVMSAZ4wovznquK0xmC7QSctzO4D0Is590bxpGqhqjboLXYA16dWZpfwImkdOgACdQ9PqXsuRroW6qPlEsg==
+
+"@csstools/postcss-is-pseudo-class@^5.0.3":
+ version "5.0.3"
+ resolved "https://registry.yarnpkg.com/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-5.0.3.tgz#d34e850bcad4013c2ed7abe948bfa0448aa8eb74"
+ integrity sha512-jS/TY4SpG4gszAtIg7Qnf3AS2pjcUM5SzxpApOrlndMeGhIbaTzWBzzP/IApXoNWEW7OhcjkRT48jnAUIFXhAQ==
+ dependencies:
+ "@csstools/selector-specificity" "^5.0.0"
+ postcss-selector-parser "^7.0.0"
+
+"@csstools/postcss-light-dark-function@^2.0.10":
+ version "2.0.10"
+ resolved "https://registry.yarnpkg.com/@csstools/postcss-light-dark-function/-/postcss-light-dark-function-2.0.10.tgz#b606f13d1f81efd297763c6ad1ac515c3ca4165b"
+ integrity sha512-g7Lwb294lSoNnyrwcqoooh9fTAp47rRNo+ILg7SLRSMU3K9ePIwRt566sNx+pehiCelv4E1ICaU1EwLQuyF2qw==
+ dependencies:
+ "@csstools/css-parser-algorithms" "^3.0.5"
+ "@csstools/css-tokenizer" "^3.0.4"
+ "@csstools/postcss-progressive-custom-properties" "^4.2.0"
+ "@csstools/utilities" "^2.0.0"
+
+"@csstools/postcss-logical-float-and-clear@^3.0.0":
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/@csstools/postcss-logical-float-and-clear/-/postcss-logical-float-and-clear-3.0.0.tgz#62617564182cf86ab5d4e7485433ad91e4c58571"
+ integrity sha512-SEmaHMszwakI2rqKRJgE+8rpotFfne1ZS6bZqBoQIicFyV+xT1UF42eORPxJkVJVrH9C0ctUgwMSn3BLOIZldQ==
+
+"@csstools/postcss-logical-overflow@^2.0.0":
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/@csstools/postcss-logical-overflow/-/postcss-logical-overflow-2.0.0.tgz#c6de7c5f04e3d4233731a847f6c62819bcbcfa1d"
+ integrity sha512-spzR1MInxPuXKEX2csMamshR4LRaSZ3UXVaRGjeQxl70ySxOhMpP2252RAFsg8QyyBXBzuVOOdx1+bVO5bPIzA==
+
+"@csstools/postcss-logical-overscroll-behavior@^2.0.0":
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/@csstools/postcss-logical-overscroll-behavior/-/postcss-logical-overscroll-behavior-2.0.0.tgz#43c03eaecdf34055ef53bfab691db6dc97a53d37"
+ integrity sha512-e/webMjoGOSYfqLunyzByZj5KKe5oyVg/YSbie99VEaSDE2kimFm0q1f6t/6Jo+VVCQ/jbe2Xy+uX+C4xzWs4w==
+
+"@csstools/postcss-logical-resize@^3.0.0":
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/@csstools/postcss-logical-resize/-/postcss-logical-resize-3.0.0.tgz#4df0eeb1a61d7bd85395e56a5cce350b5dbfdca6"
+ integrity sha512-DFbHQOFW/+I+MY4Ycd/QN6Dg4Hcbb50elIJCfnwkRTCX05G11SwViI5BbBlg9iHRl4ytB7pmY5ieAFk3ws7yyg==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+
+"@csstools/postcss-logical-viewport-units@^3.0.4":
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/@csstools/postcss-logical-viewport-units/-/postcss-logical-viewport-units-3.0.4.tgz#016d98a8b7b5f969e58eb8413447eb801add16fc"
+ integrity sha512-q+eHV1haXA4w9xBwZLKjVKAWn3W2CMqmpNpZUk5kRprvSiBEGMgrNH3/sJZ8UA3JgyHaOt3jwT9uFa4wLX4EqQ==
+ dependencies:
+ "@csstools/css-tokenizer" "^3.0.4"
+ "@csstools/utilities" "^2.0.0"
+
+"@csstools/postcss-media-minmax@^2.0.9":
+ version "2.0.9"
+ resolved "https://registry.yarnpkg.com/@csstools/postcss-media-minmax/-/postcss-media-minmax-2.0.9.tgz#184252d5b93155ae526689328af6bdf3fc113987"
+ integrity sha512-af9Qw3uS3JhYLnCbqtZ9crTvvkR+0Se+bBqSr7ykAnl9yKhk6895z9rf+2F4dClIDJWxgn0iZZ1PSdkhrbs2ig==
+ dependencies:
+ "@csstools/css-calc" "^2.1.4"
+ "@csstools/css-parser-algorithms" "^3.0.5"
+ "@csstools/css-tokenizer" "^3.0.4"
+ "@csstools/media-query-list-parser" "^4.0.3"
+
+"@csstools/postcss-media-queries-aspect-ratio-number-values@^3.0.5":
+ version "3.0.5"
+ resolved "https://registry.yarnpkg.com/@csstools/postcss-media-queries-aspect-ratio-number-values/-/postcss-media-queries-aspect-ratio-number-values-3.0.5.tgz#f485c31ec13d6b0fb5c528a3474334a40eff5f11"
+ integrity sha512-zhAe31xaaXOY2Px8IYfoVTB3wglbJUVigGphFLj6exb7cjZRH9A6adyE22XfFK3P2PzwRk0VDeTJmaxpluyrDg==
+ dependencies:
+ "@csstools/css-parser-algorithms" "^3.0.5"
+ "@csstools/css-tokenizer" "^3.0.4"
+ "@csstools/media-query-list-parser" "^4.0.3"
+
+"@csstools/postcss-nested-calc@^4.0.0":
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/@csstools/postcss-nested-calc/-/postcss-nested-calc-4.0.0.tgz#754e10edc6958d664c11cde917f44ba144141c62"
+ integrity sha512-jMYDdqrQQxE7k9+KjstC3NbsmC063n1FTPLCgCRS2/qHUbHM0mNy9pIn4QIiQGs9I/Bg98vMqw7mJXBxa0N88A==
+ dependencies:
+ "@csstools/utilities" "^2.0.0"
+ postcss-value-parser "^4.2.0"
+
+"@csstools/postcss-normalize-display-values@^4.0.0":
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.0.tgz#ecdde2daf4e192e5da0c6fd933b6d8aff32f2a36"
+ integrity sha512-HlEoG0IDRoHXzXnkV4in47dzsxdsjdz6+j7MLjaACABX2NfvjFS6XVAnpaDyGesz9gK2SC7MbNwdCHusObKJ9Q==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+
+"@csstools/postcss-oklab-function@^4.0.11":
+ version "4.0.11"
+ resolved "https://registry.yarnpkg.com/@csstools/postcss-oklab-function/-/postcss-oklab-function-4.0.11.tgz#d69242a9b027dda731bd79db7293bc938bb6df97"
+ integrity sha512-9f03ZGxZ2VmSCrM4SDXlAYP+Xpu4VFzemfQUQFL9OYxAbpvDy0FjDipZ0i8So1pgs8VIbQI0bNjFWgfdpGw8ig==
+ dependencies:
+ "@csstools/css-color-parser" "^3.1.0"
+ "@csstools/css-parser-algorithms" "^3.0.5"
+ "@csstools/css-tokenizer" "^3.0.4"
+ "@csstools/postcss-progressive-custom-properties" "^4.2.0"
+ "@csstools/utilities" "^2.0.0"
+
+"@csstools/postcss-progressive-custom-properties@^4.2.0":
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-4.2.0.tgz#7f15349c2cd108478d28e1503c660d4037925030"
+ integrity sha512-fWCXRasX17N1NCPTCuwC3FJDV+Wc031f16cFuuMEfIsYJ1q5ABCa59W0C6VeMGqjNv6ldf37vvwXXAeaZjD9PA==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+
+"@csstools/postcss-random-function@^2.0.1":
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/@csstools/postcss-random-function/-/postcss-random-function-2.0.1.tgz#3191f32fe72936e361dadf7dbfb55a0209e2691e"
+ integrity sha512-q+FQaNiRBhnoSNo+GzqGOIBKoHQ43lYz0ICrV+UudfWnEF6ksS6DsBIJSISKQT2Bvu3g4k6r7t0zYrk5pDlo8w==
+ dependencies:
+ "@csstools/css-calc" "^2.1.4"
+ "@csstools/css-parser-algorithms" "^3.0.5"
+ "@csstools/css-tokenizer" "^3.0.4"
+
+"@csstools/postcss-relative-color-syntax@^3.0.11":
+ version "3.0.11"
+ resolved "https://registry.yarnpkg.com/@csstools/postcss-relative-color-syntax/-/postcss-relative-color-syntax-3.0.11.tgz#d81d59ff123fa5f3e4a0493b1e2b0585353bb541"
+ integrity sha512-oQ5fZvkcBrWR+k6arHXk0F8FlkmD4IxM+rcGDLWrF2f31tWyEM3lSraeWAV0f7BGH6LIrqmyU3+Qo/1acfoJng==
+ dependencies:
+ "@csstools/css-color-parser" "^3.1.0"
+ "@csstools/css-parser-algorithms" "^3.0.5"
+ "@csstools/css-tokenizer" "^3.0.4"
+ "@csstools/postcss-progressive-custom-properties" "^4.2.0"
+ "@csstools/utilities" "^2.0.0"
+
+"@csstools/postcss-scope-pseudo-class@^4.0.1":
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/@csstools/postcss-scope-pseudo-class/-/postcss-scope-pseudo-class-4.0.1.tgz#9fe60e9d6d91d58fb5fc6c768a40f6e47e89a235"
+ integrity sha512-IMi9FwtH6LMNuLea1bjVMQAsUhFxJnyLSgOp/cpv5hrzWmrUYU5fm0EguNDIIOHUqzXode8F/1qkC/tEo/qN8Q==
+ dependencies:
+ postcss-selector-parser "^7.0.0"
+
+"@csstools/postcss-sign-functions@^1.1.4":
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/@csstools/postcss-sign-functions/-/postcss-sign-functions-1.1.4.tgz#a9ac56954014ae4c513475b3f1b3e3424a1e0c12"
+ integrity sha512-P97h1XqRPcfcJndFdG95Gv/6ZzxUBBISem0IDqPZ7WMvc/wlO+yU0c5D/OCpZ5TJoTt63Ok3knGk64N+o6L2Pg==
+ dependencies:
+ "@csstools/css-calc" "^2.1.4"
+ "@csstools/css-parser-algorithms" "^3.0.5"
+ "@csstools/css-tokenizer" "^3.0.4"
+
+"@csstools/postcss-stepped-value-functions@^4.0.9":
+ version "4.0.9"
+ resolved "https://registry.yarnpkg.com/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-4.0.9.tgz#36036f1a0e5e5ee2308e72f3c9cb433567c387b9"
+ integrity sha512-h9btycWrsex4dNLeQfyU3y3w40LMQooJWFMm/SK9lrKguHDcFl4VMkncKKoXi2z5rM9YGWbUQABI8BT2UydIcA==
+ dependencies:
+ "@csstools/css-calc" "^2.1.4"
+ "@csstools/css-parser-algorithms" "^3.0.5"
+ "@csstools/css-tokenizer" "^3.0.4"
+
+"@csstools/postcss-text-decoration-shorthand@^4.0.3":
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-4.0.3.tgz#fae1b70f07d1b7beb4c841c86d69e41ecc6f743c"
+ integrity sha512-KSkGgZfx0kQjRIYnpsD7X2Om9BUXX/Kii77VBifQW9Ih929hK0KNjVngHDH0bFB9GmfWcR9vJYJJRvw/NQjkrA==
+ dependencies:
+ "@csstools/color-helpers" "^5.1.0"
+ postcss-value-parser "^4.2.0"
+
+"@csstools/postcss-trigonometric-functions@^4.0.9":
+ version "4.0.9"
+ resolved "https://registry.yarnpkg.com/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-4.0.9.tgz#3f94ed2e319b57f2c59720b64e4d0a8a6fb8c3b2"
+ integrity sha512-Hnh5zJUdpNrJqK9v1/E3BbrQhaDTj5YiX7P61TOvUhoDHnUmsNNxcDAgkQ32RrcWx9GVUvfUNPcUkn8R3vIX6A==
+ dependencies:
+ "@csstools/css-calc" "^2.1.4"
+ "@csstools/css-parser-algorithms" "^3.0.5"
+ "@csstools/css-tokenizer" "^3.0.4"
+
+"@csstools/postcss-unset-value@^4.0.0":
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/@csstools/postcss-unset-value/-/postcss-unset-value-4.0.0.tgz#7caa981a34196d06a737754864baf77d64de4bba"
+ integrity sha512-cBz3tOCI5Fw6NIFEwU3RiwK6mn3nKegjpJuzCndoGq3BZPkUjnsq7uQmIeMNeMbMk7YD2MfKcgCpZwX5jyXqCA==
+
+"@csstools/selector-resolve-nested@^3.1.0":
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/@csstools/selector-resolve-nested/-/selector-resolve-nested-3.1.0.tgz#848c6f44cb65e3733e478319b9342b7aa436fac7"
+ integrity sha512-mf1LEW0tJLKfWyvn5KdDrhpxHyuxpbNwTIwOYLIvsTffeyOf85j5oIzfG0yosxDgx/sswlqBnESYUcQH0vgZ0g==
+
+"@csstools/selector-specificity@^5.0.0":
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz#037817b574262134cabd68fc4ec1a454f168407b"
+ integrity sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==
+
+"@csstools/utilities@^2.0.0":
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/@csstools/utilities/-/utilities-2.0.0.tgz#f7ff0fee38c9ffb5646d47b6906e0bc8868bde60"
+ integrity sha512-5VdOr0Z71u+Yp3ozOx8T11N703wIFGVRgOWbOZMKgglPJsWA54MRIoMNVMa7shUToIhx5J8vX4sOZgD2XiihiQ==
+
+"@discoveryjs/json-ext@0.5.7":
+ version "0.5.7"
+ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70"
+ integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==
+
+"@docsearch/css@3.9.0":
+ version "3.9.0"
+ resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-3.9.0.tgz#3bc29c96bf024350d73b0cfb7c2a7b71bf251cd5"
+ integrity sha512-cQbnVbq0rrBwNAKegIac/t6a8nWoUAn8frnkLFW6YARaRmAQr5/Eoe6Ln2fqkUCZ40KpdrKbpSAmgrkviOxuWA==
+
+"@docsearch/react@^3.9.0":
+ version "3.9.0"
+ resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-3.9.0.tgz#d0842b700c3ee26696786f3c8ae9f10c1a3f0db3"
+ integrity sha512-mb5FOZYZIkRQ6s/NWnM98k879vu5pscWqTLubLFBO87igYYT4VzVazh4h5o/zCvTIZgEt3PvsCOMOswOUo9yHQ==
+ dependencies:
+ "@algolia/autocomplete-core" "1.17.9"
+ "@algolia/autocomplete-preset-algolia" "1.17.9"
+ "@docsearch/css" "3.9.0"
+ algoliasearch "^5.14.2"
+
+"@docusaurus/babel@3.8.1":
+ version "3.8.1"
+ resolved "https://registry.yarnpkg.com/@docusaurus/babel/-/babel-3.8.1.tgz#db329ac047184214e08e2dbc809832c696c18506"
+ integrity sha512-3brkJrml8vUbn9aeoZUlJfsI/GqyFcDgQJwQkmBtclJgWDEQBKKeagZfOgx0WfUQhagL1sQLNW0iBdxnI863Uw==
+ dependencies:
+ "@babel/core" "^7.25.9"
+ "@babel/generator" "^7.25.9"
+ "@babel/plugin-syntax-dynamic-import" "^7.8.3"
+ "@babel/plugin-transform-runtime" "^7.25.9"
+ "@babel/preset-env" "^7.25.9"
+ "@babel/preset-react" "^7.25.9"
+ "@babel/preset-typescript" "^7.25.9"
+ "@babel/runtime" "^7.25.9"
+ "@babel/runtime-corejs3" "^7.25.9"
+ "@babel/traverse" "^7.25.9"
+ "@docusaurus/logger" "3.8.1"
+ "@docusaurus/utils" "3.8.1"
+ babel-plugin-dynamic-import-node "^2.3.3"
+ fs-extra "^11.1.1"
+ tslib "^2.6.0"
+
+"@docusaurus/bundler@3.8.1":
+ version "3.8.1"
+ resolved "https://registry.yarnpkg.com/@docusaurus/bundler/-/bundler-3.8.1.tgz#e2b11d615f09a6e470774bb36441b8d06736b94c"
+ integrity sha512-/z4V0FRoQ0GuSLToNjOSGsk6m2lQUG4FRn8goOVoZSRsTrU8YR2aJacX5K3RG18EaX9b+52pN4m1sL3MQZVsQA==
+ dependencies:
+ "@babel/core" "^7.25.9"
+ "@docusaurus/babel" "3.8.1"
+ "@docusaurus/cssnano-preset" "3.8.1"
+ "@docusaurus/logger" "3.8.1"
+ "@docusaurus/types" "3.8.1"
+ "@docusaurus/utils" "3.8.1"
+ babel-loader "^9.2.1"
+ clean-css "^5.3.3"
+ copy-webpack-plugin "^11.0.0"
+ css-loader "^6.11.0"
+ css-minimizer-webpack-plugin "^5.0.1"
+ cssnano "^6.1.2"
+ file-loader "^6.2.0"
+ html-minifier-terser "^7.2.0"
+ mini-css-extract-plugin "^2.9.2"
+ null-loader "^4.0.1"
+ postcss "^8.5.4"
+ postcss-loader "^7.3.4"
+ postcss-preset-env "^10.2.1"
+ terser-webpack-plugin "^5.3.9"
+ tslib "^2.6.0"
+ url-loader "^4.1.1"
+ webpack "^5.95.0"
+ webpackbar "^6.0.1"
+
+"@docusaurus/core@3.8.1":
+ version "3.8.1"
+ resolved "https://registry.yarnpkg.com/@docusaurus/core/-/core-3.8.1.tgz#c22e47c16a22cb7d245306c64bc54083838ff3db"
+ integrity sha512-ENB01IyQSqI2FLtOzqSI3qxG2B/jP4gQPahl2C3XReiLebcVh5B5cB9KYFvdoOqOWPyr5gXK4sjgTKv7peXCrA==
+ dependencies:
+ "@docusaurus/babel" "3.8.1"
+ "@docusaurus/bundler" "3.8.1"
+ "@docusaurus/logger" "3.8.1"
+ "@docusaurus/mdx-loader" "3.8.1"
+ "@docusaurus/utils" "3.8.1"
+ "@docusaurus/utils-common" "3.8.1"
+ "@docusaurus/utils-validation" "3.8.1"
+ boxen "^6.2.1"
+ chalk "^4.1.2"
+ chokidar "^3.5.3"
+ cli-table3 "^0.6.3"
+ combine-promises "^1.1.0"
+ commander "^5.1.0"
+ core-js "^3.31.1"
+ detect-port "^1.5.1"
+ escape-html "^1.0.3"
+ eta "^2.2.0"
+ eval "^0.1.8"
+ execa "5.1.1"
+ fs-extra "^11.1.1"
+ html-tags "^3.3.1"
+ html-webpack-plugin "^5.6.0"
+ leven "^3.1.0"
+ lodash "^4.17.21"
+ open "^8.4.0"
+ p-map "^4.0.0"
+ prompts "^2.4.2"
+ react-helmet-async "npm:@slorber/react-helmet-async@1.3.0"
+ react-loadable "npm:@docusaurus/react-loadable@6.0.0"
+ react-loadable-ssr-addon-v5-slorber "^1.0.1"
+ react-router "^5.3.4"
+ react-router-config "^5.1.1"
+ react-router-dom "^5.3.4"
+ semver "^7.5.4"
+ serve-handler "^6.1.6"
+ tinypool "^1.0.2"
+ tslib "^2.6.0"
+ update-notifier "^6.0.2"
+ webpack "^5.95.0"
+ webpack-bundle-analyzer "^4.10.2"
+ webpack-dev-server "^4.15.2"
+ webpack-merge "^6.0.1"
+
+"@docusaurus/cssnano-preset@3.8.1":
+ version "3.8.1"
+ resolved "https://registry.yarnpkg.com/@docusaurus/cssnano-preset/-/cssnano-preset-3.8.1.tgz#bd55026251a6ab8e2194839a2042458ef9880c44"
+ integrity sha512-G7WyR2N6SpyUotqhGznERBK+x84uyhfMQM2MmDLs88bw4Flom6TY46HzkRkSEzaP9j80MbTN8naiL1fR17WQug==
+ dependencies:
+ cssnano-preset-advanced "^6.1.2"
+ postcss "^8.5.4"
+ postcss-sort-media-queries "^5.2.0"
+ tslib "^2.6.0"
+
+"@docusaurus/logger@3.8.1":
+ version "3.8.1"
+ resolved "https://registry.yarnpkg.com/@docusaurus/logger/-/logger-3.8.1.tgz#45321b2e2e14695d0dbd8b4104ea7b0fbaa98700"
+ integrity sha512-2wjeGDhKcExEmjX8k1N/MRDiPKXGF2Pg+df/bDDPnnJWHXnVEZxXj80d6jcxp1Gpnksl0hF8t/ZQw9elqj2+ww==
+ dependencies:
+ chalk "^4.1.2"
+ tslib "^2.6.0"
+
+"@docusaurus/mdx-loader@3.8.1":
+ version "3.8.1"
+ resolved "https://registry.yarnpkg.com/@docusaurus/mdx-loader/-/mdx-loader-3.8.1.tgz#74309b3614bbcef1d55fb13e6cc339b7fb000b5f"
+ integrity sha512-DZRhagSFRcEq1cUtBMo4TKxSNo/W6/s44yhr8X+eoXqCLycFQUylebOMPseHi5tc4fkGJqwqpWJLz6JStU9L4w==
+ dependencies:
+ "@docusaurus/logger" "3.8.1"
+ "@docusaurus/utils" "3.8.1"
+ "@docusaurus/utils-validation" "3.8.1"
+ "@mdx-js/mdx" "^3.0.0"
+ "@slorber/remark-comment" "^1.0.0"
+ escape-html "^1.0.3"
+ estree-util-value-to-estree "^3.0.1"
+ file-loader "^6.2.0"
+ fs-extra "^11.1.1"
+ image-size "^2.0.2"
+ mdast-util-mdx "^3.0.0"
+ mdast-util-to-string "^4.0.0"
+ rehype-raw "^7.0.0"
+ remark-directive "^3.0.0"
+ remark-emoji "^4.0.0"
+ remark-frontmatter "^5.0.0"
+ remark-gfm "^4.0.0"
+ stringify-object "^3.3.0"
+ tslib "^2.6.0"
+ unified "^11.0.3"
+ unist-util-visit "^5.0.0"
+ url-loader "^4.1.1"
+ vfile "^6.0.1"
+ webpack "^5.88.1"
+
+"@docusaurus/module-type-aliases@3.8.1":
+ version "3.8.1"
+ resolved "https://registry.yarnpkg.com/@docusaurus/module-type-aliases/-/module-type-aliases-3.8.1.tgz#454de577bd7f50b5eae16db0f76b49ca5e4e281a"
+ integrity sha512-6xhvAJiXzsaq3JdosS7wbRt/PwEPWHr9eM4YNYqVlbgG1hSK3uQDXTVvQktasp3VO6BmfYWPozueLWuj4gB+vg==
+ dependencies:
+ "@docusaurus/types" "3.8.1"
+ "@types/history" "^4.7.11"
+ "@types/react" "*"
+ "@types/react-router-config" "*"
+ "@types/react-router-dom" "*"
+ react-helmet-async "npm:@slorber/react-helmet-async@1.3.0"
+ react-loadable "npm:@docusaurus/react-loadable@6.0.0"
+
+"@docusaurus/plugin-content-blog@3.8.1":
+ version "3.8.1"
+ resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.8.1.tgz#88d842b562b04cf59df900d9f6984b086f821525"
+ integrity sha512-vNTpMmlvNP9n3hGEcgPaXyvTljanAKIUkuG9URQ1DeuDup0OR7Ltvoc8yrmH+iMZJbcQGhUJF+WjHLwuk8HSdw==
+ dependencies:
+ "@docusaurus/core" "3.8.1"
+ "@docusaurus/logger" "3.8.1"
+ "@docusaurus/mdx-loader" "3.8.1"
+ "@docusaurus/theme-common" "3.8.1"
+ "@docusaurus/types" "3.8.1"
+ "@docusaurus/utils" "3.8.1"
+ "@docusaurus/utils-common" "3.8.1"
+ "@docusaurus/utils-validation" "3.8.1"
+ cheerio "1.0.0-rc.12"
+ feed "^4.2.2"
+ fs-extra "^11.1.1"
+ lodash "^4.17.21"
+ schema-dts "^1.1.2"
+ srcset "^4.0.0"
+ tslib "^2.6.0"
+ unist-util-visit "^5.0.0"
+ utility-types "^3.10.0"
+ webpack "^5.88.1"
+
+"@docusaurus/plugin-content-docs@3.8.1":
+ version "3.8.1"
+ resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.8.1.tgz#40686a206abb6373bee5638de100a2c312f112a4"
+ integrity sha512-oByRkSZzeGNQByCMaX+kif5Nl2vmtj2IHQI2fWjCfCootsdKZDPFLonhIp5s3IGJO7PLUfe0POyw0Xh/RrGXJA==
+ dependencies:
+ "@docusaurus/core" "3.8.1"
+ "@docusaurus/logger" "3.8.1"
+ "@docusaurus/mdx-loader" "3.8.1"
+ "@docusaurus/module-type-aliases" "3.8.1"
+ "@docusaurus/theme-common" "3.8.1"
+ "@docusaurus/types" "3.8.1"
+ "@docusaurus/utils" "3.8.1"
+ "@docusaurus/utils-common" "3.8.1"
+ "@docusaurus/utils-validation" "3.8.1"
+ "@types/react-router-config" "^5.0.7"
+ combine-promises "^1.1.0"
+ fs-extra "^11.1.1"
+ js-yaml "^4.1.0"
+ lodash "^4.17.21"
+ schema-dts "^1.1.2"
+ tslib "^2.6.0"
+ utility-types "^3.10.0"
+ webpack "^5.88.1"
+
+"@docusaurus/plugin-content-pages@3.8.1":
+ version "3.8.1"
+ resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.8.1.tgz#41b684dbd15390b7bb6a627f78bf81b6324511ac"
+ integrity sha512-a+V6MS2cIu37E/m7nDJn3dcxpvXb6TvgdNI22vJX8iUTp8eoMoPa0VArEbWvCxMY/xdC26WzNv4wZ6y0iIni/w==
+ dependencies:
+ "@docusaurus/core" "3.8.1"
+ "@docusaurus/mdx-loader" "3.8.1"
+ "@docusaurus/types" "3.8.1"
+ "@docusaurus/utils" "3.8.1"
+ "@docusaurus/utils-validation" "3.8.1"
+ fs-extra "^11.1.1"
+ tslib "^2.6.0"
+ webpack "^5.88.1"
+
+"@docusaurus/plugin-css-cascade-layers@3.8.1":
+ version "3.8.1"
+ resolved "https://registry.yarnpkg.com/@docusaurus/plugin-css-cascade-layers/-/plugin-css-cascade-layers-3.8.1.tgz#cb414b4a82aa60fc64ef2a435ad0105e142a6c71"
+ integrity sha512-VQ47xRxfNKjHS5ItzaVXpxeTm7/wJLFMOPo1BkmoMG4Cuz4nuI+Hs62+RMk1OqVog68Swz66xVPK8g9XTrBKRw==
+ dependencies:
+ "@docusaurus/core" "3.8.1"
+ "@docusaurus/types" "3.8.1"
+ "@docusaurus/utils" "3.8.1"
+ "@docusaurus/utils-validation" "3.8.1"
+ tslib "^2.6.0"
+
+"@docusaurus/plugin-debug@3.8.1":
+ version "3.8.1"
+ resolved "https://registry.yarnpkg.com/@docusaurus/plugin-debug/-/plugin-debug-3.8.1.tgz#45b107e46b627caaae66995f53197ace78af3491"
+ integrity sha512-nT3lN7TV5bi5hKMB7FK8gCffFTBSsBsAfV84/v293qAmnHOyg1nr9okEw8AiwcO3bl9vije5nsUvP0aRl2lpaw==
+ dependencies:
+ "@docusaurus/core" "3.8.1"
+ "@docusaurus/types" "3.8.1"
+ "@docusaurus/utils" "3.8.1"
+ fs-extra "^11.1.1"
+ react-json-view-lite "^2.3.0"
+ tslib "^2.6.0"
+
+"@docusaurus/plugin-google-analytics@3.8.1":
+ version "3.8.1"
+ resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.8.1.tgz#64a302e62fe5cb6e007367c964feeef7b056764a"
+ integrity sha512-Hrb/PurOJsmwHAsfMDH6oVpahkEGsx7F8CWMjyP/dw1qjqmdS9rcV1nYCGlM8nOtD3Wk/eaThzUB5TSZsGz+7Q==
+ dependencies:
+ "@docusaurus/core" "3.8.1"
+ "@docusaurus/types" "3.8.1"
+ "@docusaurus/utils-validation" "3.8.1"
+ tslib "^2.6.0"
+
+"@docusaurus/plugin-google-gtag@3.8.1":
+ version "3.8.1"
+ resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.8.1.tgz#8c76f8a1d96448f2f0f7b10e6bde451c40672b95"
+ integrity sha512-tKE8j1cEZCh8KZa4aa80zpSTxsC2/ZYqjx6AAfd8uA8VHZVw79+7OTEP2PoWi0uL5/1Is0LF5Vwxd+1fz5HlKg==
+ dependencies:
+ "@docusaurus/core" "3.8.1"
+ "@docusaurus/types" "3.8.1"
+ "@docusaurus/utils-validation" "3.8.1"
+ "@types/gtag.js" "^0.0.12"
+ tslib "^2.6.0"
+
+"@docusaurus/plugin-google-tag-manager@3.8.1":
+ version "3.8.1"
+ resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.8.1.tgz#88241ffd06369f4a4d5fb982ff3ac2777561ae37"
+ integrity sha512-iqe3XKITBquZq+6UAXdb1vI0fPY5iIOitVjPQ581R1ZKpHr0qe+V6gVOrrcOHixPDD/BUKdYwkxFjpNiEN+vBw==
+ dependencies:
+ "@docusaurus/core" "3.8.1"
+ "@docusaurus/types" "3.8.1"
+ "@docusaurus/utils-validation" "3.8.1"
+ tslib "^2.6.0"
+
+"@docusaurus/plugin-sitemap@3.8.1":
+ version "3.8.1"
+ resolved "https://registry.yarnpkg.com/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.8.1.tgz#3aebd39186dc30e53023f1aab44625bc0bdac892"
+ integrity sha512-+9YV/7VLbGTq8qNkjiugIelmfUEVkTyLe6X8bWq7K5qPvGXAjno27QAfFq63mYfFFbJc7z+pudL63acprbqGzw==
+ dependencies:
+ "@docusaurus/core" "3.8.1"
+ "@docusaurus/logger" "3.8.1"
+ "@docusaurus/types" "3.8.1"
+ "@docusaurus/utils" "3.8.1"
+ "@docusaurus/utils-common" "3.8.1"
+ "@docusaurus/utils-validation" "3.8.1"
+ fs-extra "^11.1.1"
+ sitemap "^7.1.1"
+ tslib "^2.6.0"
+
+"@docusaurus/plugin-svgr@3.8.1":
+ version "3.8.1"
+ resolved "https://registry.yarnpkg.com/@docusaurus/plugin-svgr/-/plugin-svgr-3.8.1.tgz#6f340be8eae418a2cce540d8ece096ffd9c9b6ab"
+ integrity sha512-rW0LWMDsdlsgowVwqiMb/7tANDodpy1wWPwCcamvhY7OECReN3feoFwLjd/U4tKjNY3encj0AJSTxJA+Fpe+Gw==
+ dependencies:
+ "@docusaurus/core" "3.8.1"
+ "@docusaurus/types" "3.8.1"
+ "@docusaurus/utils" "3.8.1"
+ "@docusaurus/utils-validation" "3.8.1"
+ "@svgr/core" "8.1.0"
+ "@svgr/webpack" "^8.1.0"
+ tslib "^2.6.0"
+ webpack "^5.88.1"
+
+"@docusaurus/preset-classic@3.8.1":
+ version "3.8.1"
+ resolved "https://registry.yarnpkg.com/@docusaurus/preset-classic/-/preset-classic-3.8.1.tgz#bb79fd12f3211363720c569a526c7e24d3aa966b"
+ integrity sha512-yJSjYNHXD8POMGc2mKQuj3ApPrN+eG0rO1UPgSx7jySpYU+n4WjBikbrA2ue5ad9A7aouEtMWUoiSRXTH/g7KQ==
+ dependencies:
+ "@docusaurus/core" "3.8.1"
+ "@docusaurus/plugin-content-blog" "3.8.1"
+ "@docusaurus/plugin-content-docs" "3.8.1"
+ "@docusaurus/plugin-content-pages" "3.8.1"
+ "@docusaurus/plugin-css-cascade-layers" "3.8.1"
+ "@docusaurus/plugin-debug" "3.8.1"
+ "@docusaurus/plugin-google-analytics" "3.8.1"
+ "@docusaurus/plugin-google-gtag" "3.8.1"
+ "@docusaurus/plugin-google-tag-manager" "3.8.1"
+ "@docusaurus/plugin-sitemap" "3.8.1"
+ "@docusaurus/plugin-svgr" "3.8.1"
+ "@docusaurus/theme-classic" "3.8.1"
+ "@docusaurus/theme-common" "3.8.1"
+ "@docusaurus/theme-search-algolia" "3.8.1"
+ "@docusaurus/types" "3.8.1"
+
+"@docusaurus/theme-classic@3.8.1":
+ version "3.8.1"
+ resolved "https://registry.yarnpkg.com/@docusaurus/theme-classic/-/theme-classic-3.8.1.tgz#1e45c66d89ded359225fcd29bf3258d9205765c1"
+ integrity sha512-bqDUCNqXeYypMCsE1VcTXSI1QuO4KXfx8Cvl6rYfY0bhhqN6d2WZlRkyLg/p6pm+DzvanqHOyYlqdPyP0iz+iw==
+ dependencies:
+ "@docusaurus/core" "3.8.1"
+ "@docusaurus/logger" "3.8.1"
+ "@docusaurus/mdx-loader" "3.8.1"
+ "@docusaurus/module-type-aliases" "3.8.1"
+ "@docusaurus/plugin-content-blog" "3.8.1"
+ "@docusaurus/plugin-content-docs" "3.8.1"
+ "@docusaurus/plugin-content-pages" "3.8.1"
+ "@docusaurus/theme-common" "3.8.1"
+ "@docusaurus/theme-translations" "3.8.1"
+ "@docusaurus/types" "3.8.1"
+ "@docusaurus/utils" "3.8.1"
+ "@docusaurus/utils-common" "3.8.1"
+ "@docusaurus/utils-validation" "3.8.1"
+ "@mdx-js/react" "^3.0.0"
+ clsx "^2.0.0"
+ copy-text-to-clipboard "^3.2.0"
+ infima "0.2.0-alpha.45"
+ lodash "^4.17.21"
+ nprogress "^0.2.0"
+ postcss "^8.5.4"
+ prism-react-renderer "^2.3.0"
+ prismjs "^1.29.0"
+ react-router-dom "^5.3.4"
+ rtlcss "^4.1.0"
+ tslib "^2.6.0"
+ utility-types "^3.10.0"
+
+"@docusaurus/theme-common@3.8.1":
+ version "3.8.1"
+ resolved "https://registry.yarnpkg.com/@docusaurus/theme-common/-/theme-common-3.8.1.tgz#17c23316fbe3ee3f7e707c7298cb59a0fff38b4b"
+ integrity sha512-UswMOyTnPEVRvN5Qzbo+l8k4xrd5fTFu2VPPfD6FcW/6qUtVLmJTQCktbAL3KJ0BVXGm5aJXz/ZrzqFuZERGPw==
+ dependencies:
+ "@docusaurus/mdx-loader" "3.8.1"
+ "@docusaurus/module-type-aliases" "3.8.1"
+ "@docusaurus/utils" "3.8.1"
+ "@docusaurus/utils-common" "3.8.1"
+ "@types/history" "^4.7.11"
+ "@types/react" "*"
+ "@types/react-router-config" "*"
+ clsx "^2.0.0"
+ parse-numeric-range "^1.3.0"
+ prism-react-renderer "^2.3.0"
+ tslib "^2.6.0"
+ utility-types "^3.10.0"
+
+"@docusaurus/theme-search-algolia@3.8.1":
+ version "3.8.1"
+ resolved "https://registry.yarnpkg.com/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.8.1.tgz#3aa3d99c35cc2d4b709fcddd4df875a9b536e29b"
+ integrity sha512-NBFH5rZVQRAQM087aYSRKQ9yGEK9eHd+xOxQjqNpxMiV85OhJDD4ZGz6YJIod26Fbooy54UWVdzNU0TFeUUUzQ==
+ dependencies:
+ "@docsearch/react" "^3.9.0"
+ "@docusaurus/core" "3.8.1"
+ "@docusaurus/logger" "3.8.1"
+ "@docusaurus/plugin-content-docs" "3.8.1"
+ "@docusaurus/theme-common" "3.8.1"
+ "@docusaurus/theme-translations" "3.8.1"
+ "@docusaurus/utils" "3.8.1"
+ "@docusaurus/utils-validation" "3.8.1"
+ algoliasearch "^5.17.1"
+ algoliasearch-helper "^3.22.6"
+ clsx "^2.0.0"
+ eta "^2.2.0"
+ fs-extra "^11.1.1"
+ lodash "^4.17.21"
+ tslib "^2.6.0"
+ utility-types "^3.10.0"
+
+"@docusaurus/theme-translations@3.8.1":
+ version "3.8.1"
+ resolved "https://registry.yarnpkg.com/@docusaurus/theme-translations/-/theme-translations-3.8.1.tgz#4b1d76973eb53861e167c7723485e059ba4ffd0a"
+ integrity sha512-OTp6eebuMcf2rJt4bqnvuwmm3NVXfzfYejL+u/Y1qwKhZPrjPoKWfk1CbOP5xH5ZOPkiAsx4dHdQBRJszK3z2g==
+ dependencies:
+ fs-extra "^11.1.1"
+ tslib "^2.6.0"
+
+"@docusaurus/types@3.8.1":
+ version "3.8.1"
+ resolved "https://registry.yarnpkg.com/@docusaurus/types/-/types-3.8.1.tgz#83ab66c345464e003b576a49f78897482061fc26"
+ integrity sha512-ZPdW5AB+pBjiVrcLuw3dOS6BFlrG0XkS2lDGsj8TizcnREQg3J8cjsgfDviszOk4CweNfwo1AEELJkYaMUuOPg==
+ dependencies:
+ "@mdx-js/mdx" "^3.0.0"
+ "@types/history" "^4.7.11"
+ "@types/react" "*"
+ commander "^5.1.0"
+ joi "^17.9.2"
+ react-helmet-async "npm:@slorber/react-helmet-async@1.3.0"
+ utility-types "^3.10.0"
+ webpack "^5.95.0"
+ webpack-merge "^5.9.0"
+
+"@docusaurus/utils-common@3.8.1":
+ version "3.8.1"
+ resolved "https://registry.yarnpkg.com/@docusaurus/utils-common/-/utils-common-3.8.1.tgz#c369b8c3041afb7dcd595d4172beb1cc1015c85f"
+ integrity sha512-zTZiDlvpvoJIrQEEd71c154DkcriBecm4z94OzEE9kz7ikS3J+iSlABhFXM45mZ0eN5pVqqr7cs60+ZlYLewtg==
+ dependencies:
+ "@docusaurus/types" "3.8.1"
+ tslib "^2.6.0"
+
+"@docusaurus/utils-validation@3.8.1":
+ version "3.8.1"
+ resolved "https://registry.yarnpkg.com/@docusaurus/utils-validation/-/utils-validation-3.8.1.tgz#0499c0d151a4098a0963237057993282cfbd538e"
+ integrity sha512-gs5bXIccxzEbyVecvxg6upTwaUbfa0KMmTj7HhHzc016AGyxH2o73k1/aOD0IFrdCsfJNt37MqNI47s2MgRZMA==
+ dependencies:
+ "@docusaurus/logger" "3.8.1"
+ "@docusaurus/utils" "3.8.1"
+ "@docusaurus/utils-common" "3.8.1"
+ fs-extra "^11.2.0"
+ joi "^17.9.2"
+ js-yaml "^4.1.0"
+ lodash "^4.17.21"
+ tslib "^2.6.0"
+
+"@docusaurus/utils@3.8.1":
+ version "3.8.1"
+ resolved "https://registry.yarnpkg.com/@docusaurus/utils/-/utils-3.8.1.tgz#2ac1e734106e2f73dbd0f6a8824d525f9064e9f0"
+ integrity sha512-P1ml0nvOmEFdmu0smSXOqTS1sxU5tqvnc0dA4MTKV39kye+bhQnjkIKEE18fNOvxjyB86k8esoCIFM3x4RykOQ==
+ dependencies:
+ "@docusaurus/logger" "3.8.1"
+ "@docusaurus/types" "3.8.1"
+ "@docusaurus/utils-common" "3.8.1"
+ escape-string-regexp "^4.0.0"
+ execa "5.1.1"
+ file-loader "^6.2.0"
+ fs-extra "^11.1.1"
+ github-slugger "^1.5.0"
+ globby "^11.1.0"
+ gray-matter "^4.0.3"
+ jiti "^1.20.0"
+ js-yaml "^4.1.0"
+ lodash "^4.17.21"
+ micromatch "^4.0.5"
+ p-queue "^6.6.2"
+ prompts "^2.4.2"
+ resolve-pathname "^3.0.0"
+ tslib "^2.6.0"
+ url-loader "^4.1.1"
+ utility-types "^3.10.0"
+ webpack "^5.88.1"
+
+"@emotion/babel-plugin@^11.13.5":
+ version "11.13.5"
+ resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.13.5.tgz#eab8d65dbded74e0ecfd28dc218e75607c4e7bc0"
+ integrity sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ==
+ dependencies:
+ "@babel/helper-module-imports" "^7.16.7"
+ "@babel/runtime" "^7.18.3"
+ "@emotion/hash" "^0.9.2"
+ "@emotion/memoize" "^0.9.0"
+ "@emotion/serialize" "^1.3.3"
+ babel-plugin-macros "^3.1.0"
+ convert-source-map "^1.5.0"
+ escape-string-regexp "^4.0.0"
+ find-root "^1.1.0"
+ source-map "^0.5.7"
+ stylis "4.2.0"
+
+"@emotion/cache@^11.14.0":
+ version "11.14.0"
+ resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.14.0.tgz#ee44b26986eeb93c8be82bb92f1f7a9b21b2ed76"
+ integrity sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA==
+ dependencies:
+ "@emotion/memoize" "^0.9.0"
+ "@emotion/sheet" "^1.4.0"
+ "@emotion/utils" "^1.4.2"
+ "@emotion/weak-memoize" "^0.4.0"
+ stylis "4.2.0"
+
+"@emotion/hash@^0.9.2":
+ version "0.9.2"
+ resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.9.2.tgz#ff9221b9f58b4dfe61e619a7788734bd63f6898b"
+ integrity sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==
+
+"@emotion/is-prop-valid@^1.3.0":
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-1.3.1.tgz#8d5cf1132f836d7adbe42cf0b49df7816fc88240"
+ integrity sha512-/ACwoqx7XQi9knQs/G0qKvv5teDMhD7bXYns9N/wM8ah8iNb8jZ2uNO0YOgiq2o2poIvVtJS2YALasQuMSQ7Kw==
+ dependencies:
+ "@emotion/memoize" "^0.9.0"
+
+"@emotion/memoize@^0.9.0":
+ version "0.9.0"
+ resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.9.0.tgz#745969d649977776b43fc7648c556aaa462b4102"
+ integrity sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==
+
+"@emotion/react@^11.14.0":
+ version "11.14.0"
+ resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.14.0.tgz#cfaae35ebc67dd9ef4ea2e9acc6cd29e157dd05d"
+ integrity sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA==
+ dependencies:
+ "@babel/runtime" "^7.18.3"
+ "@emotion/babel-plugin" "^11.13.5"
+ "@emotion/cache" "^11.14.0"
+ "@emotion/serialize" "^1.3.3"
+ "@emotion/use-insertion-effect-with-fallbacks" "^1.2.0"
+ "@emotion/utils" "^1.4.2"
+ "@emotion/weak-memoize" "^0.4.0"
+ hoist-non-react-statics "^3.3.1"
+
+"@emotion/serialize@^1.3.3":
+ version "1.3.3"
+ resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-1.3.3.tgz#d291531005f17d704d0463a032fe679f376509e8"
+ integrity sha512-EISGqt7sSNWHGI76hC7x1CksiXPahbxEOrC5RjmFRJTqLyEK9/9hZvBbiYn70dw4wuwMKiEMCUlR6ZXTSWQqxA==
+ dependencies:
+ "@emotion/hash" "^0.9.2"
+ "@emotion/memoize" "^0.9.0"
+ "@emotion/unitless" "^0.10.0"
+ "@emotion/utils" "^1.4.2"
+ csstype "^3.0.2"
+
+"@emotion/sheet@^1.4.0":
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.4.0.tgz#c9299c34d248bc26e82563735f78953d2efca83c"
+ integrity sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==
+
+"@emotion/styled@^11.14.1":
+ version "11.14.1"
+ resolved "https://registry.yarnpkg.com/@emotion/styled/-/styled-11.14.1.tgz#8c34bed2948e83e1980370305614c20955aacd1c"
+ integrity sha512-qEEJt42DuToa3gurlH4Qqc1kVpNq8wO8cJtDzU46TjlzWjDlsVyevtYCRijVq3SrHsROS+gVQ8Fnea108GnKzw==
+ dependencies:
+ "@babel/runtime" "^7.18.3"
+ "@emotion/babel-plugin" "^11.13.5"
+ "@emotion/is-prop-valid" "^1.3.0"
+ "@emotion/serialize" "^1.3.3"
+ "@emotion/use-insertion-effect-with-fallbacks" "^1.2.0"
+ "@emotion/utils" "^1.4.2"
+
+"@emotion/unitless@^0.10.0":
+ version "0.10.0"
+ resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.10.0.tgz#2af2f7c7e5150f497bdabd848ce7b218a27cf745"
+ integrity sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==
+
+"@emotion/use-insertion-effect-with-fallbacks@^1.2.0":
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.2.0.tgz#8a8cb77b590e09affb960f4ff1e9a89e532738bf"
+ integrity sha512-yJMtVdH59sxi/aVJBpk9FQq+OR8ll5GT8oWd57UpeaKEVGab41JWaCFA7FRLoMLloOZF/c/wsPoe+bfGmRKgDg==
+
+"@emotion/utils@^1.4.2":
+ version "1.4.2"
+ resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.4.2.tgz#6df6c45881fcb1c412d6688a311a98b7f59c1b52"
+ integrity sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA==
+
+"@emotion/weak-memoize@^0.4.0":
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz#5e13fac887f08c44f76b0ccaf3370eb00fec9bb6"
+ integrity sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==
+
+"@hapi/hoek@^9.0.0", "@hapi/hoek@^9.3.0":
+ version "9.3.0"
+ resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.3.0.tgz#8368869dcb735be2e7f5cb7647de78e167a251fb"
+ integrity sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==
+
+"@hapi/topo@^5.1.0":
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-5.1.0.tgz#dc448e332c6c6e37a4dc02fd84ba8d44b9afb012"
+ integrity sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==
+ dependencies:
+ "@hapi/hoek" "^9.0.0"
+
+"@iconify/react@^6.0.0":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/@iconify/react/-/react-6.0.1.tgz#15e2f5f18ce651666d09a5333f6d8a764bf45793"
+ integrity sha512-fCocnAfiGXjrA0u7KkS3W/OQHNp9LRFICudvOtxmS3Mf7U92aDhP50wyzRbobZli51zYt9ksZ9g0J7H586XvOQ==
+ dependencies:
+ "@iconify/types" "^2.0.0"
+
+"@iconify/types@^2.0.0":
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/@iconify/types/-/types-2.0.0.tgz#ab0e9ea681d6c8a1214f30cd741fe3a20cc57f57"
+ integrity sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==
+
+"@jest/schemas@^29.6.3":
+ version "29.6.3"
+ resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03"
+ integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==
+ dependencies:
+ "@sinclair/typebox" "^0.27.8"
+
+"@jest/types@^29.6.3":
+ version "29.6.3"
+ resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.6.3.tgz#1131f8cf634e7e84c5e77bab12f052af585fba59"
+ integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==
+ dependencies:
+ "@jest/schemas" "^29.6.3"
+ "@types/istanbul-lib-coverage" "^2.0.0"
+ "@types/istanbul-reports" "^3.0.0"
+ "@types/node" "*"
+ "@types/yargs" "^17.0.8"
+ chalk "^4.0.0"
+
+"@jridgewell/gen-mapping@^0.3.12", "@jridgewell/gen-mapping@^0.3.5":
+ version "0.3.13"
+ resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz#6342a19f44347518c93e43b1ac69deb3c4656a1f"
+ integrity sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==
+ dependencies:
+ "@jridgewell/sourcemap-codec" "^1.5.0"
+ "@jridgewell/trace-mapping" "^0.3.24"
+
+"@jridgewell/resolve-uri@^3.1.0":
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6"
+ integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==
+
+"@jridgewell/source-map@^0.3.3":
+ version "0.3.11"
+ resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.11.tgz#b21835cbd36db656b857c2ad02ebd413cc13a9ba"
+ integrity sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==
+ dependencies:
+ "@jridgewell/gen-mapping" "^0.3.5"
+ "@jridgewell/trace-mapping" "^0.3.25"
+
+"@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.5.0":
+ version "1.5.5"
+ resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz#6912b00d2c631c0d15ce1a7ab57cd657f2a8f8ba"
+ integrity sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==
+
+"@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25", "@jridgewell/trace-mapping@^0.3.28":
+ version "0.3.30"
+ resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.30.tgz#4a76c4daeee5df09f5d3940e087442fb36ce2b99"
+ integrity sha512-GQ7Nw5G2lTu/BtHTKfXhKHok2WGetd4XYcVKGx00SjAk8GMwgJM3zr6zORiPGuOE+/vkc90KtTosSSvaCjKb2Q==
+ dependencies:
+ "@jridgewell/resolve-uri" "^3.1.0"
+ "@jridgewell/sourcemap-codec" "^1.4.14"
+
+"@leichtgewicht/ip-codec@^2.0.1":
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz#4fc56c15c580b9adb7dc3c333a134e540b44bfb1"
+ integrity sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==
+
+"@mdx-js/mdx@^3.0.0":
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/@mdx-js/mdx/-/mdx-3.1.1.tgz#c5ffd991a7536b149e17175eee57a1a2a511c6d1"
+ integrity sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ==
+ dependencies:
+ "@types/estree" "^1.0.0"
+ "@types/estree-jsx" "^1.0.0"
+ "@types/hast" "^3.0.0"
+ "@types/mdx" "^2.0.0"
+ acorn "^8.0.0"
+ collapse-white-space "^2.0.0"
+ devlop "^1.0.0"
+ estree-util-is-identifier-name "^3.0.0"
+ estree-util-scope "^1.0.0"
+ estree-walker "^3.0.0"
+ hast-util-to-jsx-runtime "^2.0.0"
+ markdown-extensions "^2.0.0"
+ recma-build-jsx "^1.0.0"
+ recma-jsx "^1.0.0"
+ recma-stringify "^1.0.0"
+ rehype-recma "^1.0.0"
+ remark-mdx "^3.0.0"
+ remark-parse "^11.0.0"
+ remark-rehype "^11.0.0"
+ source-map "^0.7.0"
+ unified "^11.0.0"
+ unist-util-position-from-estree "^2.0.0"
+ unist-util-stringify-position "^4.0.0"
+ unist-util-visit "^5.0.0"
+ vfile "^6.0.0"
+
+"@mdx-js/react@^3.0.0":
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/@mdx-js/react/-/react-3.1.1.tgz#24bda7fffceb2fe256f954482123cda1be5f5fef"
+ integrity sha512-f++rKLQgUVYDAtECQ6fn/is15GkEH9+nZPM3MS0RcxVqoTfawHvDlSCH7JbMhAM6uJ32v3eXLvLmLvjGu7PTQw==
+ dependencies:
+ "@types/mdx" "^2.0.0"
+
+"@mui/core-downloads-tracker@^7.3.2":
+ version "7.3.2"
+ resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-7.3.2.tgz#896a7890864d619093dc79541ec1ecfa3b507ad2"
+ integrity sha512-AOyfHjyDKVPGJJFtxOlept3EYEdLoar/RvssBTWVAvDJGIE676dLi2oT/Kx+FoVXFoA/JdV7DEMq/BVWV3KHRw==
+
+"@mui/icons-material@^7.3.1":
+ version "7.3.2"
+ resolved "https://registry.yarnpkg.com/@mui/icons-material/-/icons-material-7.3.2.tgz#050049cd6195b815e85888aaebd436e8e95084b8"
+ integrity sha512-TZWazBjWXBjR6iGcNkbKklnwodcwj0SrChCNHc9BhD9rBgET22J1eFhHsEmvSvru9+opDy3umqAimQjokhfJlQ==
+ dependencies:
+ "@babel/runtime" "^7.28.3"
+
+"@mui/material@^7.3.1":
+ version "7.3.2"
+ resolved "https://registry.yarnpkg.com/@mui/material/-/material-7.3.2.tgz#21ad66bba695e2cd36e4a93e2e4ff5e04d8636a1"
+ integrity sha512-qXvbnawQhqUVfH1LMgMaiytP+ZpGoYhnGl7yYq2x57GYzcFL/iPzSZ3L30tlbwEjSVKNYcbiKO8tANR1tadjUg==
+ dependencies:
+ "@babel/runtime" "^7.28.3"
+ "@mui/core-downloads-tracker" "^7.3.2"
+ "@mui/system" "^7.3.2"
+ "@mui/types" "^7.4.6"
+ "@mui/utils" "^7.3.2"
+ "@popperjs/core" "^2.11.8"
+ "@types/react-transition-group" "^4.4.12"
+ clsx "^2.1.1"
+ csstype "^3.1.3"
+ prop-types "^15.8.1"
+ react-is "^19.1.1"
+ react-transition-group "^4.4.5"
+
+"@mui/private-theming@^7.3.2":
+ version "7.3.2"
+ resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-7.3.2.tgz#9b883ac9ec9288327de038da6ddf8ffa179be831"
+ integrity sha512-ha7mFoOyZGJr75xeiO9lugS3joRROjc8tG1u4P50dH0KR7bwhHznVMcYg7MouochUy0OxooJm/OOSpJ7gKcMvg==
+ dependencies:
+ "@babel/runtime" "^7.28.3"
+ "@mui/utils" "^7.3.2"
+ prop-types "^15.8.1"
+
+"@mui/styled-engine@^7.3.2":
+ version "7.3.2"
+ resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-7.3.2.tgz#cac6acb9480d6eaf60d9c99a7d24503e53236b32"
+ integrity sha512-PkJzW+mTaek4e0nPYZ6qLnW5RGa0KN+eRTf5FA2nc7cFZTeM+qebmGibaTLrgQBy3UpcpemaqfzToBNkzuxqew==
+ dependencies:
+ "@babel/runtime" "^7.28.3"
+ "@emotion/cache" "^11.14.0"
+ "@emotion/serialize" "^1.3.3"
+ "@emotion/sheet" "^1.4.0"
+ csstype "^3.1.3"
+ prop-types "^15.8.1"
+
+"@mui/system@^7.3.2":
+ version "7.3.2"
+ resolved "https://registry.yarnpkg.com/@mui/system/-/system-7.3.2.tgz#e838097fc6cb0a2e4c1822478950db89affb116a"
+ integrity sha512-9d8JEvZW+H6cVkaZ+FK56R53vkJe3HsTpcjMUtH8v1xK6Y1TjzHdZ7Jck02mGXJsE6MQGWVs3ogRHTQmS9Q/rA==
+ dependencies:
+ "@babel/runtime" "^7.28.3"
+ "@mui/private-theming" "^7.3.2"
+ "@mui/styled-engine" "^7.3.2"
+ "@mui/types" "^7.4.6"
+ "@mui/utils" "^7.3.2"
+ clsx "^2.1.1"
+ csstype "^3.1.3"
+ prop-types "^15.8.1"
+
+"@mui/types@^7.4.6":
+ version "7.4.6"
+ resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.4.6.tgz#1432e0814cf155287283f6bbd1e95976a148ef07"
+ integrity sha512-NVBbIw+4CDMMppNamVxyTccNv0WxtDb7motWDlMeSC8Oy95saj1TIZMGynPpFLePt3yOD8TskzumeqORCgRGWw==
+ dependencies:
+ "@babel/runtime" "^7.28.3"
+
+"@mui/utils@^7.3.2":
+ version "7.3.2"
+ resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-7.3.2.tgz#361775d72c557a03115150e8aec4329c7ef14563"
+ integrity sha512-4DMWQGenOdLnM3y/SdFQFwKsCLM+mqxzvoWp9+x2XdEzXapkznauHLiXtSohHs/mc0+5/9UACt1GdugCX2te5g==
+ dependencies:
+ "@babel/runtime" "^7.28.3"
+ "@mui/types" "^7.4.6"
+ "@types/prop-types" "^15.7.15"
+ clsx "^2.1.1"
+ prop-types "^15.8.1"
+ react-is "^19.1.1"
+
+"@nodelib/fs.scandir@2.1.5":
+ version "2.1.5"
+ resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
+ integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==
+ dependencies:
+ "@nodelib/fs.stat" "2.0.5"
+ run-parallel "^1.1.9"
+
+"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b"
+ integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
+
+"@nodelib/fs.walk@^1.2.3":
+ version "1.2.8"
+ resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a"
+ integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==
+ dependencies:
+ "@nodelib/fs.scandir" "2.1.5"
+ fastq "^1.6.0"
+
+"@pnpm/config.env-replace@^1.1.0":
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz#ab29da53df41e8948a00f2433f085f54de8b3a4c"
+ integrity sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==
+
+"@pnpm/network.ca-file@^1.0.1":
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz#2ab05e09c1af0cdf2fcf5035bea1484e222f7983"
+ integrity sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==
+ dependencies:
+ graceful-fs "4.2.10"
+
+"@pnpm/npm-conf@^2.1.0":
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/@pnpm/npm-conf/-/npm-conf-2.3.1.tgz#bb375a571a0bd63ab0a23bece33033c683e9b6b0"
+ integrity sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw==
+ dependencies:
+ "@pnpm/config.env-replace" "^1.1.0"
+ "@pnpm/network.ca-file" "^1.0.1"
+ config-chain "^1.1.11"
+
+"@polka/url@^1.0.0-next.24":
+ version "1.0.0-next.29"
+ resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.29.tgz#5a40109a1ab5f84d6fd8fc928b19f367cbe7e7b1"
+ integrity sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==
+
+"@popperjs/core@^2.11.8":
+ version "2.11.8"
+ resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.8.tgz#6b79032e760a0899cd4204710beede972a3a185f"
+ integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==
+
+"@sideway/address@^4.1.5":
+ version "4.1.5"
+ resolved "https://registry.yarnpkg.com/@sideway/address/-/address-4.1.5.tgz#4bc149a0076623ced99ca8208ba780d65a99b9d5"
+ integrity sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==
+ dependencies:
+ "@hapi/hoek" "^9.0.0"
+
+"@sideway/formula@^3.0.1":
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/@sideway/formula/-/formula-3.0.1.tgz#80fcbcbaf7ce031e0ef2dd29b1bfc7c3f583611f"
+ integrity sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==
+
+"@sideway/pinpoint@^2.0.0":
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/@sideway/pinpoint/-/pinpoint-2.0.0.tgz#cff8ffadc372ad29fd3f78277aeb29e632cc70df"
+ integrity sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==
+
+"@sinclair/typebox@^0.27.8":
+ version "0.27.8"
+ resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e"
+ integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==
+
+"@sindresorhus/is@^4.6.0":
+ version "4.6.0"
+ resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.6.0.tgz#3c7c9c46e678feefe7a2e5bb609d3dbd665ffb3f"
+ integrity sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==
+
+"@sindresorhus/is@^5.2.0":
+ version "5.6.0"
+ resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-5.6.0.tgz#41dd6093d34652cddb5d5bdeee04eafc33826668"
+ integrity sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==
+
+"@slorber/remark-comment@^1.0.0":
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/@slorber/remark-comment/-/remark-comment-1.0.0.tgz#2a020b3f4579c89dec0361673206c28d67e08f5a"
+ integrity sha512-RCE24n7jsOj1M0UPvIQCHTe7fI0sFL4S2nwKVWwHyVr/wI/H8GosgsJGyhnsZoGFnD/P2hLf1mSbrrgSLN93NA==
+ dependencies:
+ micromark-factory-space "^1.0.0"
+ micromark-util-character "^1.1.0"
+ micromark-util-symbol "^1.0.1"
+
+"@svgr/babel-plugin-add-jsx-attribute@8.0.0":
+ version "8.0.0"
+ resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz#4001f5d5dd87fa13303e36ee106e3ff3a7eb8b22"
+ integrity sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==
+
+"@svgr/babel-plugin-remove-jsx-attribute@8.0.0":
+ version "8.0.0"
+ resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz#69177f7937233caca3a1afb051906698f2f59186"
+ integrity sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==
+
+"@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0":
+ version "8.0.0"
+ resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz#c2c48104cfd7dcd557f373b70a56e9e3bdae1d44"
+ integrity sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==
+
+"@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0":
+ version "8.0.0"
+ resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz#8fbb6b2e91fa26ac5d4aa25c6b6e4f20f9c0ae27"
+ integrity sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==
+
+"@svgr/babel-plugin-svg-dynamic-title@8.0.0":
+ version "8.0.0"
+ resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz#1d5ba1d281363fc0f2f29a60d6d936f9bbc657b0"
+ integrity sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==
+
+"@svgr/babel-plugin-svg-em-dimensions@8.0.0":
+ version "8.0.0"
+ resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz#35e08df300ea8b1d41cb8f62309c241b0369e501"
+ integrity sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==
+
+"@svgr/babel-plugin-transform-react-native-svg@8.1.0":
+ version "8.1.0"
+ resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz#90a8b63998b688b284f255c6a5248abd5b28d754"
+ integrity sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==
+
+"@svgr/babel-plugin-transform-svg-component@8.0.0":
+ version "8.0.0"
+ resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz#013b4bfca88779711f0ed2739f3f7efcefcf4f7e"
+ integrity sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==
+
+"@svgr/babel-preset@8.1.0":
+ version "8.1.0"
+ resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-8.1.0.tgz#0e87119aecdf1c424840b9d4565b7137cabf9ece"
+ integrity sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==
+ dependencies:
+ "@svgr/babel-plugin-add-jsx-attribute" "8.0.0"
+ "@svgr/babel-plugin-remove-jsx-attribute" "8.0.0"
+ "@svgr/babel-plugin-remove-jsx-empty-expression" "8.0.0"
+ "@svgr/babel-plugin-replace-jsx-attribute-value" "8.0.0"
+ "@svgr/babel-plugin-svg-dynamic-title" "8.0.0"
+ "@svgr/babel-plugin-svg-em-dimensions" "8.0.0"
+ "@svgr/babel-plugin-transform-react-native-svg" "8.1.0"
+ "@svgr/babel-plugin-transform-svg-component" "8.0.0"
+
+"@svgr/core@8.1.0":
+ version "8.1.0"
+ resolved "https://registry.yarnpkg.com/@svgr/core/-/core-8.1.0.tgz#41146f9b40b1a10beaf5cc4f361a16a3c1885e88"
+ integrity sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==
+ dependencies:
+ "@babel/core" "^7.21.3"
+ "@svgr/babel-preset" "8.1.0"
+ camelcase "^6.2.0"
+ cosmiconfig "^8.1.3"
+ snake-case "^3.0.4"
+
+"@svgr/hast-util-to-babel-ast@8.0.0":
+ version "8.0.0"
+ resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz#6952fd9ce0f470e1aded293b792a2705faf4ffd4"
+ integrity sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==
+ dependencies:
+ "@babel/types" "^7.21.3"
+ entities "^4.4.0"
+
+"@svgr/plugin-jsx@8.1.0":
+ version "8.1.0"
+ resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz#96969f04a24b58b174ee4cd974c60475acbd6928"
+ integrity sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==
+ dependencies:
+ "@babel/core" "^7.21.3"
+ "@svgr/babel-preset" "8.1.0"
+ "@svgr/hast-util-to-babel-ast" "8.0.0"
+ svg-parser "^2.0.4"
+
+"@svgr/plugin-svgo@8.1.0":
+ version "8.1.0"
+ resolved "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz#b115b7b967b564f89ac58feae89b88c3decd0f00"
+ integrity sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==
+ dependencies:
+ cosmiconfig "^8.1.3"
+ deepmerge "^4.3.1"
+ svgo "^3.0.2"
+
+"@svgr/webpack@^8.1.0":
+ version "8.1.0"
+ resolved "https://registry.yarnpkg.com/@svgr/webpack/-/webpack-8.1.0.tgz#16f1b5346f102f89fda6ec7338b96a701d8be0c2"
+ integrity sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==
+ dependencies:
+ "@babel/core" "^7.21.3"
+ "@babel/plugin-transform-react-constant-elements" "^7.21.3"
+ "@babel/preset-env" "^7.20.2"
+ "@babel/preset-react" "^7.18.6"
+ "@babel/preset-typescript" "^7.21.0"
+ "@svgr/core" "8.1.0"
+ "@svgr/plugin-jsx" "8.1.0"
+ "@svgr/plugin-svgo" "8.1.0"
+
+"@szmarczak/http-timer@^5.0.1":
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-5.0.1.tgz#c7c1bf1141cdd4751b0399c8fc7b8b664cd5be3a"
+ integrity sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==
+ dependencies:
+ defer-to-connect "^2.0.1"
+
+"@trysound/sax@0.2.0":
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad"
+ integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==
+
+"@types/body-parser@*":
+ version "1.19.6"
+ resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.6.tgz#1859bebb8fd7dac9918a45d54c1971ab8b5af474"
+ integrity sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==
+ dependencies:
+ "@types/connect" "*"
+ "@types/node" "*"
+
+"@types/bonjour@^3.5.9":
+ version "3.5.13"
+ resolved "https://registry.yarnpkg.com/@types/bonjour/-/bonjour-3.5.13.tgz#adf90ce1a105e81dd1f9c61fdc5afda1bfb92956"
+ integrity sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==
+ dependencies:
+ "@types/node" "*"
+
+"@types/connect-history-api-fallback@^1.3.5":
+ version "1.5.4"
+ resolved "https://registry.yarnpkg.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz#7de71645a103056b48ac3ce07b3520b819c1d5b3"
+ integrity sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==
+ dependencies:
+ "@types/express-serve-static-core" "*"
+ "@types/node" "*"
+
+"@types/connect@*":
+ version "3.4.38"
+ resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.38.tgz#5ba7f3bc4fbbdeaff8dded952e5ff2cc53f8d858"
+ integrity sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==
+ dependencies:
+ "@types/node" "*"
+
+"@types/debug@^4.0.0":
+ version "4.1.12"
+ resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.12.tgz#a155f21690871953410df4b6b6f53187f0500917"
+ integrity sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==
+ dependencies:
+ "@types/ms" "*"
+
+"@types/eslint-scope@^3.7.7":
+ version "3.7.7"
+ resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.7.tgz#3108bd5f18b0cdb277c867b3dd449c9ed7079ac5"
+ integrity sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==
+ dependencies:
+ "@types/eslint" "*"
+ "@types/estree" "*"
+
+"@types/eslint@*":
+ version "9.6.1"
+ resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-9.6.1.tgz#d5795ad732ce81715f27f75da913004a56751584"
+ integrity sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==
+ dependencies:
+ "@types/estree" "*"
+ "@types/json-schema" "*"
+
+"@types/estree-jsx@^1.0.0":
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/@types/estree-jsx/-/estree-jsx-1.0.5.tgz#858a88ea20f34fe65111f005a689fa1ebf70dc18"
+ integrity sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==
+ dependencies:
+ "@types/estree" "*"
+
+"@types/estree@*", "@types/estree@^1.0.0", "@types/estree@^1.0.8":
+ version "1.0.8"
+ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.8.tgz#958b91c991b1867ced318bedea0e215ee050726e"
+ integrity sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==
+
+"@types/express-serve-static-core@*", "@types/express-serve-static-core@^5.0.0":
+ version "5.0.7"
+ resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-5.0.7.tgz#2fa94879c9d46b11a5df4c74ac75befd6b283de6"
+ integrity sha512-R+33OsgWw7rOhD1emjU7dzCDHucJrgJXMA5PYCzJxVil0dsyx5iBEPHqpPfiKNJQb7lZ1vxwoLR4Z87bBUpeGQ==
+ dependencies:
+ "@types/node" "*"
+ "@types/qs" "*"
+ "@types/range-parser" "*"
+ "@types/send" "*"
+
+"@types/express-serve-static-core@^4.17.33":
+ version "4.19.6"
+ resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz#e01324c2a024ff367d92c66f48553ced0ab50267"
+ integrity sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==
+ dependencies:
+ "@types/node" "*"
+ "@types/qs" "*"
+ "@types/range-parser" "*"
+ "@types/send" "*"
+
+"@types/express@*":
+ version "5.0.3"
+ resolved "https://registry.yarnpkg.com/@types/express/-/express-5.0.3.tgz#6c4bc6acddc2e2a587142e1d8be0bce20757e956"
+ integrity sha512-wGA0NX93b19/dZC1J18tKWVIYWyyF2ZjT9vin/NRu0qzzvfVzWjs04iq2rQ3H65vCTQYlRqs3YHfY7zjdV+9Kw==
+ dependencies:
+ "@types/body-parser" "*"
+ "@types/express-serve-static-core" "^5.0.0"
+ "@types/serve-static" "*"
+
+"@types/express@^4.17.13":
+ version "4.17.23"
+ resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.23.tgz#35af3193c640bfd4d7fe77191cd0ed411a433bef"
+ integrity sha512-Crp6WY9aTYP3qPi2wGDo9iUe/rceX01UMhnF1jmwDcKCFM6cx7YhGP/Mpr3y9AASpfHixIG0E6azCcL5OcDHsQ==
+ dependencies:
+ "@types/body-parser" "*"
+ "@types/express-serve-static-core" "^4.17.33"
+ "@types/qs" "*"
+ "@types/serve-static" "*"
+
+"@types/gtag.js@^0.0.12":
+ version "0.0.12"
+ resolved "https://registry.yarnpkg.com/@types/gtag.js/-/gtag.js-0.0.12.tgz#095122edca896689bdfcdd73b057e23064d23572"
+ integrity sha512-YQV9bUsemkzG81Ea295/nF/5GijnD2Af7QhEofh7xu+kvCN6RdodgNwwGWXB5GMI3NoyvQo0odNctoH/qLMIpg==
+
+"@types/hast@^3.0.0":
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/@types/hast/-/hast-3.0.4.tgz#1d6b39993b82cea6ad783945b0508c25903e15aa"
+ integrity sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==
+ dependencies:
+ "@types/unist" "*"
+
+"@types/history@^4.7.11":
+ version "4.7.11"
+ resolved "https://registry.yarnpkg.com/@types/history/-/history-4.7.11.tgz#56588b17ae8f50c53983a524fc3cc47437969d64"
+ integrity sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==
+
+"@types/html-minifier-terser@^6.0.0":
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#4fc33a00c1d0c16987b1a20cf92d20614c55ac35"
+ integrity sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==
+
+"@types/http-cache-semantics@^4.0.2":
+ version "4.0.4"
+ resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz#b979ebad3919799c979b17c72621c0bc0a31c6c4"
+ integrity sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==
+
+"@types/http-errors@*":
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-2.0.5.tgz#5b749ab2b16ba113423feb1a64a95dcd30398472"
+ integrity sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==
+
+"@types/http-proxy@^1.17.8":
+ version "1.17.16"
+ resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.16.tgz#dee360707b35b3cc85afcde89ffeebff7d7f9240"
+ integrity sha512-sdWoUajOB1cd0A8cRRQ1cfyWNbmFKLAqBB89Y8x5iYyG/mkJHc0YUH8pdWBy2omi9qtCpiIgGjuwO0dQST2l5w==
+ dependencies:
+ "@types/node" "*"
+
+"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0":
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz#7739c232a1fee9b4d3ce8985f314c0c6d33549d7"
+ integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==
+
+"@types/istanbul-lib-report@*":
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz#53047614ae72e19fc0401d872de3ae2b4ce350bf"
+ integrity sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==
+ dependencies:
+ "@types/istanbul-lib-coverage" "*"
+
+"@types/istanbul-reports@^3.0.0":
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz#0f03e3d2f670fbdac586e34b433783070cc16f54"
+ integrity sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==
+ dependencies:
+ "@types/istanbul-lib-report" "*"
+
+"@types/json-schema@*", "@types/json-schema@^7.0.15", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9":
+ version "7.0.15"
+ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841"
+ integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==
+
+"@types/mdast@^4.0.0", "@types/mdast@^4.0.2":
+ version "4.0.4"
+ resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-4.0.4.tgz#7ccf72edd2f1aa7dd3437e180c64373585804dd6"
+ integrity sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==
+ dependencies:
+ "@types/unist" "*"
+
+"@types/mdx@^2.0.0":
+ version "2.0.13"
+ resolved "https://registry.yarnpkg.com/@types/mdx/-/mdx-2.0.13.tgz#68f6877043d377092890ff5b298152b0a21671bd"
+ integrity sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==
+
+"@types/mime@^1":
+ version "1.3.5"
+ resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.5.tgz#1ef302e01cf7d2b5a0fa526790c9123bf1d06690"
+ integrity sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==
+
+"@types/ms@*":
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/@types/ms/-/ms-2.1.0.tgz#052aa67a48eccc4309d7f0191b7e41434b90bb78"
+ integrity sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==
+
+"@types/node-forge@^1.3.0":
+ version "1.3.14"
+ resolved "https://registry.yarnpkg.com/@types/node-forge/-/node-forge-1.3.14.tgz#006c2616ccd65550560c2757d8472eb6d3ecea0b"
+ integrity sha512-mhVF2BnD4BO+jtOp7z1CdzaK4mbuK0LLQYAvdOLqHTavxFNq4zA1EmYkpnFjP8HOUzedfQkRnp0E2ulSAYSzAw==
+ dependencies:
+ "@types/node" "*"
+
+"@types/node@*":
+ version "24.3.0"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-24.3.0.tgz#89b09f45cb9a8ee69466f18ee5864e4c3eb84dec"
+ integrity sha512-aPTXCrfwnDLj4VvXrm+UUCQjNEvJgNA8s5F1cvwQU+3KNltTOkBm1j30uNLyqqPNe7gE3KFzImYoZEfLhp4Yow==
+ dependencies:
+ undici-types "~7.10.0"
+
+"@types/node@^17.0.5":
+ version "17.0.45"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.45.tgz#2c0fafd78705e7a18b7906b5201a522719dc5190"
+ integrity sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==
+
+"@types/parse-json@^4.0.0":
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.2.tgz#5950e50960793055845e956c427fc2b0d70c5239"
+ integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==
+
+"@types/prismjs@^1.26.0":
+ version "1.26.5"
+ resolved "https://registry.yarnpkg.com/@types/prismjs/-/prismjs-1.26.5.tgz#72499abbb4c4ec9982446509d2f14fb8483869d6"
+ integrity sha512-AUZTa7hQ2KY5L7AmtSiqxlhWxb4ina0yd8hNbl4TWuqnv/pFP0nDMb3YrfSBf4hJVGLh2YEIBfKaBW/9UEl6IQ==
+
+"@types/prop-types@^15.7.15":
+ version "15.7.15"
+ resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.15.tgz#e6e5a86d602beaca71ce5163fadf5f95d70931c7"
+ integrity sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==
+
+"@types/qs@*":
+ version "6.14.0"
+ resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.14.0.tgz#d8b60cecf62f2db0fb68e5e006077b9178b85de5"
+ integrity sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==
+
+"@types/range-parser@*":
+ version "1.2.7"
+ resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.7.tgz#50ae4353eaaddc04044279812f52c8c65857dbcb"
+ integrity sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==
+
+"@types/react-router-config@*", "@types/react-router-config@^5.0.7":
+ version "5.0.11"
+ resolved "https://registry.yarnpkg.com/@types/react-router-config/-/react-router-config-5.0.11.tgz#2761a23acc7905a66a94419ee40294a65aaa483a"
+ integrity sha512-WmSAg7WgqW7m4x8Mt4N6ZyKz0BubSj/2tVUMsAHp+Yd2AMwcSbeFq9WympT19p5heCFmF97R9eD5uUR/t4HEqw==
+ dependencies:
+ "@types/history" "^4.7.11"
+ "@types/react" "*"
+ "@types/react-router" "^5.1.0"
+
+"@types/react-router-dom@*":
+ version "5.3.3"
+ resolved "https://registry.yarnpkg.com/@types/react-router-dom/-/react-router-dom-5.3.3.tgz#e9d6b4a66fcdbd651a5f106c2656a30088cc1e83"
+ integrity sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==
+ dependencies:
+ "@types/history" "^4.7.11"
+ "@types/react" "*"
+ "@types/react-router" "*"
+
+"@types/react-router@*", "@types/react-router@^5.1.0":
+ version "5.1.20"
+ resolved "https://registry.yarnpkg.com/@types/react-router/-/react-router-5.1.20.tgz#88eccaa122a82405ef3efbcaaa5dcdd9f021387c"
+ integrity sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==
+ dependencies:
+ "@types/history" "^4.7.11"
+ "@types/react" "*"
+
+"@types/react-transition-group@^4.4.12":
+ version "4.4.12"
+ resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.12.tgz#b5d76568485b02a307238270bfe96cb51ee2a044"
+ integrity sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w==
+
+"@types/react@*":
+ version "19.1.12"
+ resolved "https://registry.yarnpkg.com/@types/react/-/react-19.1.12.tgz#7bfaa76aabbb0b4fe0493c21a3a7a93d33e8937b"
+ integrity sha512-cMoR+FoAf/Jyq6+Df2/Z41jISvGZZ2eTlnsaJRptmZ76Caldwy1odD4xTr/gNV9VLj0AWgg/nmkevIyUfIIq5w==
+ dependencies:
+ csstype "^3.0.2"
+
+"@types/retry@0.12.0":
+ version "0.12.0"
+ resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.0.tgz#2b35eccfcee7d38cd72ad99232fbd58bffb3c84d"
+ integrity sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==
+
+"@types/sax@^1.2.1":
+ version "1.2.7"
+ resolved "https://registry.yarnpkg.com/@types/sax/-/sax-1.2.7.tgz#ba5fe7df9aa9c89b6dff7688a19023dd2963091d"
+ integrity sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==
+ dependencies:
+ "@types/node" "*"
+
+"@types/send@*":
+ version "0.17.5"
+ resolved "https://registry.yarnpkg.com/@types/send/-/send-0.17.5.tgz#d991d4f2b16f2b1ef497131f00a9114290791e74"
+ integrity sha512-z6F2D3cOStZvuk2SaP6YrwkNO65iTZcwA2ZkSABegdkAh/lf+Aa/YQndZVfmEXT5vgAp6zv06VQ3ejSVjAny4w==
+ dependencies:
+ "@types/mime" "^1"
+ "@types/node" "*"
+
+"@types/serve-index@^1.9.1":
+ version "1.9.4"
+ resolved "https://registry.yarnpkg.com/@types/serve-index/-/serve-index-1.9.4.tgz#e6ae13d5053cb06ed36392110b4f9a49ac4ec898"
+ integrity sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==
+ dependencies:
+ "@types/express" "*"
+
+"@types/serve-static@*", "@types/serve-static@^1.13.10":
+ version "1.15.8"
+ resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.8.tgz#8180c3fbe4a70e8f00b9f70b9ba7f08f35987877"
+ integrity sha512-roei0UY3LhpOJvjbIP6ZZFngyLKl5dskOtDhxY5THRSpO+ZI+nzJ+m5yUMzGrp89YRa7lvknKkMYjqQFGwA7Sg==
+ dependencies:
+ "@types/http-errors" "*"
+ "@types/node" "*"
+ "@types/send" "*"
+
+"@types/sockjs@^0.3.33":
+ version "0.3.36"
+ resolved "https://registry.yarnpkg.com/@types/sockjs/-/sockjs-0.3.36.tgz#ce322cf07bcc119d4cbf7f88954f3a3bd0f67535"
+ integrity sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==
+ dependencies:
+ "@types/node" "*"
+
+"@types/unist@*", "@types/unist@^3.0.0":
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/@types/unist/-/unist-3.0.3.tgz#acaab0f919ce69cce629c2d4ed2eb4adc1b6c20c"
+ integrity sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==
+
+"@types/unist@^2.0.0":
+ version "2.0.11"
+ resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.11.tgz#11af57b127e32487774841f7a4e54eab166d03c4"
+ integrity sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==
+
+"@types/ws@^8.5.5":
+ version "8.18.1"
+ resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.18.1.tgz#48464e4bf2ddfd17db13d845467f6070ffea4aa9"
+ integrity sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==
+ dependencies:
+ "@types/node" "*"
+
+"@types/yargs-parser@*":
+ version "21.0.3"
+ resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz#815e30b786d2e8f0dcd85fd5bcf5e1a04d008f15"
+ integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==
+
+"@types/yargs@^17.0.8":
+ version "17.0.33"
+ resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.33.tgz#8c32303da83eec050a84b3c7ae7b9f922d13e32d"
+ integrity sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==
+ dependencies:
+ "@types/yargs-parser" "*"
+
+"@ungap/structured-clone@^1.0.0":
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.3.0.tgz#d06bbb384ebcf6c505fde1c3d0ed4ddffe0aaff8"
+ integrity sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==
+
+"@webassemblyjs/ast@1.14.1", "@webassemblyjs/ast@^1.14.1":
+ version "1.14.1"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.14.1.tgz#a9f6a07f2b03c95c8d38c4536a1fdfb521ff55b6"
+ integrity sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==
+ dependencies:
+ "@webassemblyjs/helper-numbers" "1.13.2"
+ "@webassemblyjs/helper-wasm-bytecode" "1.13.2"
+
+"@webassemblyjs/floating-point-hex-parser@1.13.2":
+ version "1.13.2"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz#fcca1eeddb1cc4e7b6eed4fc7956d6813b21b9fb"
+ integrity sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==
+
+"@webassemblyjs/helper-api-error@1.13.2":
+ version "1.13.2"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz#e0a16152248bc38daee76dd7e21f15c5ef3ab1e7"
+ integrity sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==
+
+"@webassemblyjs/helper-buffer@1.14.1":
+ version "1.14.1"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz#822a9bc603166531f7d5df84e67b5bf99b72b96b"
+ integrity sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==
+
+"@webassemblyjs/helper-numbers@1.13.2":
+ version "1.13.2"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz#dbd932548e7119f4b8a7877fd5a8d20e63490b2d"
+ integrity sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==
+ dependencies:
+ "@webassemblyjs/floating-point-hex-parser" "1.13.2"
+ "@webassemblyjs/helper-api-error" "1.13.2"
+ "@xtuc/long" "4.2.2"
+
+"@webassemblyjs/helper-wasm-bytecode@1.13.2":
+ version "1.13.2"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz#e556108758f448aae84c850e593ce18a0eb31e0b"
+ integrity sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==
+
+"@webassemblyjs/helper-wasm-section@1.14.1":
+ version "1.14.1"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz#9629dda9c4430eab54b591053d6dc6f3ba050348"
+ integrity sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==
+ dependencies:
+ "@webassemblyjs/ast" "1.14.1"
+ "@webassemblyjs/helper-buffer" "1.14.1"
+ "@webassemblyjs/helper-wasm-bytecode" "1.13.2"
+ "@webassemblyjs/wasm-gen" "1.14.1"
+
+"@webassemblyjs/ieee754@1.13.2":
+ version "1.13.2"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz#1c5eaace1d606ada2c7fd7045ea9356c59ee0dba"
+ integrity sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==
+ dependencies:
+ "@xtuc/ieee754" "^1.2.0"
+
+"@webassemblyjs/leb128@1.13.2":
+ version "1.13.2"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.13.2.tgz#57c5c3deb0105d02ce25fa3fd74f4ebc9fd0bbb0"
+ integrity sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==
+ dependencies:
+ "@xtuc/long" "4.2.2"
+
+"@webassemblyjs/utf8@1.13.2":
+ version "1.13.2"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.13.2.tgz#917a20e93f71ad5602966c2d685ae0c6c21f60f1"
+ integrity sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==
+
+"@webassemblyjs/wasm-edit@^1.14.1":
+ version "1.14.1"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz#ac6689f502219b59198ddec42dcd496b1004d597"
+ integrity sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==
+ dependencies:
+ "@webassemblyjs/ast" "1.14.1"
+ "@webassemblyjs/helper-buffer" "1.14.1"
+ "@webassemblyjs/helper-wasm-bytecode" "1.13.2"
+ "@webassemblyjs/helper-wasm-section" "1.14.1"
+ "@webassemblyjs/wasm-gen" "1.14.1"
+ "@webassemblyjs/wasm-opt" "1.14.1"
+ "@webassemblyjs/wasm-parser" "1.14.1"
+ "@webassemblyjs/wast-printer" "1.14.1"
+
+"@webassemblyjs/wasm-gen@1.14.1":
+ version "1.14.1"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz#991e7f0c090cb0bb62bbac882076e3d219da9570"
+ integrity sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==
+ dependencies:
+ "@webassemblyjs/ast" "1.14.1"
+ "@webassemblyjs/helper-wasm-bytecode" "1.13.2"
+ "@webassemblyjs/ieee754" "1.13.2"
+ "@webassemblyjs/leb128" "1.13.2"
+ "@webassemblyjs/utf8" "1.13.2"
+
+"@webassemblyjs/wasm-opt@1.14.1":
+ version "1.14.1"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz#e6f71ed7ccae46781c206017d3c14c50efa8106b"
+ integrity sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==
+ dependencies:
+ "@webassemblyjs/ast" "1.14.1"
+ "@webassemblyjs/helper-buffer" "1.14.1"
+ "@webassemblyjs/wasm-gen" "1.14.1"
+ "@webassemblyjs/wasm-parser" "1.14.1"
+
+"@webassemblyjs/wasm-parser@1.14.1", "@webassemblyjs/wasm-parser@^1.14.1":
+ version "1.14.1"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz#b3e13f1893605ca78b52c68e54cf6a865f90b9fb"
+ integrity sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==
+ dependencies:
+ "@webassemblyjs/ast" "1.14.1"
+ "@webassemblyjs/helper-api-error" "1.13.2"
+ "@webassemblyjs/helper-wasm-bytecode" "1.13.2"
+ "@webassemblyjs/ieee754" "1.13.2"
+ "@webassemblyjs/leb128" "1.13.2"
+ "@webassemblyjs/utf8" "1.13.2"
+
+"@webassemblyjs/wast-printer@1.14.1":
+ version "1.14.1"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz#3bb3e9638a8ae5fdaf9610e7a06b4d9f9aa6fe07"
+ integrity sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==
+ dependencies:
+ "@webassemblyjs/ast" "1.14.1"
+ "@xtuc/long" "4.2.2"
+
+"@xtuc/ieee754@^1.2.0":
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790"
+ integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==
+
+"@xtuc/long@4.2.2":
+ version "4.2.2"
+ resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d"
+ integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==
+
+accepts@~1.3.4, accepts@~1.3.8:
+ version "1.3.8"
+ resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e"
+ integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==
+ dependencies:
+ mime-types "~2.1.34"
+ negotiator "0.6.3"
+
+acorn-import-phases@^1.0.3:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz#16eb850ba99a056cb7cbfe872ffb8972e18c8bd7"
+ integrity sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==
+
+acorn-jsx@^5.0.0:
+ version "5.3.2"
+ resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
+ integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
+
+acorn-walk@^8.0.0:
+ version "8.3.4"
+ resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.4.tgz#794dd169c3977edf4ba4ea47583587c5866236b7"
+ integrity sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==
+ dependencies:
+ acorn "^8.11.0"
+
+acorn@^8.0.0, acorn@^8.0.4, acorn@^8.11.0, acorn@^8.14.0, acorn@^8.15.0:
+ version "8.15.0"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.15.0.tgz#a360898bc415edaac46c8241f6383975b930b816"
+ integrity sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==
+
+address@^1.0.1:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/address/-/address-1.2.2.tgz#2b5248dac5485a6390532c6a517fda2e3faac89e"
+ integrity sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==
+
+aggregate-error@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a"
+ integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==
+ dependencies:
+ clean-stack "^2.0.0"
+ indent-string "^4.0.0"
+
+ajv-formats@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520"
+ integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==
+ dependencies:
+ ajv "^8.0.0"
+
+ajv-keywords@^3.5.2:
+ version "3.5.2"
+ resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d"
+ integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==
+
+ajv-keywords@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz#69d4d385a4733cdbeab44964a1170a88f87f0e16"
+ integrity sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==
+ dependencies:
+ fast-deep-equal "^3.1.3"
+
+ajv@^6.12.5:
+ version "6.12.6"
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
+ integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
+ dependencies:
+ fast-deep-equal "^3.1.1"
+ fast-json-stable-stringify "^2.0.0"
+ json-schema-traverse "^0.4.1"
+ uri-js "^4.2.2"
+
+ajv@^8.0.0, ajv@^8.9.0:
+ version "8.17.1"
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.17.1.tgz#37d9a5c776af6bc92d7f4f9510eba4c0a60d11a6"
+ integrity sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==
+ dependencies:
+ fast-deep-equal "^3.1.3"
+ fast-uri "^3.0.1"
+ json-schema-traverse "^1.0.0"
+ require-from-string "^2.0.2"
+
+algoliasearch-helper@^3.22.6:
+ version "3.26.0"
+ resolved "https://registry.yarnpkg.com/algoliasearch-helper/-/algoliasearch-helper-3.26.0.tgz#d6e283396a9fc5bf944f365dc3b712570314363f"
+ integrity sha512-Rv2x3GXleQ3ygwhkhJubhhYGsICmShLAiqtUuJTUkr9uOCOXyF2E71LVT4XDnVffbknv8XgScP4U0Oxtgm+hIw==
+ dependencies:
+ "@algolia/events" "^4.0.1"
+
+algoliasearch@^5.14.2, algoliasearch@^5.17.1:
+ version "5.36.0"
+ resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-5.36.0.tgz#f4876e474bbfaae20ce101beacbba2fdce44038d"
+ integrity sha512-FpwQ+p4x4RIsWnPj2z9idOC70T90ga7Oeh8BURSFKpqp5lITRsgkIj/bwYj2bY5xbyD7uBuP9AZRnM5EV20WOw==
+ dependencies:
+ "@algolia/abtesting" "1.2.0"
+ "@algolia/client-abtesting" "5.36.0"
+ "@algolia/client-analytics" "5.36.0"
+ "@algolia/client-common" "5.36.0"
+ "@algolia/client-insights" "5.36.0"
+ "@algolia/client-personalization" "5.36.0"
+ "@algolia/client-query-suggestions" "5.36.0"
+ "@algolia/client-search" "5.36.0"
+ "@algolia/ingestion" "1.36.0"
+ "@algolia/monitoring" "1.36.0"
+ "@algolia/recommend" "5.36.0"
+ "@algolia/requester-browser-xhr" "5.36.0"
+ "@algolia/requester-fetch" "5.36.0"
+ "@algolia/requester-node-http" "5.36.0"
+
+ansi-align@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.1.tgz#0cdf12e111ace773a86e9a1fad1225c43cb19a59"
+ integrity sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==
+ dependencies:
+ string-width "^4.1.0"
+
+ansi-escapes@^4.3.2:
+ version "4.3.2"
+ resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e"
+ integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==
+ dependencies:
+ type-fest "^0.21.3"
+
+ansi-html-community@^0.0.8:
+ version "0.0.8"
+ resolved "https://registry.yarnpkg.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41"
+ integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==
+
+ansi-regex@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
+ integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
+
+ansi-regex@^6.0.1:
+ version "6.2.0"
+ resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.2.0.tgz#2f302e7550431b1b7762705fffb52cf1ffa20447"
+ integrity sha512-TKY5pyBkHyADOPYlRT9Lx6F544mPl0vS5Ew7BJ45hA08Q+t3GjbueLliBWN3sMICk6+y7HdyxSzC4bWS8baBdg==
+
+ansi-styles@^4.0.0, ansi-styles@^4.1.0:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
+ integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
+ dependencies:
+ color-convert "^2.0.1"
+
+ansi-styles@^6.1.0:
+ version "6.2.1"
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5"
+ integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==
+
+anymatch@~3.1.2:
+ version "3.1.3"
+ resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e"
+ integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==
+ dependencies:
+ normalize-path "^3.0.0"
+ picomatch "^2.0.4"
+
+arg@^5.0.0:
+ version "5.0.2"
+ resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c"
+ integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==
+
+argparse@^1.0.7:
+ version "1.0.10"
+ resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
+ integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
+ dependencies:
+ sprintf-js "~1.0.2"
+
+argparse@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38"
+ integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
+
+array-flatten@1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
+ integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==
+
+array-union@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d"
+ integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==
+
+astring@^1.8.0:
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/astring/-/astring-1.9.0.tgz#cc73e6062a7eb03e7d19c22d8b0b3451fd9bfeef"
+ integrity sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==
+
+autoprefixer@^10.4.19, autoprefixer@^10.4.21:
+ version "10.4.21"
+ resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.21.tgz#77189468e7a8ad1d9a37fbc08efc9f480cf0a95d"
+ integrity sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==
+ dependencies:
+ browserslist "^4.24.4"
+ caniuse-lite "^1.0.30001702"
+ fraction.js "^4.3.7"
+ normalize-range "^0.1.2"
+ picocolors "^1.1.1"
+ postcss-value-parser "^4.2.0"
+
+babel-loader@^9.2.1:
+ version "9.2.1"
+ resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-9.2.1.tgz#04c7835db16c246dd19ba0914418f3937797587b"
+ integrity sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==
+ dependencies:
+ find-cache-dir "^4.0.0"
+ schema-utils "^4.0.0"
+
+babel-plugin-dynamic-import-node@^2.3.3:
+ version "2.3.3"
+ resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3"
+ integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==
+ dependencies:
+ object.assign "^4.1.0"
+
+babel-plugin-macros@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz#9ef6dc74deb934b4db344dc973ee851d148c50c1"
+ integrity sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==
+ dependencies:
+ "@babel/runtime" "^7.12.5"
+ cosmiconfig "^7.0.0"
+ resolve "^1.19.0"
+
+babel-plugin-polyfill-corejs2@^0.4.14:
+ version "0.4.14"
+ resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.14.tgz#8101b82b769c568835611542488d463395c2ef8f"
+ integrity sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==
+ dependencies:
+ "@babel/compat-data" "^7.27.7"
+ "@babel/helper-define-polyfill-provider" "^0.6.5"
+ semver "^6.3.1"
+
+babel-plugin-polyfill-corejs3@^0.13.0:
+ version "0.13.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.13.0.tgz#bb7f6aeef7addff17f7602a08a6d19a128c30164"
+ integrity sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==
+ dependencies:
+ "@babel/helper-define-polyfill-provider" "^0.6.5"
+ core-js-compat "^3.43.0"
+
+babel-plugin-polyfill-regenerator@^0.6.5:
+ version "0.6.5"
+ resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.5.tgz#32752e38ab6f6767b92650347bf26a31b16ae8c5"
+ integrity sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==
+ dependencies:
+ "@babel/helper-define-polyfill-provider" "^0.6.5"
+
+bail@^2.0.0:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/bail/-/bail-2.0.2.tgz#d26f5cd8fe5d6f832a31517b9f7c356040ba6d5d"
+ integrity sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==
+
+balanced-match@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
+ integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
+
+batch@0.6.1:
+ version "0.6.1"
+ resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16"
+ integrity sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==
+
+big.js@^5.2.2:
+ version "5.2.2"
+ resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328"
+ integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==
+
+binary-extensions@^2.0.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522"
+ integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==
+
+body-parser@1.20.3:
+ version "1.20.3"
+ resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.3.tgz#1953431221c6fb5cd63c4b36d53fab0928e548c6"
+ integrity sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==
+ dependencies:
+ bytes "3.1.2"
+ content-type "~1.0.5"
+ debug "2.6.9"
+ depd "2.0.0"
+ destroy "1.2.0"
+ http-errors "2.0.0"
+ iconv-lite "0.4.24"
+ on-finished "2.4.1"
+ qs "6.13.0"
+ raw-body "2.5.2"
+ type-is "~1.6.18"
+ unpipe "1.0.0"
+
+bonjour-service@^1.0.11:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/bonjour-service/-/bonjour-service-1.3.0.tgz#80d867430b5a0da64e82a8047fc1e355bdb71722"
+ integrity sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA==
+ dependencies:
+ fast-deep-equal "^3.1.3"
+ multicast-dns "^7.2.5"
+
+boolbase@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"
+ integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==
+
+boxen@^6.2.1:
+ version "6.2.1"
+ resolved "https://registry.yarnpkg.com/boxen/-/boxen-6.2.1.tgz#b098a2278b2cd2845deef2dff2efc38d329b434d"
+ integrity sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==
+ dependencies:
+ ansi-align "^3.0.1"
+ camelcase "^6.2.0"
+ chalk "^4.1.2"
+ cli-boxes "^3.0.0"
+ string-width "^5.0.1"
+ type-fest "^2.5.0"
+ widest-line "^4.0.1"
+ wrap-ansi "^8.0.1"
+
+boxen@^7.0.0:
+ version "7.1.1"
+ resolved "https://registry.yarnpkg.com/boxen/-/boxen-7.1.1.tgz#f9ba525413c2fec9cdb88987d835c4f7cad9c8f4"
+ integrity sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==
+ dependencies:
+ ansi-align "^3.0.1"
+ camelcase "^7.0.1"
+ chalk "^5.2.0"
+ cli-boxes "^3.0.0"
+ string-width "^5.1.2"
+ type-fest "^2.13.0"
+ widest-line "^4.0.1"
+ wrap-ansi "^8.1.0"
+
+brace-expansion@^1.1.7:
+ version "1.1.12"
+ resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.12.tgz#ab9b454466e5a8cc3a187beaad580412a9c5b843"
+ integrity sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==
+ dependencies:
+ balanced-match "^1.0.0"
+ concat-map "0.0.1"
+
+braces@^3.0.3, braces@~3.0.2:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789"
+ integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==
+ dependencies:
+ fill-range "^7.1.1"
+
+browserslist@^4.0.0, browserslist@^4.23.0, browserslist@^4.24.0, browserslist@^4.24.4, browserslist@^4.25.1, browserslist@^4.25.3:
+ version "4.25.4"
+ resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.25.4.tgz#ebdd0e1d1cf3911834bab3a6cd7b917d9babf5af"
+ integrity sha512-4jYpcjabC606xJ3kw2QwGEZKX0Aw7sgQdZCvIK9dhVSPh76BKo+C+btT1RRofH7B+8iNpEbgGNVWiLki5q93yg==
+ dependencies:
+ caniuse-lite "^1.0.30001737"
+ electron-to-chromium "^1.5.211"
+ node-releases "^2.0.19"
+ update-browserslist-db "^1.1.3"
+
+buffer-from@^1.0.0:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5"
+ integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==
+
+bytes@3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048"
+ integrity sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==
+
+bytes@3.1.2:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5"
+ integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==
+
+cacheable-lookup@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz#3476a8215d046e5a3202a9209dd13fec1f933a27"
+ integrity sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==
+
+cacheable-request@^10.2.8:
+ version "10.2.14"
+ resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-10.2.14.tgz#eb915b665fda41b79652782df3f553449c406b9d"
+ integrity sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==
+ dependencies:
+ "@types/http-cache-semantics" "^4.0.2"
+ get-stream "^6.0.1"
+ http-cache-semantics "^4.1.1"
+ keyv "^4.5.3"
+ mimic-response "^4.0.0"
+ normalize-url "^8.0.0"
+ responselike "^3.0.0"
+
+call-bind-apply-helpers@^1.0.0, call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz#4b5428c222be985d79c3d82657479dbe0b59b2d6"
+ integrity sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==
+ dependencies:
+ es-errors "^1.3.0"
+ function-bind "^1.1.2"
+
+call-bind@^1.0.8:
+ version "1.0.8"
+ resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.8.tgz#0736a9660f537e3388826f440d5ec45f744eaa4c"
+ integrity sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==
+ dependencies:
+ call-bind-apply-helpers "^1.0.0"
+ es-define-property "^1.0.0"
+ get-intrinsic "^1.2.4"
+ set-function-length "^1.2.2"
+
+call-bound@^1.0.2, call-bound@^1.0.3:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/call-bound/-/call-bound-1.0.4.tgz#238de935d2a2a692928c538c7ccfa91067fd062a"
+ integrity sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==
+ dependencies:
+ call-bind-apply-helpers "^1.0.2"
+ get-intrinsic "^1.3.0"
+
+callsites@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
+ integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
+
+camel-case@^4.1.2:
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.2.tgz#9728072a954f805228225a6deea6b38461e1bd5a"
+ integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==
+ dependencies:
+ pascal-case "^3.1.2"
+ tslib "^2.0.3"
+
+camelcase@^6.2.0:
+ version "6.3.0"
+ resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a"
+ integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==
+
+camelcase@^7.0.1:
+ version "7.0.1"
+ resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-7.0.1.tgz#f02e50af9fd7782bc8b88a3558c32fd3a388f048"
+ integrity sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==
+
+caniuse-api@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0"
+ integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==
+ dependencies:
+ browserslist "^4.0.0"
+ caniuse-lite "^1.0.0"
+ lodash.memoize "^4.1.2"
+ lodash.uniq "^4.5.0"
+
+caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001702, caniuse-lite@^1.0.30001737:
+ version "1.0.30001739"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001739.tgz#b34ce2d56bfc22f4352b2af0144102d623a124f4"
+ integrity sha512-y+j60d6ulelrNSwpPyrHdl+9mJnQzHBr08xm48Qno0nSk4h3Qojh+ziv2qE6rXf4k3tadF4o1J/1tAbVm1NtnA==
+
+ccount@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/ccount/-/ccount-2.0.1.tgz#17a3bf82302e0870d6da43a01311a8bc02a3ecf5"
+ integrity sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==
+
+chalk@^4.0.0, chalk@^4.1.2:
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
+ integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
+ dependencies:
+ ansi-styles "^4.1.0"
+ supports-color "^7.1.0"
+
+chalk@^5.0.1, chalk@^5.2.0:
+ version "5.6.0"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.6.0.tgz#a1a8d294ea3526dbb77660f12649a08490e33ab8"
+ integrity sha512-46QrSQFyVSEyYAgQ22hQ+zDa60YHA4fBstHmtSApj1Y5vKtG27fWowW03jCk5KcbXEWPZUIR894aARCA/G1kfQ==
+
+char-regex@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf"
+ integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==
+
+character-entities-html4@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-2.1.0.tgz#1f1adb940c971a4b22ba39ddca6b618dc6e56b2b"
+ integrity sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==
+
+character-entities-legacy@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz#76bc83a90738901d7bc223a9e93759fdd560125b"
+ integrity sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==
+
+character-entities@^2.0.0:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-2.0.2.tgz#2d09c2e72cd9523076ccb21157dff66ad43fcc22"
+ integrity sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==
+
+character-reference-invalid@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz#85c66b041e43b47210faf401278abf808ac45cb9"
+ integrity sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==
+
+cheerio-select@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/cheerio-select/-/cheerio-select-2.1.0.tgz#4d8673286b8126ca2a8e42740d5e3c4884ae21b4"
+ integrity sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==
+ dependencies:
+ boolbase "^1.0.0"
+ css-select "^5.1.0"
+ css-what "^6.1.0"
+ domelementtype "^2.3.0"
+ domhandler "^5.0.3"
+ domutils "^3.0.1"
+
+cheerio@1.0.0-rc.12:
+ version "1.0.0-rc.12"
+ resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.12.tgz#788bf7466506b1c6bf5fae51d24a2c4d62e47683"
+ integrity sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==
+ dependencies:
+ cheerio-select "^2.1.0"
+ dom-serializer "^2.0.0"
+ domhandler "^5.0.3"
+ domutils "^3.0.1"
+ htmlparser2 "^8.0.1"
+ parse5 "^7.0.0"
+ parse5-htmlparser2-tree-adapter "^7.0.0"
+
+chokidar@^3.5.3:
+ version "3.6.0"
+ resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b"
+ integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==
+ dependencies:
+ anymatch "~3.1.2"
+ braces "~3.0.2"
+ glob-parent "~5.1.2"
+ is-binary-path "~2.1.0"
+ is-glob "~4.0.1"
+ normalize-path "~3.0.0"
+ readdirp "~3.6.0"
+ optionalDependencies:
+ fsevents "~2.3.2"
+
+chrome-trace-event@^1.0.2:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz#05bffd7ff928465093314708c93bdfa9bd1f0f5b"
+ integrity sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==
+
+ci-info@^3.2.0:
+ version "3.9.0"
+ resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4"
+ integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==
+
+clean-css@^5.2.2, clean-css@^5.3.3, clean-css@~5.3.2:
+ version "5.3.3"
+ resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-5.3.3.tgz#b330653cd3bd6b75009cc25c714cae7b93351ccd"
+ integrity sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==
+ dependencies:
+ source-map "~0.6.0"
+
+clean-stack@^2.0.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b"
+ integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==
+
+cli-boxes@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-3.0.0.tgz#71a10c716feeba005e4504f36329ef0b17cf3145"
+ integrity sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==
+
+cli-table3@^0.6.3:
+ version "0.6.5"
+ resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.5.tgz#013b91351762739c16a9567c21a04632e449bf2f"
+ integrity sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==
+ dependencies:
+ string-width "^4.2.0"
+ optionalDependencies:
+ "@colors/colors" "1.5.0"
+
+clipboard@^2.0.11:
+ version "2.0.11"
+ resolved "https://registry.yarnpkg.com/clipboard/-/clipboard-2.0.11.tgz#62180360b97dd668b6b3a84ec226975762a70be5"
+ integrity sha512-C+0bbOqkezLIsmWSvlsXS0Q0bmkugu7jcfMIACB+RDEntIzQIkdr148we28AfSloQLRdZlYL/QYyrq05j/3Faw==
+ dependencies:
+ good-listener "^1.2.2"
+ select "^1.1.2"
+ tiny-emitter "^2.0.0"
+
+clone-deep@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387"
+ integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==
+ dependencies:
+ is-plain-object "^2.0.4"
+ kind-of "^6.0.2"
+ shallow-clone "^3.0.0"
+
+clsx@^2.0.0, clsx@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.1.1.tgz#eed397c9fd8bd882bfb18deab7102049a2f32999"
+ integrity sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==
+
+collapse-white-space@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-2.1.0.tgz#640257174f9f42c740b40f3b55ee752924feefca"
+ integrity sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==
+
+color-convert@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
+ integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
+ dependencies:
+ color-name "~1.1.4"
+
+color-name@~1.1.4:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
+ integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
+
+colord@^2.9.3:
+ version "2.9.3"
+ resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.3.tgz#4f8ce919de456f1d5c1c368c307fe20f3e59fb43"
+ integrity sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==
+
+colorette@^2.0.10:
+ version "2.0.20"
+ resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a"
+ integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==
+
+combine-promises@^1.1.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/combine-promises/-/combine-promises-1.2.0.tgz#5f2e68451862acf85761ded4d9e2af7769c2ca6a"
+ integrity sha512-VcQB1ziGD0NXrhKxiwyNbCDmRzs/OShMs2GqW2DlU2A/Sd0nQxE1oWDAE5O0ygSx5mgQOn9eIFh7yKPgFRVkPQ==
+
+comma-separated-tokens@^2.0.0:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz#4e89c9458acb61bc8fef19f4529973b2392839ee"
+ integrity sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==
+
+commander@^10.0.0:
+ version "10.0.1"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06"
+ integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==
+
+commander@^2.20.0:
+ version "2.20.3"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
+ integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
+
+commander@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae"
+ integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==
+
+commander@^7.2.0:
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7"
+ integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==
+
+commander@^8.3.0:
+ version "8.3.0"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66"
+ integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==
+
+common-path-prefix@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/common-path-prefix/-/common-path-prefix-3.0.0.tgz#7d007a7e07c58c4b4d5f433131a19141b29f11e0"
+ integrity sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==
+
+compressible@~2.0.18:
+ version "2.0.18"
+ resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba"
+ integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==
+ dependencies:
+ mime-db ">= 1.43.0 < 2"
+
+compression@^1.7.4:
+ version "1.8.1"
+ resolved "https://registry.yarnpkg.com/compression/-/compression-1.8.1.tgz#4a45d909ac16509195a9a28bd91094889c180d79"
+ integrity sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==
+ dependencies:
+ bytes "3.1.2"
+ compressible "~2.0.18"
+ debug "2.6.9"
+ negotiator "~0.6.4"
+ on-headers "~1.1.0"
+ safe-buffer "5.2.1"
+ vary "~1.1.2"
+
+concat-map@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
+ integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==
+
+config-chain@^1.1.11:
+ version "1.1.13"
+ resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.13.tgz#fad0795aa6a6cdaff9ed1b68e9dff94372c232f4"
+ integrity sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==
+ dependencies:
+ ini "^1.3.4"
+ proto-list "~1.2.1"
+
+configstore@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/configstore/-/configstore-6.0.0.tgz#49eca2ebc80983f77e09394a1a56e0aca8235566"
+ integrity sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==
+ dependencies:
+ dot-prop "^6.0.1"
+ graceful-fs "^4.2.6"
+ unique-string "^3.0.0"
+ write-file-atomic "^3.0.3"
+ xdg-basedir "^5.0.1"
+
+connect-history-api-fallback@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz#647264845251a0daf25b97ce87834cace0f5f1c8"
+ integrity sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==
+
+consola@^3.2.3:
+ version "3.4.2"
+ resolved "https://registry.yarnpkg.com/consola/-/consola-3.4.2.tgz#5af110145397bb67afdab77013fdc34cae590ea7"
+ integrity sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==
+
+content-disposition@0.5.2:
+ version "0.5.2"
+ resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4"
+ integrity sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==
+
+content-disposition@0.5.4:
+ version "0.5.4"
+ resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe"
+ integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==
+ dependencies:
+ safe-buffer "5.2.1"
+
+content-type@~1.0.4, content-type@~1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918"
+ integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==
+
+convert-source-map@^1.5.0:
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f"
+ integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==
+
+convert-source-map@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a"
+ integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==
+
+cookie-signature@1.0.6:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
+ integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==
+
+cookie@0.7.1:
+ version "0.7.1"
+ resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.7.1.tgz#2f73c42142d5d5cf71310a74fc4ae61670e5dbc9"
+ integrity sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==
+
+copy-text-to-clipboard@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz#0202b2d9bdae30a49a53f898626dcc3b49ad960b"
+ integrity sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q==
+
+copy-webpack-plugin@^11.0.0:
+ version "11.0.0"
+ resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz#96d4dbdb5f73d02dd72d0528d1958721ab72e04a"
+ integrity sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==
+ dependencies:
+ fast-glob "^3.2.11"
+ glob-parent "^6.0.1"
+ globby "^13.1.1"
+ normalize-path "^3.0.0"
+ schema-utils "^4.0.0"
+ serialize-javascript "^6.0.0"
+
+core-js-compat@^3.43.0:
+ version "3.45.1"
+ resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.45.1.tgz#424f3f4af30bf676fd1b67a579465104f64e9c7a"
+ integrity sha512-tqTt5T4PzsMIZ430XGviK4vzYSoeNJ6CXODi6c/voxOT6IZqBht5/EKaSNnYiEjjRYxjVz7DQIsOsY0XNi8PIA==
+ dependencies:
+ browserslist "^4.25.3"
+
+core-js-pure@^3.43.0:
+ version "3.45.1"
+ resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.45.1.tgz#b129d86a5f7f8380378577c7eaee83608570a05a"
+ integrity sha512-OHnWFKgTUshEU8MK+lOs1H8kC8GkTi9Z1tvNkxrCcw9wl3MJIO7q2ld77wjWn4/xuGrVu2X+nME1iIIPBSdyEQ==
+
+core-js@^3.31.1:
+ version "3.45.1"
+ resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.45.1.tgz#5810e04a1b4e9bc5ddaa4dd12e702ff67300634d"
+ integrity sha512-L4NPsJlCfZsPeXukyzHFlg/i7IIVwHSItR0wg0FLNqYClJ4MQYTYLbC7EkjKYRLZF2iof2MUgN0EGy7MdQFChg==
+
+core-util-is@~1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85"
+ integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==
+
+cosmiconfig@^7.0.0:
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6"
+ integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==
+ dependencies:
+ "@types/parse-json" "^4.0.0"
+ import-fresh "^3.2.1"
+ parse-json "^5.0.0"
+ path-type "^4.0.0"
+ yaml "^1.10.0"
+
+cosmiconfig@^8.1.3, cosmiconfig@^8.3.5:
+ version "8.3.6"
+ resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.3.6.tgz#060a2b871d66dba6c8538ea1118ba1ac16f5fae3"
+ integrity sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==
+ dependencies:
+ import-fresh "^3.3.0"
+ js-yaml "^4.1.0"
+ parse-json "^5.2.0"
+ path-type "^4.0.0"
+
+cross-spawn@^7.0.3:
+ version "7.0.6"
+ resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f"
+ integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==
+ dependencies:
+ path-key "^3.1.0"
+ shebang-command "^2.0.0"
+ which "^2.0.1"
+
+crypto-random-string@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-4.0.0.tgz#5a3cc53d7dd86183df5da0312816ceeeb5bb1fc2"
+ integrity sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==
+ dependencies:
+ type-fest "^1.0.1"
+
+css-blank-pseudo@^7.0.1:
+ version "7.0.1"
+ resolved "https://registry.yarnpkg.com/css-blank-pseudo/-/css-blank-pseudo-7.0.1.tgz#32020bff20a209a53ad71b8675852b49e8d57e46"
+ integrity sha512-jf+twWGDf6LDoXDUode+nc7ZlrqfaNphrBIBrcmeP3D8yw1uPaix1gCC8LUQUGQ6CycuK2opkbFFWFuq/a94ag==
+ dependencies:
+ postcss-selector-parser "^7.0.0"
+
+css-declaration-sorter@^7.2.0:
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-7.2.0.tgz#6dec1c9523bc4a643e088aab8f09e67a54961024"
+ integrity sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==
+
+css-has-pseudo@^7.0.3:
+ version "7.0.3"
+ resolved "https://registry.yarnpkg.com/css-has-pseudo/-/css-has-pseudo-7.0.3.tgz#a5ee2daf5f70a2032f3cefdf1e36e7f52a243873"
+ integrity sha512-oG+vKuGyqe/xvEMoxAQrhi7uY16deJR3i7wwhBerVrGQKSqUC5GiOVxTpM9F9B9hw0J+eKeOWLH7E9gZ1Dr5rA==
+ dependencies:
+ "@csstools/selector-specificity" "^5.0.0"
+ postcss-selector-parser "^7.0.0"
+ postcss-value-parser "^4.2.0"
+
+css-loader@^6.11.0:
+ version "6.11.0"
+ resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.11.0.tgz#33bae3bf6363d0a7c2cf9031c96c744ff54d85ba"
+ integrity sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==
+ dependencies:
+ icss-utils "^5.1.0"
+ postcss "^8.4.33"
+ postcss-modules-extract-imports "^3.1.0"
+ postcss-modules-local-by-default "^4.0.5"
+ postcss-modules-scope "^3.2.0"
+ postcss-modules-values "^4.0.0"
+ postcss-value-parser "^4.2.0"
+ semver "^7.5.4"
+
+css-minimizer-webpack-plugin@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-5.0.1.tgz#33effe662edb1a0bf08ad633c32fa75d0f7ec565"
+ integrity sha512-3caImjKFQkS+ws1TGcFn0V1HyDJFq1Euy589JlD6/3rV2kj+w7r5G9WDMgSHvpvXHNZ2calVypZWuEDQd9wfLg==
+ dependencies:
+ "@jridgewell/trace-mapping" "^0.3.18"
+ cssnano "^6.0.1"
+ jest-worker "^29.4.3"
+ postcss "^8.4.24"
+ schema-utils "^4.0.1"
+ serialize-javascript "^6.0.1"
+
+css-prefers-color-scheme@^10.0.0:
+ version "10.0.0"
+ resolved "https://registry.yarnpkg.com/css-prefers-color-scheme/-/css-prefers-color-scheme-10.0.0.tgz#ba001b99b8105b8896ca26fc38309ddb2278bd3c"
+ integrity sha512-VCtXZAWivRglTZditUfB4StnsWr6YVZ2PRtuxQLKTNRdtAf8tpzaVPE9zXIF3VaSc7O70iK/j1+NXxyQCqdPjQ==
+
+css-select@^4.1.3:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.3.0.tgz#db7129b2846662fd8628cfc496abb2b59e41529b"
+ integrity sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==
+ dependencies:
+ boolbase "^1.0.0"
+ css-what "^6.0.1"
+ domhandler "^4.3.1"
+ domutils "^2.8.0"
+ nth-check "^2.0.1"
+
+css-select@^5.1.0:
+ version "5.2.2"
+ resolved "https://registry.yarnpkg.com/css-select/-/css-select-5.2.2.tgz#01b6e8d163637bb2dd6c982ca4ed65863682786e"
+ integrity sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==
+ dependencies:
+ boolbase "^1.0.0"
+ css-what "^6.1.0"
+ domhandler "^5.0.2"
+ domutils "^3.0.1"
+ nth-check "^2.0.1"
+
+css-tree@^2.3.1:
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.3.1.tgz#10264ce1e5442e8572fc82fbe490644ff54b5c20"
+ integrity sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==
+ dependencies:
+ mdn-data "2.0.30"
+ source-map-js "^1.0.1"
+
+css-tree@~2.2.0:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.2.1.tgz#36115d382d60afd271e377f9c5f67d02bd48c032"
+ integrity sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==
+ dependencies:
+ mdn-data "2.0.28"
+ source-map-js "^1.0.1"
+
+css-what@^6.0.1, css-what@^6.1.0:
+ version "6.2.2"
+ resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.2.2.tgz#cdcc8f9b6977719fdfbd1de7aec24abf756b9dea"
+ integrity sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==
+
+cssdb@^8.4.0:
+ version "8.4.0"
+ resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-8.4.0.tgz#232a1aa7751983ed2b40331634902d4c93f0456c"
+ integrity sha512-lyATYGyvXwQ8h55WeQeEHXhI+47rl52pXSYkFK/ZrCbAJSgVIaPFjYc3RM8TpRHKk7W3wsAZImmLps+P5VyN9g==
+
+cssesc@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee"
+ integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==
+
+cssnano-preset-advanced@^6.1.2:
+ version "6.1.2"
+ resolved "https://registry.yarnpkg.com/cssnano-preset-advanced/-/cssnano-preset-advanced-6.1.2.tgz#82b090872b8f98c471f681d541c735acf8b94d3f"
+ integrity sha512-Nhao7eD8ph2DoHolEzQs5CfRpiEP0xa1HBdnFZ82kvqdmbwVBUr2r1QuQ4t1pi+D1ZpqpcO4T+wy/7RxzJ/WPQ==
+ dependencies:
+ autoprefixer "^10.4.19"
+ browserslist "^4.23.0"
+ cssnano-preset-default "^6.1.2"
+ postcss-discard-unused "^6.0.5"
+ postcss-merge-idents "^6.0.3"
+ postcss-reduce-idents "^6.0.3"
+ postcss-zindex "^6.0.2"
+
+cssnano-preset-default@^6.1.2:
+ version "6.1.2"
+ resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-6.1.2.tgz#adf4b89b975aa775f2750c89dbaf199bbd9da35e"
+ integrity sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg==
+ dependencies:
+ browserslist "^4.23.0"
+ css-declaration-sorter "^7.2.0"
+ cssnano-utils "^4.0.2"
+ postcss-calc "^9.0.1"
+ postcss-colormin "^6.1.0"
+ postcss-convert-values "^6.1.0"
+ postcss-discard-comments "^6.0.2"
+ postcss-discard-duplicates "^6.0.3"
+ postcss-discard-empty "^6.0.3"
+ postcss-discard-overridden "^6.0.2"
+ postcss-merge-longhand "^6.0.5"
+ postcss-merge-rules "^6.1.1"
+ postcss-minify-font-values "^6.1.0"
+ postcss-minify-gradients "^6.0.3"
+ postcss-minify-params "^6.1.0"
+ postcss-minify-selectors "^6.0.4"
+ postcss-normalize-charset "^6.0.2"
+ postcss-normalize-display-values "^6.0.2"
+ postcss-normalize-positions "^6.0.2"
+ postcss-normalize-repeat-style "^6.0.2"
+ postcss-normalize-string "^6.0.2"
+ postcss-normalize-timing-functions "^6.0.2"
+ postcss-normalize-unicode "^6.1.0"
+ postcss-normalize-url "^6.0.2"
+ postcss-normalize-whitespace "^6.0.2"
+ postcss-ordered-values "^6.0.2"
+ postcss-reduce-initial "^6.1.0"
+ postcss-reduce-transforms "^6.0.2"
+ postcss-svgo "^6.0.3"
+ postcss-unique-selectors "^6.0.4"
+
+cssnano-utils@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-4.0.2.tgz#56f61c126cd0f11f2eef1596239d730d9fceff3c"
+ integrity sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==
+
+cssnano@^6.0.1, cssnano@^6.1.2:
+ version "6.1.2"
+ resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-6.1.2.tgz#4bd19e505bd37ee7cf0dc902d3d869f6d79c66b8"
+ integrity sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==
+ dependencies:
+ cssnano-preset-default "^6.1.2"
+ lilconfig "^3.1.1"
+
+csso@^5.0.5:
+ version "5.0.5"
+ resolved "https://registry.yarnpkg.com/csso/-/csso-5.0.5.tgz#f9b7fe6cc6ac0b7d90781bb16d5e9874303e2ca6"
+ integrity sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==
+ dependencies:
+ css-tree "~2.2.0"
+
+csstype@^3.0.2, csstype@^3.1.3:
+ version "3.1.3"
+ resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81"
+ integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==
+
+debounce@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/debounce/-/debounce-1.2.1.tgz#38881d8f4166a5c5848020c11827b834bcb3e0a5"
+ integrity sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==
+
+debug@2.6.9:
+ version "2.6.9"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
+ integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
+ dependencies:
+ ms "2.0.0"
+
+debug@4, debug@^4.0.0, debug@^4.1.0, debug@^4.3.1, debug@^4.4.1:
+ version "4.4.1"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.1.tgz#e5a8bc6cbc4c6cd3e64308b0693a3d4fa550189b"
+ integrity sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==
+ dependencies:
+ ms "^2.1.3"
+
+decode-named-character-reference@^1.0.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/decode-named-character-reference/-/decode-named-character-reference-1.2.0.tgz#25c32ae6dd5e21889549d40f676030e9514cc0ed"
+ integrity sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==
+ dependencies:
+ character-entities "^2.0.0"
+
+decompress-response@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc"
+ integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==
+ dependencies:
+ mimic-response "^3.1.0"
+
+deep-extend@^0.6.0:
+ version "0.6.0"
+ resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
+ integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==
+
+deepmerge@^4.3.1:
+ version "4.3.1"
+ resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a"
+ integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==
+
+default-gateway@^6.0.3:
+ version "6.0.3"
+ resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-6.0.3.tgz#819494c888053bdb743edbf343d6cdf7f2943a71"
+ integrity sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==
+ dependencies:
+ execa "^5.0.0"
+
+defer-to-connect@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587"
+ integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==
+
+define-data-property@^1.0.1, define-data-property@^1.1.4:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e"
+ integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==
+ dependencies:
+ es-define-property "^1.0.0"
+ es-errors "^1.3.0"
+ gopd "^1.0.1"
+
+define-lazy-prop@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f"
+ integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==
+
+define-properties@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c"
+ integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==
+ dependencies:
+ define-data-property "^1.0.1"
+ has-property-descriptors "^1.0.0"
+ object-keys "^1.1.1"
+
+delegate@^3.1.2:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/delegate/-/delegate-3.2.0.tgz#b66b71c3158522e8ab5744f720d8ca0c2af59166"
+ integrity sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==
+
+depd@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df"
+ integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==
+
+depd@~1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9"
+ integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==
+
+dequal@^2.0.0:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be"
+ integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==
+
+destroy@1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015"
+ integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==
+
+detect-node@^2.0.4:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1"
+ integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==
+
+detect-port@^1.5.1:
+ version "1.6.1"
+ resolved "https://registry.yarnpkg.com/detect-port/-/detect-port-1.6.1.tgz#45e4073997c5f292b957cb678fb0bb8ed4250a67"
+ integrity sha512-CmnVc+Hek2egPx1PeTFVta2W78xy2K/9Rkf6cC4T59S50tVnzKj+tnx5mmx5lwvCkujZ4uRrpRSuV+IVs3f90Q==
+ dependencies:
+ address "^1.0.1"
+ debug "4"
+
+devlop@^1.0.0, devlop@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/devlop/-/devlop-1.1.0.tgz#4db7c2ca4dc6e0e834c30be70c94bbc976dc7018"
+ integrity sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==
+ dependencies:
+ dequal "^2.0.0"
+
+dir-glob@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f"
+ integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==
+ dependencies:
+ path-type "^4.0.0"
+
+dns-packet@^5.2.2:
+ version "5.6.1"
+ resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-5.6.1.tgz#ae888ad425a9d1478a0674256ab866de1012cf2f"
+ integrity sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==
+ dependencies:
+ "@leichtgewicht/ip-codec" "^2.0.1"
+
+dom-converter@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768"
+ integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==
+ dependencies:
+ utila "~0.4"
+
+dom-helpers@^5.0.1:
+ version "5.2.1"
+ resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.1.tgz#d9400536b2bf8225ad98fe052e029451ac40e902"
+ integrity sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==
+ dependencies:
+ "@babel/runtime" "^7.8.7"
+ csstype "^3.0.2"
+
+dom-serializer@^1.0.1:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.4.1.tgz#de5d41b1aea290215dc45a6dae8adcf1d32e2d30"
+ integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==
+ dependencies:
+ domelementtype "^2.0.1"
+ domhandler "^4.2.0"
+ entities "^2.0.0"
+
+dom-serializer@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-2.0.0.tgz#e41b802e1eedf9f6cae183ce5e622d789d7d8e53"
+ integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==
+ dependencies:
+ domelementtype "^2.3.0"
+ domhandler "^5.0.2"
+ entities "^4.2.0"
+
+domelementtype@^2.0.1, domelementtype@^2.2.0, domelementtype@^2.3.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d"
+ integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==
+
+domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1:
+ version "4.3.1"
+ resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.1.tgz#8d792033416f59d68bc03a5aa7b018c1ca89279c"
+ integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==
+ dependencies:
+ domelementtype "^2.2.0"
+
+domhandler@^5.0.2, domhandler@^5.0.3:
+ version "5.0.3"
+ resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-5.0.3.tgz#cc385f7f751f1d1fc650c21374804254538c7d31"
+ integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==
+ dependencies:
+ domelementtype "^2.3.0"
+
+domutils@^2.5.2, domutils@^2.8.0:
+ version "2.8.0"
+ resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135"
+ integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==
+ dependencies:
+ dom-serializer "^1.0.1"
+ domelementtype "^2.2.0"
+ domhandler "^4.2.0"
+
+domutils@^3.0.1:
+ version "3.2.2"
+ resolved "https://registry.yarnpkg.com/domutils/-/domutils-3.2.2.tgz#edbfe2b668b0c1d97c24baf0f1062b132221bc78"
+ integrity sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==
+ dependencies:
+ dom-serializer "^2.0.0"
+ domelementtype "^2.3.0"
+ domhandler "^5.0.3"
+
+dot-case@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751"
+ integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==
+ dependencies:
+ no-case "^3.0.4"
+ tslib "^2.0.3"
+
+dot-prop@^6.0.1:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-6.0.1.tgz#fc26b3cf142b9e59b74dbd39ed66ce620c681083"
+ integrity sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==
+ dependencies:
+ is-obj "^2.0.0"
+
+dunder-proto@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a"
+ integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==
+ dependencies:
+ call-bind-apply-helpers "^1.0.1"
+ es-errors "^1.3.0"
+ gopd "^1.2.0"
+
+duplexer@^0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6"
+ integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==
+
+eastasianwidth@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb"
+ integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==
+
+ee-first@1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
+ integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==
+
+electron-to-chromium@^1.5.211:
+ version "1.5.211"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.211.tgz#749317bf9cf894c06f67980940cf8074e5eb08ca"
+ integrity sha512-IGBvimJkotaLzFnwIVgW9/UD/AOJ2tByUmeOrtqBfACSbAw5b1G0XpvdaieKyc7ULmbwXVx+4e4Be8pOPBrYkw==
+
+emoji-regex@^8.0.0:
+ version "8.0.0"
+ resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
+ integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
+
+emoji-regex@^9.2.2:
+ version "9.2.2"
+ resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72"
+ integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==
+
+emojilib@^2.4.0:
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/emojilib/-/emojilib-2.4.0.tgz#ac518a8bb0d5f76dda57289ccb2fdf9d39ae721e"
+ integrity sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==
+
+emojis-list@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78"
+ integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==
+
+emoticon@^4.0.1:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/emoticon/-/emoticon-4.1.0.tgz#d5a156868ee173095627a33de3f1e914c3dde79e"
+ integrity sha512-VWZfnxqwNcc51hIy/sbOdEem6D+cVtpPzEEtVAFdaas30+1dgkyaOQ4sQ6Bp0tOMqWO1v+HQfYaoodOkdhK6SQ==
+
+encodeurl@~1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
+ integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==
+
+encodeurl@~2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-2.0.0.tgz#7b8ea898077d7e409d3ac45474ea38eaf0857a58"
+ integrity sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==
+
+enhanced-resolve@^5.17.3:
+ version "5.18.3"
+ resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.18.3.tgz#9b5f4c5c076b8787c78fe540392ce76a88855b44"
+ integrity sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==
+ dependencies:
+ graceful-fs "^4.2.4"
+ tapable "^2.2.0"
+
+entities@^2.0.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55"
+ integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==
+
+entities@^4.2.0, entities@^4.4.0:
+ version "4.5.0"
+ resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48"
+ integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==
+
+entities@^6.0.0:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/entities/-/entities-6.0.1.tgz#c28c34a43379ca7f61d074130b2f5f7020a30694"
+ integrity sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==
+
+error-ex@^1.3.1:
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
+ integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==
+ dependencies:
+ is-arrayish "^0.2.1"
+
+es-define-property@^1.0.0, es-define-property@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.1.tgz#983eb2f9a6724e9303f61addf011c72e09e0b0fa"
+ integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==
+
+es-errors@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f"
+ integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==
+
+es-module-lexer@^1.2.1:
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.7.0.tgz#9159601561880a85f2734560a9099b2c31e5372a"
+ integrity sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==
+
+es-object-atoms@^1.0.0, es-object-atoms@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz#1c4f2c4837327597ce69d2ca190a7fdd172338c1"
+ integrity sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==
+ dependencies:
+ es-errors "^1.3.0"
+
+esast-util-from-estree@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/esast-util-from-estree/-/esast-util-from-estree-2.0.0.tgz#8d1cfb51ad534d2f159dc250e604f3478a79f1ad"
+ integrity sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==
+ dependencies:
+ "@types/estree-jsx" "^1.0.0"
+ devlop "^1.0.0"
+ estree-util-visit "^2.0.0"
+ unist-util-position-from-estree "^2.0.0"
+
+esast-util-from-js@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/esast-util-from-js/-/esast-util-from-js-2.0.1.tgz#5147bec34cc9da44accf52f87f239a40ac3e8225"
+ integrity sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==
+ dependencies:
+ "@types/estree-jsx" "^1.0.0"
+ acorn "^8.0.0"
+ esast-util-from-estree "^2.0.0"
+ vfile-message "^4.0.0"
+
+escalade@^3.1.1, escalade@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5"
+ integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==
+
+escape-goat@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/escape-goat/-/escape-goat-4.0.0.tgz#9424820331b510b0666b98f7873fe11ac4aa8081"
+ integrity sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==
+
+escape-html@^1.0.3, escape-html@~1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
+ integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==
+
+escape-string-regexp@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
+ integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==
+
+escape-string-regexp@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
+ integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
+
+escape-string-regexp@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz#4683126b500b61762f2dbebace1806e8be31b1c8"
+ integrity sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==
+
+eslint-scope@5.1.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c"
+ integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==
+ dependencies:
+ esrecurse "^4.3.0"
+ estraverse "^4.1.1"
+
+esprima@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
+ integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
+
+esrecurse@^4.3.0:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921"
+ integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==
+ dependencies:
+ estraverse "^5.2.0"
+
+estraverse@^4.1.1:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d"
+ integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==
+
+estraverse@^5.2.0:
+ version "5.3.0"
+ resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123"
+ integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
+
+estree-util-attach-comments@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz#344bde6a64c8a31d15231e5ee9e297566a691c2d"
+ integrity sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==
+ dependencies:
+ "@types/estree" "^1.0.0"
+
+estree-util-build-jsx@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/estree-util-build-jsx/-/estree-util-build-jsx-3.0.1.tgz#b6d0bced1dcc4f06f25cf0ceda2b2dcaf98168f1"
+ integrity sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==
+ dependencies:
+ "@types/estree-jsx" "^1.0.0"
+ devlop "^1.0.0"
+ estree-util-is-identifier-name "^3.0.0"
+ estree-walker "^3.0.0"
+
+estree-util-is-identifier-name@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz#0b5ef4c4ff13508b34dcd01ecfa945f61fce5dbd"
+ integrity sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==
+
+estree-util-scope@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/estree-util-scope/-/estree-util-scope-1.0.0.tgz#9cbdfc77f5cb51e3d9ed4ad9c4adbff22d43e585"
+ integrity sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ==
+ dependencies:
+ "@types/estree" "^1.0.0"
+ devlop "^1.0.0"
+
+estree-util-to-js@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/estree-util-to-js/-/estree-util-to-js-2.0.0.tgz#10a6fb924814e6abb62becf0d2bc4dea51d04f17"
+ integrity sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==
+ dependencies:
+ "@types/estree-jsx" "^1.0.0"
+ astring "^1.8.0"
+ source-map "^0.7.0"
+
+estree-util-value-to-estree@^3.0.1:
+ version "3.4.0"
+ resolved "https://registry.yarnpkg.com/estree-util-value-to-estree/-/estree-util-value-to-estree-3.4.0.tgz#827122e40c3a756d3c4cf5d5d296fa06026a1a4f"
+ integrity sha512-Zlp+gxis+gCfK12d3Srl2PdX2ybsEA8ZYy6vQGVQTNNYLEGRQQ56XB64bjemN8kxIKXP1nC9ip4Z+ILy9LGzvQ==
+ dependencies:
+ "@types/estree" "^1.0.0"
+
+estree-util-visit@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/estree-util-visit/-/estree-util-visit-2.0.0.tgz#13a9a9f40ff50ed0c022f831ddf4b58d05446feb"
+ integrity sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==
+ dependencies:
+ "@types/estree-jsx" "^1.0.0"
+ "@types/unist" "^3.0.0"
+
+estree-walker@^3.0.0:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-3.0.3.tgz#67c3e549ec402a487b4fc193d1953a524752340d"
+ integrity sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==
+ dependencies:
+ "@types/estree" "^1.0.0"
+
+esutils@^2.0.2:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
+ integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
+
+eta@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/eta/-/eta-2.2.0.tgz#eb8b5f8c4e8b6306561a455e62cd7492fe3a9b8a"
+ integrity sha512-UVQ72Rqjy/ZKQalzV5dCCJP80GrmPrMxh6NlNf+erV6ObL0ZFkhCstWRawS85z3smdr3d2wXPsZEY7rDPfGd2g==
+
+etag@~1.8.1:
+ version "1.8.1"
+ resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
+ integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==
+
+eval@^0.1.8:
+ version "0.1.8"
+ resolved "https://registry.yarnpkg.com/eval/-/eval-0.1.8.tgz#2b903473b8cc1d1989b83a1e7923f883eb357f85"
+ integrity sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==
+ dependencies:
+ "@types/node" "*"
+ require-like ">= 0.1.1"
+
+eventemitter3@^4.0.0, eventemitter3@^4.0.4:
+ version "4.0.7"
+ resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f"
+ integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==
+
+events@^3.2.0:
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400"
+ integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==
+
+execa@5.1.1, execa@^5.0.0:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd"
+ integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==
+ dependencies:
+ cross-spawn "^7.0.3"
+ get-stream "^6.0.0"
+ human-signals "^2.1.0"
+ is-stream "^2.0.0"
+ merge-stream "^2.0.0"
+ npm-run-path "^4.0.1"
+ onetime "^5.1.2"
+ signal-exit "^3.0.3"
+ strip-final-newline "^2.0.0"
+
+express@^4.17.3:
+ version "4.21.2"
+ resolved "https://registry.yarnpkg.com/express/-/express-4.21.2.tgz#cf250e48362174ead6cea4a566abef0162c1ec32"
+ integrity sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==
+ dependencies:
+ accepts "~1.3.8"
+ array-flatten "1.1.1"
+ body-parser "1.20.3"
+ content-disposition "0.5.4"
+ content-type "~1.0.4"
+ cookie "0.7.1"
+ cookie-signature "1.0.6"
+ debug "2.6.9"
+ depd "2.0.0"
+ encodeurl "~2.0.0"
+ escape-html "~1.0.3"
+ etag "~1.8.1"
+ finalhandler "1.3.1"
+ fresh "0.5.2"
+ http-errors "2.0.0"
+ merge-descriptors "1.0.3"
+ methods "~1.1.2"
+ on-finished "2.4.1"
+ parseurl "~1.3.3"
+ path-to-regexp "0.1.12"
+ proxy-addr "~2.0.7"
+ qs "6.13.0"
+ range-parser "~1.2.1"
+ safe-buffer "5.2.1"
+ send "0.19.0"
+ serve-static "1.16.2"
+ setprototypeof "1.2.0"
+ statuses "2.0.1"
+ type-is "~1.6.18"
+ utils-merge "1.0.1"
+ vary "~1.1.2"
+
+extend-shallow@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f"
+ integrity sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==
+ dependencies:
+ is-extendable "^0.1.0"
+
+extend@^3.0.0:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
+ integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
+
+fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
+ version "3.1.3"
+ resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
+ integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
+
+fast-glob@^3.2.11, fast-glob@^3.2.9, fast-glob@^3.3.0:
+ version "3.3.3"
+ resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.3.tgz#d06d585ce8dba90a16b0505c543c3ccfb3aeb818"
+ integrity sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==
+ dependencies:
+ "@nodelib/fs.stat" "^2.0.2"
+ "@nodelib/fs.walk" "^1.2.3"
+ glob-parent "^5.1.2"
+ merge2 "^1.3.0"
+ micromatch "^4.0.8"
+
+fast-json-stable-stringify@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
+ integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
+
+fast-uri@^3.0.1:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.1.0.tgz#66eecff6c764c0df9b762e62ca7edcfb53b4edfa"
+ integrity sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==
+
+fastq@^1.6.0:
+ version "1.19.1"
+ resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.19.1.tgz#d50eaba803c8846a883c16492821ebcd2cda55f5"
+ integrity sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==
+ dependencies:
+ reusify "^1.0.4"
+
+fault@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/fault/-/fault-2.0.1.tgz#d47ca9f37ca26e4bd38374a7c500b5a384755b6c"
+ integrity sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==
+ dependencies:
+ format "^0.2.0"
+
+faye-websocket@^0.11.3:
+ version "0.11.4"
+ resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.4.tgz#7f0d9275cfdd86a1c963dc8b65fcc451edcbb1da"
+ integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==
+ dependencies:
+ websocket-driver ">=0.5.1"
+
+feed@^4.2.2:
+ version "4.2.2"
+ resolved "https://registry.yarnpkg.com/feed/-/feed-4.2.2.tgz#865783ef6ed12579e2c44bbef3c9113bc4956a7e"
+ integrity sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==
+ dependencies:
+ xml-js "^1.6.11"
+
+figures@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af"
+ integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==
+ dependencies:
+ escape-string-regexp "^1.0.5"
+
+file-loader@^6.2.0:
+ version "6.2.0"
+ resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.2.0.tgz#baef7cf8e1840df325e4390b4484879480eebe4d"
+ integrity sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==
+ dependencies:
+ loader-utils "^2.0.0"
+ schema-utils "^3.0.0"
+
+fill-range@^7.1.1:
+ version "7.1.1"
+ resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292"
+ integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==
+ dependencies:
+ to-regex-range "^5.0.1"
+
+finalhandler@1.3.1:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.3.1.tgz#0c575f1d1d324ddd1da35ad7ece3df7d19088019"
+ integrity sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==
+ dependencies:
+ debug "2.6.9"
+ encodeurl "~2.0.0"
+ escape-html "~1.0.3"
+ on-finished "2.4.1"
+ parseurl "~1.3.3"
+ statuses "2.0.1"
+ unpipe "~1.0.0"
+
+find-cache-dir@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-4.0.0.tgz#a30ee0448f81a3990708f6453633c733e2f6eec2"
+ integrity sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==
+ dependencies:
+ common-path-prefix "^3.0.0"
+ pkg-dir "^7.0.0"
+
+find-root@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4"
+ integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==
+
+find-up@^6.3.0:
+ version "6.3.0"
+ resolved "https://registry.yarnpkg.com/find-up/-/find-up-6.3.0.tgz#2abab3d3280b2dc7ac10199ef324c4e002c8c790"
+ integrity sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==
+ dependencies:
+ locate-path "^7.1.0"
+ path-exists "^5.0.0"
+
+flat@^5.0.2:
+ version "5.0.2"
+ resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241"
+ integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==
+
+follow-redirects@^1.0.0:
+ version "1.15.11"
+ resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.11.tgz#777d73d72a92f8ec4d2e410eb47352a56b8e8340"
+ integrity sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==
+
+form-data-encoder@^2.1.2:
+ version "2.1.4"
+ resolved "https://registry.yarnpkg.com/form-data-encoder/-/form-data-encoder-2.1.4.tgz#261ea35d2a70d48d30ec7a9603130fa5515e9cd5"
+ integrity sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==
+
+format@^0.2.0:
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/format/-/format-0.2.2.tgz#d6170107e9efdc4ed30c9dc39016df942b5cb58b"
+ integrity sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==
+
+forwarded@0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811"
+ integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==
+
+fraction.js@^4.3.7:
+ version "4.3.7"
+ resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.3.7.tgz#06ca0085157e42fda7f9e726e79fefc4068840f7"
+ integrity sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==
+
+fresh@0.5.2:
+ version "0.5.2"
+ resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
+ integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==
+
+fs-extra@^11.1.1, fs-extra@^11.2.0:
+ version "11.3.1"
+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.3.1.tgz#ba7a1f97a85f94c6db2e52ff69570db3671d5a74"
+ integrity sha512-eXvGGwZ5CL17ZSwHWd3bbgk7UUpF6IFHtP57NYYakPvHOs8GDgDe5KJI36jIJzDkJ6eJjuzRA8eBQb6SkKue0g==
+ dependencies:
+ graceful-fs "^4.2.0"
+ jsonfile "^6.0.1"
+ universalify "^2.0.0"
+
+fs-monkey@^1.0.4:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.1.0.tgz#632aa15a20e71828ed56b24303363fb1414e5997"
+ integrity sha512-QMUezzXWII9EV5aTFXW1UBVUO77wYPpjqIF8/AviUCThNeSYZykpoTixUeaNNBwmCev0AMDWMAni+f8Hxb1IFw==
+
+fs.realpath@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
+ integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
+
+fsevents@~2.3.2:
+ version "2.3.3"
+ resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6"
+ integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
+
+function-bind@^1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c"
+ integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==
+
+gensync@^1.0.0-beta.2:
+ version "1.0.0-beta.2"
+ resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
+ integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==
+
+get-intrinsic@^1.2.4, get-intrinsic@^1.2.5, get-intrinsic@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz#743f0e3b6964a93a5491ed1bffaae054d7f98d01"
+ integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==
+ dependencies:
+ call-bind-apply-helpers "^1.0.2"
+ es-define-property "^1.0.1"
+ es-errors "^1.3.0"
+ es-object-atoms "^1.1.1"
+ function-bind "^1.1.2"
+ get-proto "^1.0.1"
+ gopd "^1.2.0"
+ has-symbols "^1.1.0"
+ hasown "^2.0.2"
+ math-intrinsics "^1.1.0"
+
+get-own-enumerable-property-symbols@^3.0.0:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664"
+ integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==
+
+get-proto@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/get-proto/-/get-proto-1.0.1.tgz#150b3f2743869ef3e851ec0c49d15b1d14d00ee1"
+ integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==
+ dependencies:
+ dunder-proto "^1.0.1"
+ es-object-atoms "^1.0.0"
+
+get-stream@^6.0.0, get-stream@^6.0.1:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7"
+ integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==
+
+github-slugger@^1.5.0:
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/github-slugger/-/github-slugger-1.5.0.tgz#17891bbc73232051474d68bd867a34625c955f7d"
+ integrity sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==
+
+glob-parent@^5.1.2, glob-parent@~5.1.2:
+ version "5.1.2"
+ resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
+ integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
+ dependencies:
+ is-glob "^4.0.1"
+
+glob-parent@^6.0.1:
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3"
+ integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==
+ dependencies:
+ is-glob "^4.0.3"
+
+glob-to-regexp@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e"
+ integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==
+
+glob@^7.1.3:
+ version "7.2.3"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b"
+ integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==
+ dependencies:
+ fs.realpath "^1.0.0"
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "^3.1.1"
+ once "^1.3.0"
+ path-is-absolute "^1.0.0"
+
+global-dirs@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.1.tgz#0c488971f066baceda21447aecb1a8b911d22485"
+ integrity sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==
+ dependencies:
+ ini "2.0.0"
+
+globby@^11.1.0:
+ version "11.1.0"
+ resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b"
+ integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==
+ dependencies:
+ array-union "^2.1.0"
+ dir-glob "^3.0.1"
+ fast-glob "^3.2.9"
+ ignore "^5.2.0"
+ merge2 "^1.4.1"
+ slash "^3.0.0"
+
+globby@^13.1.1:
+ version "13.2.2"
+ resolved "https://registry.yarnpkg.com/globby/-/globby-13.2.2.tgz#63b90b1bf68619c2135475cbd4e71e66aa090592"
+ integrity sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==
+ dependencies:
+ dir-glob "^3.0.1"
+ fast-glob "^3.3.0"
+ ignore "^5.2.4"
+ merge2 "^1.4.1"
+ slash "^4.0.0"
+
+good-listener@^1.2.2:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/good-listener/-/good-listener-1.2.2.tgz#d53b30cdf9313dffb7dc9a0d477096aa6d145c50"
+ integrity sha512-goW1b+d9q/HIwbVYZzZ6SsTr4IgE+WA44A0GmPIQstuOrgsFcT7VEJ48nmr9GaRtNu0XTKacFLGnBPAM6Afouw==
+ dependencies:
+ delegate "^3.1.2"
+
+gopd@^1.0.1, gopd@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1"
+ integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==
+
+got@^12.1.0:
+ version "12.6.1"
+ resolved "https://registry.yarnpkg.com/got/-/got-12.6.1.tgz#8869560d1383353204b5a9435f782df9c091f549"
+ integrity sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==
+ dependencies:
+ "@sindresorhus/is" "^5.2.0"
+ "@szmarczak/http-timer" "^5.0.1"
+ cacheable-lookup "^7.0.0"
+ cacheable-request "^10.2.8"
+ decompress-response "^6.0.0"
+ form-data-encoder "^2.1.2"
+ get-stream "^6.0.1"
+ http2-wrapper "^2.1.10"
+ lowercase-keys "^3.0.0"
+ p-cancelable "^3.0.0"
+ responselike "^3.0.0"
+
+graceful-fs@4.2.10:
+ version "4.2.10"
+ resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c"
+ integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==
+
+graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.11, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9:
+ version "4.2.11"
+ resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3"
+ integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==
+
+gray-matter@^4.0.3:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/gray-matter/-/gray-matter-4.0.3.tgz#e893c064825de73ea1f5f7d88c7a9f7274288798"
+ integrity sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==
+ dependencies:
+ js-yaml "^3.13.1"
+ kind-of "^6.0.2"
+ section-matter "^1.0.0"
+ strip-bom-string "^1.0.0"
+
+gzip-size@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-6.0.0.tgz#065367fd50c239c0671cbcbad5be3e2eeb10e462"
+ integrity sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==
+ dependencies:
+ duplexer "^0.1.2"
+
+handle-thing@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e"
+ integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==
+
+has-flag@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
+ integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
+
+has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854"
+ integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==
+ dependencies:
+ es-define-property "^1.0.0"
+
+has-symbols@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338"
+ integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==
+
+has-yarn@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-3.0.0.tgz#c3c21e559730d1d3b57e28af1f30d06fac38147d"
+ integrity sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA==
+
+hasown@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003"
+ integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==
+ dependencies:
+ function-bind "^1.1.2"
+
+hast-util-from-parse5@^8.0.0:
+ version "8.0.3"
+ resolved "https://registry.yarnpkg.com/hast-util-from-parse5/-/hast-util-from-parse5-8.0.3.tgz#830a35022fff28c3fea3697a98c2f4cc6b835a2e"
+ integrity sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==
+ dependencies:
+ "@types/hast" "^3.0.0"
+ "@types/unist" "^3.0.0"
+ devlop "^1.0.0"
+ hastscript "^9.0.0"
+ property-information "^7.0.0"
+ vfile "^6.0.0"
+ vfile-location "^5.0.0"
+ web-namespaces "^2.0.0"
+
+hast-util-parse-selector@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz#352879fa86e25616036037dd8931fb5f34cb4a27"
+ integrity sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==
+ dependencies:
+ "@types/hast" "^3.0.0"
+
+hast-util-raw@^9.0.0:
+ version "9.1.0"
+ resolved "https://registry.yarnpkg.com/hast-util-raw/-/hast-util-raw-9.1.0.tgz#79b66b26f6f68fb50dfb4716b2cdca90d92adf2e"
+ integrity sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==
+ dependencies:
+ "@types/hast" "^3.0.0"
+ "@types/unist" "^3.0.0"
+ "@ungap/structured-clone" "^1.0.0"
+ hast-util-from-parse5 "^8.0.0"
+ hast-util-to-parse5 "^8.0.0"
+ html-void-elements "^3.0.0"
+ mdast-util-to-hast "^13.0.0"
+ parse5 "^7.0.0"
+ unist-util-position "^5.0.0"
+ unist-util-visit "^5.0.0"
+ vfile "^6.0.0"
+ web-namespaces "^2.0.0"
+ zwitch "^2.0.0"
+
+hast-util-to-estree@^3.0.0:
+ version "3.1.3"
+ resolved "https://registry.yarnpkg.com/hast-util-to-estree/-/hast-util-to-estree-3.1.3.tgz#e654c1c9374645135695cc0ab9f70b8fcaf733d7"
+ integrity sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w==
+ dependencies:
+ "@types/estree" "^1.0.0"
+ "@types/estree-jsx" "^1.0.0"
+ "@types/hast" "^3.0.0"
+ comma-separated-tokens "^2.0.0"
+ devlop "^1.0.0"
+ estree-util-attach-comments "^3.0.0"
+ estree-util-is-identifier-name "^3.0.0"
+ hast-util-whitespace "^3.0.0"
+ mdast-util-mdx-expression "^2.0.0"
+ mdast-util-mdx-jsx "^3.0.0"
+ mdast-util-mdxjs-esm "^2.0.0"
+ property-information "^7.0.0"
+ space-separated-tokens "^2.0.0"
+ style-to-js "^1.0.0"
+ unist-util-position "^5.0.0"
+ zwitch "^2.0.0"
+
+hast-util-to-jsx-runtime@^2.0.0:
+ version "2.3.6"
+ resolved "https://registry.yarnpkg.com/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.6.tgz#ff31897aae59f62232e21594eac7ef6b63333e98"
+ integrity sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==
+ dependencies:
+ "@types/estree" "^1.0.0"
+ "@types/hast" "^3.0.0"
+ "@types/unist" "^3.0.0"
+ comma-separated-tokens "^2.0.0"
+ devlop "^1.0.0"
+ estree-util-is-identifier-name "^3.0.0"
+ hast-util-whitespace "^3.0.0"
+ mdast-util-mdx-expression "^2.0.0"
+ mdast-util-mdx-jsx "^3.0.0"
+ mdast-util-mdxjs-esm "^2.0.0"
+ property-information "^7.0.0"
+ space-separated-tokens "^2.0.0"
+ style-to-js "^1.0.0"
+ unist-util-position "^5.0.0"
+ vfile-message "^4.0.0"
+
+hast-util-to-parse5@^8.0.0:
+ version "8.0.0"
+ resolved "https://registry.yarnpkg.com/hast-util-to-parse5/-/hast-util-to-parse5-8.0.0.tgz#477cd42d278d4f036bc2ea58586130f6f39ee6ed"
+ integrity sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==
+ dependencies:
+ "@types/hast" "^3.0.0"
+ comma-separated-tokens "^2.0.0"
+ devlop "^1.0.0"
+ property-information "^6.0.0"
+ space-separated-tokens "^2.0.0"
+ web-namespaces "^2.0.0"
+ zwitch "^2.0.0"
+
+hast-util-whitespace@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz#7778ed9d3c92dd9e8c5c8f648a49c21fc51cb621"
+ integrity sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==
+ dependencies:
+ "@types/hast" "^3.0.0"
+
+hastscript@^9.0.0:
+ version "9.0.1"
+ resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-9.0.1.tgz#dbc84bef6051d40084342c229c451cd9dc567dff"
+ integrity sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==
+ dependencies:
+ "@types/hast" "^3.0.0"
+ comma-separated-tokens "^2.0.0"
+ hast-util-parse-selector "^4.0.0"
+ property-information "^7.0.0"
+ space-separated-tokens "^2.0.0"
+
+he@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f"
+ integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
+
+history@^4.9.0:
+ version "4.10.1"
+ resolved "https://registry.yarnpkg.com/history/-/history-4.10.1.tgz#33371a65e3a83b267434e2b3f3b1b4c58aad4cf3"
+ integrity sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==
+ dependencies:
+ "@babel/runtime" "^7.1.2"
+ loose-envify "^1.2.0"
+ resolve-pathname "^3.0.0"
+ tiny-invariant "^1.0.2"
+ tiny-warning "^1.0.0"
+ value-equal "^1.0.1"
+
+hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.1:
+ version "3.3.2"
+ resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45"
+ integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==
+ dependencies:
+ react-is "^16.7.0"
+
+hpack.js@^2.1.6:
+ version "2.1.6"
+ resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2"
+ integrity sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==
+ dependencies:
+ inherits "^2.0.1"
+ obuf "^1.0.0"
+ readable-stream "^2.0.1"
+ wbuf "^1.1.0"
+
+html-entities@^2.3.2:
+ version "2.6.0"
+ resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-2.6.0.tgz#7c64f1ea3b36818ccae3d3fb48b6974208e984f8"
+ integrity sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ==
+
+html-escaper@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453"
+ integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==
+
+html-minifier-terser@^6.0.2:
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#bfc818934cc07918f6b3669f5774ecdfd48f32ab"
+ integrity sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==
+ dependencies:
+ camel-case "^4.1.2"
+ clean-css "^5.2.2"
+ commander "^8.3.0"
+ he "^1.2.0"
+ param-case "^3.0.4"
+ relateurl "^0.2.7"
+ terser "^5.10.0"
+
+html-minifier-terser@^7.2.0:
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-7.2.0.tgz#18752e23a2f0ed4b0f550f217bb41693e975b942"
+ integrity sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA==
+ dependencies:
+ camel-case "^4.1.2"
+ clean-css "~5.3.2"
+ commander "^10.0.0"
+ entities "^4.4.0"
+ param-case "^3.0.4"
+ relateurl "^0.2.7"
+ terser "^5.15.1"
+
+html-tags@^3.3.1:
+ version "3.3.1"
+ resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-3.3.1.tgz#a04026a18c882e4bba8a01a3d39cfe465d40b5ce"
+ integrity sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==
+
+html-void-elements@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/html-void-elements/-/html-void-elements-3.0.0.tgz#fc9dbd84af9e747249034d4d62602def6517f1d7"
+ integrity sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==
+
+html-webpack-plugin@^5.6.0:
+ version "5.6.4"
+ resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-5.6.4.tgz#d8cb0f7edff7745ae7d6cccb0bff592e9f7f7959"
+ integrity sha512-V/PZeWsqhfpE27nKeX9EO2sbR+D17A+tLf6qU+ht66jdUsN0QLKJN27Z+1+gHrVMKgndBahes0PU6rRihDgHTw==
+ dependencies:
+ "@types/html-minifier-terser" "^6.0.0"
+ html-minifier-terser "^6.0.2"
+ lodash "^4.17.21"
+ pretty-error "^4.0.0"
+ tapable "^2.0.0"
+
+htmlparser2@^6.1.0:
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7"
+ integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==
+ dependencies:
+ domelementtype "^2.0.1"
+ domhandler "^4.0.0"
+ domutils "^2.5.2"
+ entities "^2.0.0"
+
+htmlparser2@^8.0.1:
+ version "8.0.2"
+ resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-8.0.2.tgz#f002151705b383e62433b5cf466f5b716edaec21"
+ integrity sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==
+ dependencies:
+ domelementtype "^2.3.0"
+ domhandler "^5.0.3"
+ domutils "^3.0.1"
+ entities "^4.4.0"
+
+http-cache-semantics@^4.1.1:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz#205f4db64f8562b76a4ff9235aa5279839a09dd5"
+ integrity sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==
+
+http-deceiver@^1.2.7:
+ version "1.2.7"
+ resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87"
+ integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==
+
+http-errors@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3"
+ integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==
+ dependencies:
+ depd "2.0.0"
+ inherits "2.0.4"
+ setprototypeof "1.2.0"
+ statuses "2.0.1"
+ toidentifier "1.0.1"
+
+http-errors@~1.6.2:
+ version "1.6.3"
+ resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d"
+ integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==
+ dependencies:
+ depd "~1.1.2"
+ inherits "2.0.3"
+ setprototypeof "1.1.0"
+ statuses ">= 1.4.0 < 2"
+
+http-parser-js@>=0.5.1:
+ version "0.5.10"
+ resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.10.tgz#b3277bd6d7ed5588e20ea73bf724fcbe44609075"
+ integrity sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==
+
+http-proxy-middleware@^2.0.3:
+ version "2.0.9"
+ resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.9.tgz#e9e63d68afaa4eee3d147f39149ab84c0c2815ef"
+ integrity sha512-c1IyJYLYppU574+YI7R4QyX2ystMtVXZwIdzazUIPIJsHuWNd+mho2j+bKoHftndicGj9yh+xjd+l0yj7VeT1Q==
+ dependencies:
+ "@types/http-proxy" "^1.17.8"
+ http-proxy "^1.18.1"
+ is-glob "^4.0.1"
+ is-plain-obj "^3.0.0"
+ micromatch "^4.0.2"
+
+http-proxy@^1.18.1:
+ version "1.18.1"
+ resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549"
+ integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==
+ dependencies:
+ eventemitter3 "^4.0.0"
+ follow-redirects "^1.0.0"
+ requires-port "^1.0.0"
+
+http2-wrapper@^2.1.10:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-2.2.1.tgz#310968153dcdedb160d8b72114363ef5fce1f64a"
+ integrity sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==
+ dependencies:
+ quick-lru "^5.1.1"
+ resolve-alpn "^1.2.0"
+
+human-signals@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0"
+ integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==
+
+iconv-lite@0.4.24:
+ version "0.4.24"
+ resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
+ integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
+ dependencies:
+ safer-buffer ">= 2.1.2 < 3"
+
+icss-utils@^5.0.0, icss-utils@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae"
+ integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==
+
+ignore@^5.2.0, ignore@^5.2.4:
+ version "5.3.2"
+ resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5"
+ integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==
+
+image-size@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/image-size/-/image-size-2.0.2.tgz#84a7b43704db5736f364bf0d1b029821299b4bdc"
+ integrity sha512-IRqXKlaXwgSMAMtpNzZa1ZAe8m+Sa1770Dhk8VkSsP9LS+iHD62Zd8FQKs8fbPiagBE7BzoFX23cxFnwshpV6w==
+
+import-fresh@^3.2.1, import-fresh@^3.3.0:
+ version "3.3.1"
+ resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.1.tgz#9cecb56503c0ada1f2741dbbd6546e4b13b57ccf"
+ integrity sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==
+ dependencies:
+ parent-module "^1.0.0"
+ resolve-from "^4.0.0"
+
+import-lazy@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-4.0.0.tgz#e8eb627483a0a43da3c03f3e35548be5cb0cc153"
+ integrity sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==
+
+imurmurhash@^0.1.4:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
+ integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==
+
+indent-string@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251"
+ integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==
+
+infima@0.2.0-alpha.45:
+ version "0.2.0-alpha.45"
+ resolved "https://registry.yarnpkg.com/infima/-/infima-0.2.0-alpha.45.tgz#542aab5a249274d81679631b492973dd2c1e7466"
+ integrity sha512-uyH0zfr1erU1OohLk0fT4Rrb94AOhguWNOcD9uGrSpRvNB+6gZXUoJX5J0NtvzBO10YZ9PgvA4NFgt+fYg8ojw==
+
+inflight@^1.0.4:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
+ integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==
+ dependencies:
+ once "^1.3.0"
+ wrappy "1"
+
+inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
+ integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
+
+inherits@2.0.3:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
+ integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==
+
+ini@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5"
+ integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==
+
+ini@^1.3.4, ini@~1.3.0:
+ version "1.3.8"
+ resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c"
+ integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==
+
+inline-style-parser@0.2.4:
+ version "0.2.4"
+ resolved "https://registry.yarnpkg.com/inline-style-parser/-/inline-style-parser-0.2.4.tgz#f4af5fe72e612839fcd453d989a586566d695f22"
+ integrity sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==
+
+invariant@^2.2.4:
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
+ integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==
+ dependencies:
+ loose-envify "^1.0.0"
+
+ipaddr.js@1.9.1:
+ version "1.9.1"
+ resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3"
+ integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==
+
+ipaddr.js@^2.0.1:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.2.0.tgz#d33fa7bac284f4de7af949638c9d68157c6b92e8"
+ integrity sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==
+
+is-alphabetical@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-2.0.1.tgz#01072053ea7c1036df3c7d19a6daaec7f19e789b"
+ integrity sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==
+
+is-alphanumerical@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz#7c03fbe96e3e931113e57f964b0a368cc2dfd875"
+ integrity sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==
+ dependencies:
+ is-alphabetical "^2.0.0"
+ is-decimal "^2.0.0"
+
+is-arrayish@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
+ integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==
+
+is-binary-path@~2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
+ integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
+ dependencies:
+ binary-extensions "^2.0.0"
+
+is-ci@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.1.tgz#db6ecbed1bd659c43dac0f45661e7674103d1867"
+ integrity sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==
+ dependencies:
+ ci-info "^3.2.0"
+
+is-core-module@^2.16.0:
+ version "2.16.1"
+ resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.16.1.tgz#2a98801a849f43e2add644fbb6bc6229b19a4ef4"
+ integrity sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==
+ dependencies:
+ hasown "^2.0.2"
+
+is-decimal@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-2.0.1.tgz#9469d2dc190d0214fd87d78b78caecc0cc14eef7"
+ integrity sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==
+
+is-docker@^2.0.0, is-docker@^2.1.1:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa"
+ integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==
+
+is-extendable@^0.1.0:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
+ integrity sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==
+
+is-extglob@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
+ integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
+
+is-fullwidth-code-point@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
+ integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
+
+is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
+ integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
+ dependencies:
+ is-extglob "^2.1.1"
+
+is-hexadecimal@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz#86b5bf668fca307498d319dfc03289d781a90027"
+ integrity sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==
+
+is-installed-globally@^0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.4.0.tgz#9a0fd407949c30f86eb6959ef1b7994ed0b7b520"
+ integrity sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==
+ dependencies:
+ global-dirs "^3.0.0"
+ is-path-inside "^3.0.2"
+
+is-npm@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-6.0.0.tgz#b59e75e8915543ca5d881ecff864077cba095261"
+ integrity sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ==
+
+is-number@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
+ integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
+
+is-obj@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f"
+ integrity sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==
+
+is-obj@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982"
+ integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==
+
+is-path-inside@^3.0.2:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283"
+ integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==
+
+is-plain-obj@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz#af6f2ea14ac5a646183a5bbdb5baabbc156ad9d7"
+ integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==
+
+is-plain-obj@^4.0.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-4.1.0.tgz#d65025edec3657ce032fd7db63c97883eaed71f0"
+ integrity sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==
+
+is-plain-object@^2.0.4:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677"
+ integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==
+ dependencies:
+ isobject "^3.0.1"
+
+is-regexp@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069"
+ integrity sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==
+
+is-stream@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077"
+ integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==
+
+is-typedarray@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
+ integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==
+
+is-wsl@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271"
+ integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==
+ dependencies:
+ is-docker "^2.0.0"
+
+is-yarn-global@^0.4.0:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.4.1.tgz#b312d902b313f81e4eaf98b6361ba2b45cd694bb"
+ integrity sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ==
+
+isarray@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
+ integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==
+
+isarray@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
+ integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==
+
+isexe@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
+ integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==
+
+isobject@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"
+ integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==
+
+jest-util@^29.7.0:
+ version "29.7.0"
+ resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.7.0.tgz#23c2b62bfb22be82b44de98055802ff3710fc0bc"
+ integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==
+ dependencies:
+ "@jest/types" "^29.6.3"
+ "@types/node" "*"
+ chalk "^4.0.0"
+ ci-info "^3.2.0"
+ graceful-fs "^4.2.9"
+ picomatch "^2.2.3"
+
+jest-worker@^27.4.5:
+ version "27.5.1"
+ resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0"
+ integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==
+ dependencies:
+ "@types/node" "*"
+ merge-stream "^2.0.0"
+ supports-color "^8.0.0"
+
+jest-worker@^29.4.3:
+ version "29.7.0"
+ resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.7.0.tgz#acad073acbbaeb7262bd5389e1bcf43e10058d4a"
+ integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==
+ dependencies:
+ "@types/node" "*"
+ jest-util "^29.7.0"
+ merge-stream "^2.0.0"
+ supports-color "^8.0.0"
+
+jiti@^1.20.0:
+ version "1.21.7"
+ resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.7.tgz#9dd81043424a3d28458b193d965f0d18a2300ba9"
+ integrity sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==
+
+joi@^17.9.2:
+ version "17.13.3"
+ resolved "https://registry.yarnpkg.com/joi/-/joi-17.13.3.tgz#0f5cc1169c999b30d344366d384b12d92558bcec"
+ integrity sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==
+ dependencies:
+ "@hapi/hoek" "^9.3.0"
+ "@hapi/topo" "^5.1.0"
+ "@sideway/address" "^4.1.5"
+ "@sideway/formula" "^3.0.1"
+ "@sideway/pinpoint" "^2.0.0"
+
+"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
+ integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
+
+js-yaml@^3.13.1:
+ version "3.14.1"
+ resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537"
+ integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==
+ dependencies:
+ argparse "^1.0.7"
+ esprima "^4.0.0"
+
+js-yaml@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602"
+ integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==
+ dependencies:
+ argparse "^2.0.1"
+
+jsesc@^3.0.2:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.1.0.tgz#74d335a234f67ed19907fdadfac7ccf9d409825d"
+ integrity sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==
+
+jsesc@~3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.0.2.tgz#bb8b09a6597ba426425f2e4a07245c3d00b9343e"
+ integrity sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==
+
+json-buffer@3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13"
+ integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==
+
+json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1:
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d"
+ integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==
+
+json-schema-traverse@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
+ integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
+
+json-schema-traverse@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2"
+ integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==
+
+json5@^2.1.2, json5@^2.2.3:
+ version "2.2.3"
+ resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283"
+ integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==
+
+jsonfile@^6.0.1:
+ version "6.2.0"
+ resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.2.0.tgz#7c265bd1b65de6977478300087c99f1c84383f62"
+ integrity sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==
+ dependencies:
+ universalify "^2.0.0"
+ optionalDependencies:
+ graceful-fs "^4.1.6"
+
+keyv@^4.5.3:
+ version "4.5.4"
+ resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93"
+ integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==
+ dependencies:
+ json-buffer "3.0.1"
+
+kind-of@^6.0.0, kind-of@^6.0.2:
+ version "6.0.3"
+ resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd"
+ integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==
+
+kleur@^3.0.3:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e"
+ integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==
+
+latest-version@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-7.0.0.tgz#843201591ea81a4d404932eeb61240fe04e9e5da"
+ integrity sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==
+ dependencies:
+ package-json "^8.1.0"
+
+launch-editor@^2.6.0:
+ version "2.11.1"
+ resolved "https://registry.yarnpkg.com/launch-editor/-/launch-editor-2.11.1.tgz#61a0b7314a42fd84a6cbb564573d9e9ffcf3d72b"
+ integrity sha512-SEET7oNfgSaB6Ym0jufAdCeo3meJVeCaaDyzRygy0xsp2BFKCprcfHljTq4QkzTLUxEKkFK6OK4811YM2oSrRg==
+ dependencies:
+ picocolors "^1.1.1"
+ shell-quote "^1.8.3"
+
+leven@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2"
+ integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==
+
+lilconfig@^3.1.1:
+ version "3.1.3"
+ resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.1.3.tgz#a1bcfd6257f9585bf5ae14ceeebb7b559025e4c4"
+ integrity sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==
+
+lines-and-columns@^1.1.6:
+ version "1.2.4"
+ resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632"
+ integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==
+
+loader-runner@^4.2.0:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1"
+ integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==
+
+loader-utils@^2.0.0:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.4.tgz#8b5cb38b5c34a9a018ee1fc0e6a066d1dfcc528c"
+ integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==
+ dependencies:
+ big.js "^5.2.2"
+ emojis-list "^3.0.0"
+ json5 "^2.1.2"
+
+locate-path@^7.1.0:
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-7.2.0.tgz#69cb1779bd90b35ab1e771e1f2f89a202c2a8a8a"
+ integrity sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==
+ dependencies:
+ p-locate "^6.0.0"
+
+lodash.debounce@^4.0.8:
+ version "4.0.8"
+ resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
+ integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==
+
+lodash.memoize@^4.1.2:
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe"
+ integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==
+
+lodash.uniq@^4.5.0:
+ version "4.5.0"
+ resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
+ integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==
+
+lodash@^4.17.20, lodash@^4.17.21:
+ version "4.17.21"
+ resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
+ integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
+
+longest-streak@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-3.1.0.tgz#62fa67cd958742a1574af9f39866364102d90cd4"
+ integrity sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==
+
+loose-envify@^1.0.0, loose-envify@^1.2.0, loose-envify@^1.3.1, loose-envify@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
+ integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
+ dependencies:
+ js-tokens "^3.0.0 || ^4.0.0"
+
+lower-case@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28"
+ integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==
+ dependencies:
+ tslib "^2.0.3"
+
+lowercase-keys@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-3.0.0.tgz#c5e7d442e37ead247ae9db117a9d0a467c89d4f2"
+ integrity sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==
+
+lru-cache@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920"
+ integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==
+ dependencies:
+ yallist "^3.0.2"
+
+markdown-extensions@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/markdown-extensions/-/markdown-extensions-2.0.0.tgz#34bebc83e9938cae16e0e017e4a9814a8330d3c4"
+ integrity sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==
+
+markdown-table@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-2.0.0.tgz#194a90ced26d31fe753d8b9434430214c011865b"
+ integrity sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==
+ dependencies:
+ repeat-string "^1.0.0"
+
+markdown-table@^3.0.0:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-3.0.4.tgz#fe44d6d410ff9d6f2ea1797a3f60aa4d2b631c2a"
+ integrity sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==
+
+math-intrinsics@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9"
+ integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==
+
+mdast-util-directive@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/mdast-util-directive/-/mdast-util-directive-3.1.0.tgz#f3656f4aab6ae3767d3c72cfab5e8055572ccba1"
+ integrity sha512-I3fNFt+DHmpWCYAT7quoM6lHf9wuqtI+oCOfvILnoicNIqjh5E3dEJWiXuYME2gNe8vl1iMQwyUHa7bgFmak6Q==
+ dependencies:
+ "@types/mdast" "^4.0.0"
+ "@types/unist" "^3.0.0"
+ ccount "^2.0.0"
+ devlop "^1.0.0"
+ mdast-util-from-markdown "^2.0.0"
+ mdast-util-to-markdown "^2.0.0"
+ parse-entities "^4.0.0"
+ stringify-entities "^4.0.0"
+ unist-util-visit-parents "^6.0.0"
+
+mdast-util-find-and-replace@^3.0.0, mdast-util-find-and-replace@^3.0.1:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz#70a3174c894e14df722abf43bc250cbae44b11df"
+ integrity sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==
+ dependencies:
+ "@types/mdast" "^4.0.0"
+ escape-string-regexp "^5.0.0"
+ unist-util-is "^6.0.0"
+ unist-util-visit-parents "^6.0.0"
+
+mdast-util-from-markdown@^2.0.0:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz#4850390ca7cf17413a9b9a0fbefcd1bc0eb4160a"
+ integrity sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==
+ dependencies:
+ "@types/mdast" "^4.0.0"
+ "@types/unist" "^3.0.0"
+ decode-named-character-reference "^1.0.0"
+ devlop "^1.0.0"
+ mdast-util-to-string "^4.0.0"
+ micromark "^4.0.0"
+ micromark-util-decode-numeric-character-reference "^2.0.0"
+ micromark-util-decode-string "^2.0.0"
+ micromark-util-normalize-identifier "^2.0.0"
+ micromark-util-symbol "^2.0.0"
+ micromark-util-types "^2.0.0"
+ unist-util-stringify-position "^4.0.0"
+
+mdast-util-frontmatter@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/mdast-util-frontmatter/-/mdast-util-frontmatter-2.0.1.tgz#f5f929eb1eb36c8a7737475c7eb438261f964ee8"
+ integrity sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==
+ dependencies:
+ "@types/mdast" "^4.0.0"
+ devlop "^1.0.0"
+ escape-string-regexp "^5.0.0"
+ mdast-util-from-markdown "^2.0.0"
+ mdast-util-to-markdown "^2.0.0"
+ micromark-extension-frontmatter "^2.0.0"
+
+mdast-util-gfm-autolink-literal@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz#abd557630337bd30a6d5a4bd8252e1c2dc0875d5"
+ integrity sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==
+ dependencies:
+ "@types/mdast" "^4.0.0"
+ ccount "^2.0.0"
+ devlop "^1.0.0"
+ mdast-util-find-and-replace "^3.0.0"
+ micromark-util-character "^2.0.0"
+
+mdast-util-gfm-footnote@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.1.0.tgz#7778e9d9ca3df7238cc2bd3fa2b1bf6a65b19403"
+ integrity sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==
+ dependencies:
+ "@types/mdast" "^4.0.0"
+ devlop "^1.1.0"
+ mdast-util-from-markdown "^2.0.0"
+ mdast-util-to-markdown "^2.0.0"
+ micromark-util-normalize-identifier "^2.0.0"
+
+mdast-util-gfm-strikethrough@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz#d44ef9e8ed283ac8c1165ab0d0dfd058c2764c16"
+ integrity sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==
+ dependencies:
+ "@types/mdast" "^4.0.0"
+ mdast-util-from-markdown "^2.0.0"
+ mdast-util-to-markdown "^2.0.0"
+
+mdast-util-gfm-table@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz#7a435fb6223a72b0862b33afbd712b6dae878d38"
+ integrity sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==
+ dependencies:
+ "@types/mdast" "^4.0.0"
+ devlop "^1.0.0"
+ markdown-table "^3.0.0"
+ mdast-util-from-markdown "^2.0.0"
+ mdast-util-to-markdown "^2.0.0"
+
+mdast-util-gfm-task-list-item@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz#e68095d2f8a4303ef24094ab642e1047b991a936"
+ integrity sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==
+ dependencies:
+ "@types/mdast" "^4.0.0"
+ devlop "^1.0.0"
+ mdast-util-from-markdown "^2.0.0"
+ mdast-util-to-markdown "^2.0.0"
+
+mdast-util-gfm@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/mdast-util-gfm/-/mdast-util-gfm-3.1.0.tgz#2cdf63b92c2a331406b0fb0db4c077c1b0331751"
+ integrity sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==
+ dependencies:
+ mdast-util-from-markdown "^2.0.0"
+ mdast-util-gfm-autolink-literal "^2.0.0"
+ mdast-util-gfm-footnote "^2.0.0"
+ mdast-util-gfm-strikethrough "^2.0.0"
+ mdast-util-gfm-table "^2.0.0"
+ mdast-util-gfm-task-list-item "^2.0.0"
+ mdast-util-to-markdown "^2.0.0"
+
+mdast-util-mdx-expression@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz#43f0abac9adc756e2086f63822a38c8d3c3a5096"
+ integrity sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==
+ dependencies:
+ "@types/estree-jsx" "^1.0.0"
+ "@types/hast" "^3.0.0"
+ "@types/mdast" "^4.0.0"
+ devlop "^1.0.0"
+ mdast-util-from-markdown "^2.0.0"
+ mdast-util-to-markdown "^2.0.0"
+
+mdast-util-mdx-jsx@^3.0.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.2.0.tgz#fd04c67a2a7499efb905a8a5c578dddc9fdada0d"
+ integrity sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==
+ dependencies:
+ "@types/estree-jsx" "^1.0.0"
+ "@types/hast" "^3.0.0"
+ "@types/mdast" "^4.0.0"
+ "@types/unist" "^3.0.0"
+ ccount "^2.0.0"
+ devlop "^1.1.0"
+ mdast-util-from-markdown "^2.0.0"
+ mdast-util-to-markdown "^2.0.0"
+ parse-entities "^4.0.0"
+ stringify-entities "^4.0.0"
+ unist-util-stringify-position "^4.0.0"
+ vfile-message "^4.0.0"
+
+mdast-util-mdx@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz#792f9cf0361b46bee1fdf1ef36beac424a099c41"
+ integrity sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==
+ dependencies:
+ mdast-util-from-markdown "^2.0.0"
+ mdast-util-mdx-expression "^2.0.0"
+ mdast-util-mdx-jsx "^3.0.0"
+ mdast-util-mdxjs-esm "^2.0.0"
+ mdast-util-to-markdown "^2.0.0"
+
+mdast-util-mdxjs-esm@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz#019cfbe757ad62dd557db35a695e7314bcc9fa97"
+ integrity sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==
+ dependencies:
+ "@types/estree-jsx" "^1.0.0"
+ "@types/hast" "^3.0.0"
+ "@types/mdast" "^4.0.0"
+ devlop "^1.0.0"
+ mdast-util-from-markdown "^2.0.0"
+ mdast-util-to-markdown "^2.0.0"
+
+mdast-util-phrasing@^4.0.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz#7cc0a8dec30eaf04b7b1a9661a92adb3382aa6e3"
+ integrity sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==
+ dependencies:
+ "@types/mdast" "^4.0.0"
+ unist-util-is "^6.0.0"
+
+mdast-util-to-hast@^13.0.0:
+ version "13.2.0"
+ resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-13.2.0.tgz#5ca58e5b921cc0a3ded1bc02eed79a4fe4fe41f4"
+ integrity sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==
+ dependencies:
+ "@types/hast" "^3.0.0"
+ "@types/mdast" "^4.0.0"
+ "@ungap/structured-clone" "^1.0.0"
+ devlop "^1.0.0"
+ micromark-util-sanitize-uri "^2.0.0"
+ trim-lines "^3.0.0"
+ unist-util-position "^5.0.0"
+ unist-util-visit "^5.0.0"
+ vfile "^6.0.0"
+
+mdast-util-to-markdown@^2.0.0:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz#f910ffe60897f04bb4b7e7ee434486f76288361b"
+ integrity sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==
+ dependencies:
+ "@types/mdast" "^4.0.0"
+ "@types/unist" "^3.0.0"
+ longest-streak "^3.0.0"
+ mdast-util-phrasing "^4.0.0"
+ mdast-util-to-string "^4.0.0"
+ micromark-util-classify-character "^2.0.0"
+ micromark-util-decode-string "^2.0.0"
+ unist-util-visit "^5.0.0"
+ zwitch "^2.0.0"
+
+mdast-util-to-string@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz#7a5121475556a04e7eddeb67b264aae79d312814"
+ integrity sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==
+ dependencies:
+ "@types/mdast" "^4.0.0"
+
+mdn-data@2.0.28:
+ version "2.0.28"
+ resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.28.tgz#5ec48e7bef120654539069e1ae4ddc81ca490eba"
+ integrity sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==
+
+mdn-data@2.0.30:
+ version "2.0.30"
+ resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.30.tgz#ce4df6f80af6cfbe218ecd5c552ba13c4dfa08cc"
+ integrity sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==
+
+media-typer@0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
+ integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==
+
+memfs@^3.4.3:
+ version "3.6.0"
+ resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.6.0.tgz#d7a2110f86f79dd950a8b6df6d57bc984aa185f6"
+ integrity sha512-EGowvkkgbMcIChjMTMkESFDbZeSh8xZ7kNSF0hAiAN4Jh6jgHCRS0Ga/+C8y6Au+oqpezRHCfPsmJ2+DwAgiwQ==
+ dependencies:
+ fs-monkey "^1.0.4"
+
+merge-descriptors@1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.3.tgz#d80319a65f3c7935351e5cfdac8f9318504dbed5"
+ integrity sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==
+
+merge-stream@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
+ integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
+
+merge2@^1.3.0, merge2@^1.4.1:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
+ integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
+
+methods@~1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
+ integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==
+
+micromark-core-commonmark@^2.0.0:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz#c691630e485021a68cf28dbc2b2ca27ebf678cd4"
+ integrity sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==
+ dependencies:
+ decode-named-character-reference "^1.0.0"
+ devlop "^1.0.0"
+ micromark-factory-destination "^2.0.0"
+ micromark-factory-label "^2.0.0"
+ micromark-factory-space "^2.0.0"
+ micromark-factory-title "^2.0.0"
+ micromark-factory-whitespace "^2.0.0"
+ micromark-util-character "^2.0.0"
+ micromark-util-chunked "^2.0.0"
+ micromark-util-classify-character "^2.0.0"
+ micromark-util-html-tag-name "^2.0.0"
+ micromark-util-normalize-identifier "^2.0.0"
+ micromark-util-resolve-all "^2.0.0"
+ micromark-util-subtokenize "^2.0.0"
+ micromark-util-symbol "^2.0.0"
+ micromark-util-types "^2.0.0"
+
+micromark-extension-directive@^3.0.0:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/micromark-extension-directive/-/micromark-extension-directive-3.0.2.tgz#2eb61985d1995a7c1ff7621676a4f32af29409e8"
+ integrity sha512-wjcXHgk+PPdmvR58Le9d7zQYWy+vKEU9Se44p2CrCDPiLr2FMyiT4Fyb5UFKFC66wGB3kPlgD7q3TnoqPS7SZA==
+ dependencies:
+ devlop "^1.0.0"
+ micromark-factory-space "^2.0.0"
+ micromark-factory-whitespace "^2.0.0"
+ micromark-util-character "^2.0.0"
+ micromark-util-symbol "^2.0.0"
+ micromark-util-types "^2.0.0"
+ parse-entities "^4.0.0"
+
+micromark-extension-frontmatter@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/micromark-extension-frontmatter/-/micromark-extension-frontmatter-2.0.0.tgz#651c52ffa5d7a8eeed687c513cd869885882d67a"
+ integrity sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==
+ dependencies:
+ fault "^2.0.0"
+ micromark-util-character "^2.0.0"
+ micromark-util-symbol "^2.0.0"
+ micromark-util-types "^2.0.0"
+
+micromark-extension-gfm-autolink-literal@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz#6286aee9686c4462c1e3552a9d505feddceeb935"
+ integrity sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==
+ dependencies:
+ micromark-util-character "^2.0.0"
+ micromark-util-sanitize-uri "^2.0.0"
+ micromark-util-symbol "^2.0.0"
+ micromark-util-types "^2.0.0"
+
+micromark-extension-gfm-footnote@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz#4dab56d4e398b9853f6fe4efac4fc9361f3e0750"
+ integrity sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==
+ dependencies:
+ devlop "^1.0.0"
+ micromark-core-commonmark "^2.0.0"
+ micromark-factory-space "^2.0.0"
+ micromark-util-character "^2.0.0"
+ micromark-util-normalize-identifier "^2.0.0"
+ micromark-util-sanitize-uri "^2.0.0"
+ micromark-util-symbol "^2.0.0"
+ micromark-util-types "^2.0.0"
+
+micromark-extension-gfm-strikethrough@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz#86106df8b3a692b5f6a92280d3879be6be46d923"
+ integrity sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==
+ dependencies:
+ devlop "^1.0.0"
+ micromark-util-chunked "^2.0.0"
+ micromark-util-classify-character "^2.0.0"
+ micromark-util-resolve-all "^2.0.0"
+ micromark-util-symbol "^2.0.0"
+ micromark-util-types "^2.0.0"
+
+micromark-extension-gfm-table@^2.0.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.1.tgz#fac70bcbf51fe65f5f44033118d39be8a9b5940b"
+ integrity sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==
+ dependencies:
+ devlop "^1.0.0"
+ micromark-factory-space "^2.0.0"
+ micromark-util-character "^2.0.0"
+ micromark-util-symbol "^2.0.0"
+ micromark-util-types "^2.0.0"
+
+micromark-extension-gfm-tagfilter@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz#f26d8a7807b5985fba13cf61465b58ca5ff7dc57"
+ integrity sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==
+ dependencies:
+ micromark-util-types "^2.0.0"
+
+micromark-extension-gfm-task-list-item@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz#bcc34d805639829990ec175c3eea12bb5b781f2c"
+ integrity sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==
+ dependencies:
+ devlop "^1.0.0"
+ micromark-factory-space "^2.0.0"
+ micromark-util-character "^2.0.0"
+ micromark-util-symbol "^2.0.0"
+ micromark-util-types "^2.0.0"
+
+micromark-extension-gfm@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz#3e13376ab95dd7a5cfd0e29560dfe999657b3c5b"
+ integrity sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==
+ dependencies:
+ micromark-extension-gfm-autolink-literal "^2.0.0"
+ micromark-extension-gfm-footnote "^2.0.0"
+ micromark-extension-gfm-strikethrough "^2.0.0"
+ micromark-extension-gfm-table "^2.0.0"
+ micromark-extension-gfm-tagfilter "^2.0.0"
+ micromark-extension-gfm-task-list-item "^2.0.0"
+ micromark-util-combine-extensions "^2.0.0"
+ micromark-util-types "^2.0.0"
+
+micromark-extension-mdx-expression@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.1.tgz#43d058d999532fb3041195a3c3c05c46fa84543b"
+ integrity sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q==
+ dependencies:
+ "@types/estree" "^1.0.0"
+ devlop "^1.0.0"
+ micromark-factory-mdx-expression "^2.0.0"
+ micromark-factory-space "^2.0.0"
+ micromark-util-character "^2.0.0"
+ micromark-util-events-to-acorn "^2.0.0"
+ micromark-util-symbol "^2.0.0"
+ micromark-util-types "^2.0.0"
+
+micromark-extension-mdx-jsx@^3.0.0:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.2.tgz#ffc98bdb649798902fa9fc5689f67f9c1c902044"
+ integrity sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ==
+ dependencies:
+ "@types/estree" "^1.0.0"
+ devlop "^1.0.0"
+ estree-util-is-identifier-name "^3.0.0"
+ micromark-factory-mdx-expression "^2.0.0"
+ micromark-factory-space "^2.0.0"
+ micromark-util-character "^2.0.0"
+ micromark-util-events-to-acorn "^2.0.0"
+ micromark-util-symbol "^2.0.0"
+ micromark-util-types "^2.0.0"
+ vfile-message "^4.0.0"
+
+micromark-extension-mdx-md@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/micromark-extension-mdx-md/-/micromark-extension-mdx-md-2.0.0.tgz#1d252881ea35d74698423ab44917e1f5b197b92d"
+ integrity sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==
+ dependencies:
+ micromark-util-types "^2.0.0"
+
+micromark-extension-mdxjs-esm@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-3.0.0.tgz#de21b2b045fd2059bd00d36746081de38390d54a"
+ integrity sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==
+ dependencies:
+ "@types/estree" "^1.0.0"
+ devlop "^1.0.0"
+ micromark-core-commonmark "^2.0.0"
+ micromark-util-character "^2.0.0"
+ micromark-util-events-to-acorn "^2.0.0"
+ micromark-util-symbol "^2.0.0"
+ micromark-util-types "^2.0.0"
+ unist-util-position-from-estree "^2.0.0"
+ vfile-message "^4.0.0"
+
+micromark-extension-mdxjs@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/micromark-extension-mdxjs/-/micromark-extension-mdxjs-3.0.0.tgz#b5a2e0ed449288f3f6f6c544358159557549de18"
+ integrity sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==
+ dependencies:
+ acorn "^8.0.0"
+ acorn-jsx "^5.0.0"
+ micromark-extension-mdx-expression "^3.0.0"
+ micromark-extension-mdx-jsx "^3.0.0"
+ micromark-extension-mdx-md "^2.0.0"
+ micromark-extension-mdxjs-esm "^3.0.0"
+ micromark-util-combine-extensions "^2.0.0"
+ micromark-util-types "^2.0.0"
+
+micromark-factory-destination@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz#8fef8e0f7081f0474fbdd92deb50c990a0264639"
+ integrity sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==
+ dependencies:
+ micromark-util-character "^2.0.0"
+ micromark-util-symbol "^2.0.0"
+ micromark-util-types "^2.0.0"
+
+micromark-factory-label@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz#5267efa97f1e5254efc7f20b459a38cb21058ba1"
+ integrity sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==
+ dependencies:
+ devlop "^1.0.0"
+ micromark-util-character "^2.0.0"
+ micromark-util-symbol "^2.0.0"
+ micromark-util-types "^2.0.0"
+
+micromark-factory-mdx-expression@^2.0.0:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.3.tgz#bb09988610589c07d1c1e4425285895041b3dfa9"
+ integrity sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ==
+ dependencies:
+ "@types/estree" "^1.0.0"
+ devlop "^1.0.0"
+ micromark-factory-space "^2.0.0"
+ micromark-util-character "^2.0.0"
+ micromark-util-events-to-acorn "^2.0.0"
+ micromark-util-symbol "^2.0.0"
+ micromark-util-types "^2.0.0"
+ unist-util-position-from-estree "^2.0.0"
+ vfile-message "^4.0.0"
+
+micromark-factory-space@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz#c8f40b0640a0150751d3345ed885a080b0d15faf"
+ integrity sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==
+ dependencies:
+ micromark-util-character "^1.0.0"
+ micromark-util-types "^1.0.0"
+
+micromark-factory-space@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz#36d0212e962b2b3121f8525fc7a3c7c029f334fc"
+ integrity sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==
+ dependencies:
+ micromark-util-character "^2.0.0"
+ micromark-util-types "^2.0.0"
+
+micromark-factory-title@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz#237e4aa5d58a95863f01032d9ee9b090f1de6e94"
+ integrity sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==
+ dependencies:
+ micromark-factory-space "^2.0.0"
+ micromark-util-character "^2.0.0"
+ micromark-util-symbol "^2.0.0"
+ micromark-util-types "^2.0.0"
+
+micromark-factory-whitespace@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz#06b26b2983c4d27bfcc657b33e25134d4868b0b1"
+ integrity sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==
+ dependencies:
+ micromark-factory-space "^2.0.0"
+ micromark-util-character "^2.0.0"
+ micromark-util-symbol "^2.0.0"
+ micromark-util-types "^2.0.0"
+
+micromark-util-character@^1.0.0, micromark-util-character@^1.1.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/micromark-util-character/-/micromark-util-character-1.2.0.tgz#4fedaa3646db249bc58caeb000eb3549a8ca5dcc"
+ integrity sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==
+ dependencies:
+ micromark-util-symbol "^1.0.0"
+ micromark-util-types "^1.0.0"
+
+micromark-util-character@^2.0.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/micromark-util-character/-/micromark-util-character-2.1.1.tgz#2f987831a40d4c510ac261e89852c4e9703ccda6"
+ integrity sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==
+ dependencies:
+ micromark-util-symbol "^2.0.0"
+ micromark-util-types "^2.0.0"
+
+micromark-util-chunked@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz#47fbcd93471a3fccab86cff03847fc3552db1051"
+ integrity sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==
+ dependencies:
+ micromark-util-symbol "^2.0.0"
+
+micromark-util-classify-character@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz#d399faf9c45ca14c8b4be98b1ea481bced87b629"
+ integrity sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==
+ dependencies:
+ micromark-util-character "^2.0.0"
+ micromark-util-symbol "^2.0.0"
+ micromark-util-types "^2.0.0"
+
+micromark-util-combine-extensions@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz#2a0f490ab08bff5cc2fd5eec6dd0ca04f89b30a9"
+ integrity sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==
+ dependencies:
+ micromark-util-chunked "^2.0.0"
+ micromark-util-types "^2.0.0"
+
+micromark-util-decode-numeric-character-reference@^2.0.0:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz#fcf15b660979388e6f118cdb6bf7d79d73d26fe5"
+ integrity sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==
+ dependencies:
+ micromark-util-symbol "^2.0.0"
+
+micromark-util-decode-string@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz#6cb99582e5d271e84efca8e61a807994d7161eb2"
+ integrity sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==
+ dependencies:
+ decode-named-character-reference "^1.0.0"
+ micromark-util-character "^2.0.0"
+ micromark-util-decode-numeric-character-reference "^2.0.0"
+ micromark-util-symbol "^2.0.0"
+
+micromark-util-encode@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz#0d51d1c095551cfaac368326963cf55f15f540b8"
+ integrity sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==
+
+micromark-util-events-to-acorn@^2.0.0:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.3.tgz#e7a8a6b55a47e5a06c720d5a1c4abae8c37c98f3"
+ integrity sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg==
+ dependencies:
+ "@types/estree" "^1.0.0"
+ "@types/unist" "^3.0.0"
+ devlop "^1.0.0"
+ estree-util-visit "^2.0.0"
+ micromark-util-symbol "^2.0.0"
+ micromark-util-types "^2.0.0"
+ vfile-message "^4.0.0"
+
+micromark-util-html-tag-name@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz#e40403096481986b41c106627f98f72d4d10b825"
+ integrity sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==
+
+micromark-util-normalize-identifier@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz#c30d77b2e832acf6526f8bf1aa47bc9c9438c16d"
+ integrity sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==
+ dependencies:
+ micromark-util-symbol "^2.0.0"
+
+micromark-util-resolve-all@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz#e1a2d62cdd237230a2ae11839027b19381e31e8b"
+ integrity sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==
+ dependencies:
+ micromark-util-types "^2.0.0"
+
+micromark-util-sanitize-uri@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz#ab89789b818a58752b73d6b55238621b7faa8fd7"
+ integrity sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==
+ dependencies:
+ micromark-util-character "^2.0.0"
+ micromark-util-encode "^2.0.0"
+ micromark-util-symbol "^2.0.0"
+
+micromark-util-subtokenize@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz#d8ade5ba0f3197a1cf6a2999fbbfe6357a1a19ee"
+ integrity sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==
+ dependencies:
+ devlop "^1.0.0"
+ micromark-util-chunked "^2.0.0"
+ micromark-util-symbol "^2.0.0"
+ micromark-util-types "^2.0.0"
+
+micromark-util-symbol@^1.0.0, micromark-util-symbol@^1.0.1:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz#813cd17837bdb912d069a12ebe3a44b6f7063142"
+ integrity sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==
+
+micromark-util-symbol@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz#e5da494e8eb2b071a0d08fb34f6cefec6c0a19b8"
+ integrity sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==
+
+micromark-util-types@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/micromark-util-types/-/micromark-util-types-1.1.0.tgz#e6676a8cae0bb86a2171c498167971886cb7e283"
+ integrity sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==
+
+micromark-util-types@^2.0.0:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/micromark-util-types/-/micromark-util-types-2.0.2.tgz#f00225f5f5a0ebc3254f96c36b6605c4b393908e"
+ integrity sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==
+
+micromark@^4.0.0:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/micromark/-/micromark-4.0.2.tgz#91395a3e1884a198e62116e33c9c568e39936fdb"
+ integrity sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==
+ dependencies:
+ "@types/debug" "^4.0.0"
+ debug "^4.0.0"
+ decode-named-character-reference "^1.0.0"
+ devlop "^1.0.0"
+ micromark-core-commonmark "^2.0.0"
+ micromark-factory-space "^2.0.0"
+ micromark-util-character "^2.0.0"
+ micromark-util-chunked "^2.0.0"
+ micromark-util-combine-extensions "^2.0.0"
+ micromark-util-decode-numeric-character-reference "^2.0.0"
+ micromark-util-encode "^2.0.0"
+ micromark-util-normalize-identifier "^2.0.0"
+ micromark-util-resolve-all "^2.0.0"
+ micromark-util-sanitize-uri "^2.0.0"
+ micromark-util-subtokenize "^2.0.0"
+ micromark-util-symbol "^2.0.0"
+ micromark-util-types "^2.0.0"
+
+micromatch@^4.0.2, micromatch@^4.0.5, micromatch@^4.0.8:
+ version "4.0.8"
+ resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202"
+ integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==
+ dependencies:
+ braces "^3.0.3"
+ picomatch "^2.3.1"
+
+mime-db@1.52.0:
+ version "1.52.0"
+ resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
+ integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
+
+"mime-db@>= 1.43.0 < 2":
+ version "1.54.0"
+ resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.54.0.tgz#cddb3ee4f9c64530dff640236661d42cb6a314f5"
+ integrity sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==
+
+mime-db@~1.33.0:
+ version "1.33.0"
+ resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db"
+ integrity sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==
+
+mime-types@2.1.18:
+ version "2.1.18"
+ resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8"
+ integrity sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==
+ dependencies:
+ mime-db "~1.33.0"
+
+mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.24, mime-types@~2.1.34:
+ version "2.1.35"
+ resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a"
+ integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
+ dependencies:
+ mime-db "1.52.0"
+
+mime@1.6.0:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
+ integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
+
+mimic-fn@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
+ integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
+
+mimic-response@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9"
+ integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==
+
+mimic-response@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-4.0.0.tgz#35468b19e7c75d10f5165ea25e75a5ceea7cf70f"
+ integrity sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==
+
+mini-css-extract-plugin@^2.9.2:
+ version "2.9.4"
+ resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.4.tgz#cafa1a42f8c71357f49cd1566810d74ff1cb0200"
+ integrity sha512-ZWYT7ln73Hptxqxk2DxPU9MmapXRhxkJD6tkSR04dnQxm8BGu2hzgKLugK5yySD97u/8yy7Ma7E76k9ZdvtjkQ==
+ dependencies:
+ schema-utils "^4.0.0"
+ tapable "^2.2.1"
+
+minimalistic-assert@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7"
+ integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==
+
+minimatch@3.1.2, minimatch@^3.1.1:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
+ integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
+ dependencies:
+ brace-expansion "^1.1.7"
+
+minimist@^1.2.0:
+ version "1.2.8"
+ resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c"
+ integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==
+
+mrmime@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/mrmime/-/mrmime-2.0.1.tgz#bc3e87f7987853a54c9850eeb1f1078cd44adddc"
+ integrity sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==
+
+ms@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
+ integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==
+
+ms@2.1.3, ms@^2.1.3:
+ version "2.1.3"
+ resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
+ integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
+
+multicast-dns@^7.2.5:
+ version "7.2.5"
+ resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-7.2.5.tgz#77eb46057f4d7adbd16d9290fa7299f6fa64cced"
+ integrity sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==
+ dependencies:
+ dns-packet "^5.2.2"
+ thunky "^1.0.2"
+
+nanoid@^3.3.11:
+ version "3.3.11"
+ resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b"
+ integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==
+
+negotiator@0.6.3:
+ version "0.6.3"
+ resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd"
+ integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==
+
+negotiator@~0.6.4:
+ version "0.6.4"
+ resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.4.tgz#777948e2452651c570b712dd01c23e262713fff7"
+ integrity sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==
+
+neo-async@^2.6.2:
+ version "2.6.2"
+ resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f"
+ integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==
+
+no-case@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d"
+ integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==
+ dependencies:
+ lower-case "^2.0.2"
+ tslib "^2.0.3"
+
+node-emoji@^2.1.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-2.2.0.tgz#1d000e3c76e462577895be1b436f4aa2d6760eb0"
+ integrity sha512-Z3lTE9pLaJF47NyMhd4ww1yFTAP8YhYI8SleJiHzM46Fgpm5cnNzSl9XfzFNqbaz+VlJrIj3fXQ4DeN1Rjm6cw==
+ dependencies:
+ "@sindresorhus/is" "^4.6.0"
+ char-regex "^1.0.2"
+ emojilib "^2.4.0"
+ skin-tone "^2.0.0"
+
+node-forge@^1:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3"
+ integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==
+
+node-releases@^2.0.19:
+ version "2.0.19"
+ resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.19.tgz#9e445a52950951ec4d177d843af370b411caf314"
+ integrity sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==
+
+normalize-path@^3.0.0, normalize-path@~3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
+ integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
+
+normalize-range@^0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942"
+ integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==
+
+normalize-url@^8.0.0:
+ version "8.0.2"
+ resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-8.0.2.tgz#3b343a42f837e4dae2b01917c04e8de3782e9170"
+ integrity sha512-Ee/R3SyN4BuynXcnTaekmaVdbDAEiNrHqjQIA37mHU8G9pf7aaAD4ZX3XjBLo6rsdcxA/gtkcNYZLt30ACgynw==
+
+npm-run-path@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea"
+ integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==
+ dependencies:
+ path-key "^3.0.0"
+
+nprogress@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/nprogress/-/nprogress-0.2.0.tgz#cb8f34c53213d895723fcbab907e9422adbcafb1"
+ integrity sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==
+
+nth-check@^2.0.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d"
+ integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==
+ dependencies:
+ boolbase "^1.0.0"
+
+null-loader@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/null-loader/-/null-loader-4.0.1.tgz#8e63bd3a2dd3c64236a4679428632edd0a6dbc6a"
+ integrity sha512-pxqVbi4U6N26lq+LmgIbB5XATP0VdZKOG25DhHi8btMmJJefGArFyDg1yc4U3hWCJbMqSrw0qyrz1UQX+qYXqg==
+ dependencies:
+ loader-utils "^2.0.0"
+ schema-utils "^3.0.0"
+
+object-assign@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
+ integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==
+
+object-inspect@^1.13.3:
+ version "1.13.4"
+ resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.4.tgz#8375265e21bc20d0fa582c22e1b13485d6e00213"
+ integrity sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==
+
+object-keys@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
+ integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
+
+object.assign@^4.1.0:
+ version "4.1.7"
+ resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.7.tgz#8c14ca1a424c6a561b0bb2a22f66f5049a945d3d"
+ integrity sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==
+ dependencies:
+ call-bind "^1.0.8"
+ call-bound "^1.0.3"
+ define-properties "^1.2.1"
+ es-object-atoms "^1.0.0"
+ has-symbols "^1.1.0"
+ object-keys "^1.1.1"
+
+obuf@^1.0.0, obuf@^1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e"
+ integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==
+
+on-finished@2.4.1:
+ version "2.4.1"
+ resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f"
+ integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==
+ dependencies:
+ ee-first "1.1.1"
+
+on-headers@~1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.1.0.tgz#59da4f91c45f5f989c6e4bcedc5a3b0aed70ff65"
+ integrity sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==
+
+once@^1.3.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
+ integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==
+ dependencies:
+ wrappy "1"
+
+onetime@^5.1.2:
+ version "5.1.2"
+ resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e"
+ integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==
+ dependencies:
+ mimic-fn "^2.1.0"
+
+open@^8.0.9, open@^8.4.0:
+ version "8.4.2"
+ resolved "https://registry.yarnpkg.com/open/-/open-8.4.2.tgz#5b5ffe2a8f793dcd2aad73e550cb87b59cb084f9"
+ integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==
+ dependencies:
+ define-lazy-prop "^2.0.0"
+ is-docker "^2.1.1"
+ is-wsl "^2.2.0"
+
+opener@^1.5.2:
+ version "1.5.2"
+ resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598"
+ integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==
+
+p-cancelable@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-3.0.0.tgz#63826694b54d61ca1c20ebcb6d3ecf5e14cd8050"
+ integrity sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==
+
+p-finally@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
+ integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==
+
+p-limit@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-4.0.0.tgz#914af6544ed32bfa54670b061cafcbd04984b644"
+ integrity sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==
+ dependencies:
+ yocto-queue "^1.0.0"
+
+p-locate@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-6.0.0.tgz#3da9a49d4934b901089dca3302fa65dc5a05c04f"
+ integrity sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==
+ dependencies:
+ p-limit "^4.0.0"
+
+p-map@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b"
+ integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==
+ dependencies:
+ aggregate-error "^3.0.0"
+
+p-queue@^6.6.2:
+ version "6.6.2"
+ resolved "https://registry.yarnpkg.com/p-queue/-/p-queue-6.6.2.tgz#2068a9dcf8e67dd0ec3e7a2bcb76810faa85e426"
+ integrity sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==
+ dependencies:
+ eventemitter3 "^4.0.4"
+ p-timeout "^3.2.0"
+
+p-retry@^4.5.0:
+ version "4.6.2"
+ resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-4.6.2.tgz#9baae7184057edd4e17231cee04264106e092a16"
+ integrity sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==
+ dependencies:
+ "@types/retry" "0.12.0"
+ retry "^0.13.1"
+
+p-timeout@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-3.2.0.tgz#c7e17abc971d2a7962ef83626b35d635acf23dfe"
+ integrity sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==
+ dependencies:
+ p-finally "^1.0.0"
+
+package-json@^8.1.0:
+ version "8.1.1"
+ resolved "https://registry.yarnpkg.com/package-json/-/package-json-8.1.1.tgz#3e9948e43df40d1e8e78a85485f1070bf8f03dc8"
+ integrity sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==
+ dependencies:
+ got "^12.1.0"
+ registry-auth-token "^5.0.1"
+ registry-url "^6.0.0"
+ semver "^7.3.7"
+
+param-case@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5"
+ integrity sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==
+ dependencies:
+ dot-case "^3.0.4"
+ tslib "^2.0.3"
+
+parent-module@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
+ integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
+ dependencies:
+ callsites "^3.0.0"
+
+parse-entities@^4.0.0:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-4.0.2.tgz#61d46f5ed28e4ee62e9ddc43d6b010188443f159"
+ integrity sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==
+ dependencies:
+ "@types/unist" "^2.0.0"
+ character-entities-legacy "^3.0.0"
+ character-reference-invalid "^2.0.0"
+ decode-named-character-reference "^1.0.0"
+ is-alphanumerical "^2.0.0"
+ is-decimal "^2.0.0"
+ is-hexadecimal "^2.0.0"
+
+parse-json@^5.0.0, parse-json@^5.2.0:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd"
+ integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==
+ dependencies:
+ "@babel/code-frame" "^7.0.0"
+ error-ex "^1.3.1"
+ json-parse-even-better-errors "^2.3.0"
+ lines-and-columns "^1.1.6"
+
+parse-numeric-range@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz#7c63b61190d61e4d53a1197f0c83c47bb670ffa3"
+ integrity sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==
+
+parse5-htmlparser2-tree-adapter@^7.0.0:
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.1.0.tgz#b5a806548ed893a43e24ccb42fbb78069311e81b"
+ integrity sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==
+ dependencies:
+ domhandler "^5.0.3"
+ parse5 "^7.0.0"
+
+parse5@^7.0.0:
+ version "7.3.0"
+ resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.3.0.tgz#d7e224fa72399c7a175099f45fc2ad024b05ec05"
+ integrity sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==
+ dependencies:
+ entities "^6.0.0"
+
+parseurl@~1.3.2, parseurl@~1.3.3:
+ version "1.3.3"
+ resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"
+ integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==
+
+pascal-case@^3.1.2:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.2.tgz#b48e0ef2b98e205e7c1dae747d0b1508237660eb"
+ integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==
+ dependencies:
+ no-case "^3.0.4"
+ tslib "^2.0.3"
+
+path-exists@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-5.0.0.tgz#a6aad9489200b21fab31e49cf09277e5116fb9e7"
+ integrity sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==
+
+path-is-absolute@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
+ integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==
+
+path-is-inside@1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53"
+ integrity sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==
+
+path-key@^3.0.0, path-key@^3.1.0:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
+ integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
+
+path-parse@^1.0.7:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
+ integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
+
+path-to-regexp@0.1.12:
+ version "0.1.12"
+ resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.12.tgz#d5e1a12e478a976d432ef3c58d534b9923164bb7"
+ integrity sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==
+
+path-to-regexp@3.3.0:
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-3.3.0.tgz#f7f31d32e8518c2660862b644414b6d5c63a611b"
+ integrity sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==
+
+path-to-regexp@^1.7.0:
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.9.0.tgz#5dc0753acbf8521ca2e0f137b4578b917b10cf24"
+ integrity sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==
+ dependencies:
+ isarray "0.0.1"
+
+path-type@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
+ integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
+
+picocolors@^1.0.0, picocolors@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b"
+ integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==
+
+picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1:
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
+ integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
+
+pkg-dir@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-7.0.0.tgz#8f0c08d6df4476756c5ff29b3282d0bab7517d11"
+ integrity sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==
+ dependencies:
+ find-up "^6.3.0"
+
+postcss-attribute-case-insensitive@^7.0.1:
+ version "7.0.1"
+ resolved "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-7.0.1.tgz#0c4500e3bcb2141848e89382c05b5a31c23033a3"
+ integrity sha512-Uai+SupNSqzlschRyNx3kbCTWgY/2hcwtHEI/ej2LJWc9JJ77qKgGptd8DHwY1mXtZ7Aoh4z4yxfwMBue9eNgw==
+ dependencies:
+ postcss-selector-parser "^7.0.0"
+
+postcss-calc@^9.0.1:
+ version "9.0.1"
+ resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-9.0.1.tgz#a744fd592438a93d6de0f1434c572670361eb6c6"
+ integrity sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==
+ dependencies:
+ postcss-selector-parser "^6.0.11"
+ postcss-value-parser "^4.2.0"
+
+postcss-clamp@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/postcss-clamp/-/postcss-clamp-4.1.0.tgz#7263e95abadd8c2ba1bd911b0b5a5c9c93e02363"
+ integrity sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+
+postcss-color-functional-notation@^7.0.11:
+ version "7.0.11"
+ resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-7.0.11.tgz#ad6b3d2e71fedd94a932f96260b596c33c53c6a5"
+ integrity sha512-zfqoUSaHMko/k2PA9xnaydVTHqYv5vphq5Q2AHcG/dCdv/OkHYWcVWfVTBKZ526uzT8L7NghuvSw3C9PxlKnLg==
+ dependencies:
+ "@csstools/css-color-parser" "^3.1.0"
+ "@csstools/css-parser-algorithms" "^3.0.5"
+ "@csstools/css-tokenizer" "^3.0.4"
+ "@csstools/postcss-progressive-custom-properties" "^4.2.0"
+ "@csstools/utilities" "^2.0.0"
+
+postcss-color-hex-alpha@^10.0.0:
+ version "10.0.0"
+ resolved "https://registry.yarnpkg.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-10.0.0.tgz#5dd3eba1f8facb4ea306cba6e3f7712e876b0c76"
+ integrity sha512-1kervM2cnlgPs2a8Vt/Qbe5cQ++N7rkYo/2rz2BkqJZIHQwaVuJgQH38REHrAi4uM0b1fqxMkWYmese94iMp3w==
+ dependencies:
+ "@csstools/utilities" "^2.0.0"
+ postcss-value-parser "^4.2.0"
+
+postcss-color-rebeccapurple@^10.0.0:
+ version "10.0.0"
+ resolved "https://registry.yarnpkg.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-10.0.0.tgz#5ada28406ac47e0796dff4056b0a9d5a6ecead98"
+ integrity sha512-JFta737jSP+hdAIEhk1Vs0q0YF5P8fFcj+09pweS8ktuGuZ8pPlykHsk6mPxZ8awDl4TrcxUqJo9l1IhVr/OjQ==
+ dependencies:
+ "@csstools/utilities" "^2.0.0"
+ postcss-value-parser "^4.2.0"
+
+postcss-colormin@^6.1.0:
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-6.1.0.tgz#076e8d3fb291fbff7b10e6b063be9da42ff6488d"
+ integrity sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw==
+ dependencies:
+ browserslist "^4.23.0"
+ caniuse-api "^3.0.0"
+ colord "^2.9.3"
+ postcss-value-parser "^4.2.0"
+
+postcss-convert-values@^6.1.0:
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-6.1.0.tgz#3498387f8efedb817cbc63901d45bd1ceaa40f48"
+ integrity sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w==
+ dependencies:
+ browserslist "^4.23.0"
+ postcss-value-parser "^4.2.0"
+
+postcss-custom-media@^11.0.6:
+ version "11.0.6"
+ resolved "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-11.0.6.tgz#6b450e5bfa209efb736830066682e6567bd04967"
+ integrity sha512-C4lD4b7mUIw+RZhtY7qUbf4eADmb7Ey8BFA2px9jUbwg7pjTZDl4KY4bvlUV+/vXQvzQRfiGEVJyAbtOsCMInw==
+ dependencies:
+ "@csstools/cascade-layer-name-parser" "^2.0.5"
+ "@csstools/css-parser-algorithms" "^3.0.5"
+ "@csstools/css-tokenizer" "^3.0.4"
+ "@csstools/media-query-list-parser" "^4.0.3"
+
+postcss-custom-properties@^14.0.6:
+ version "14.0.6"
+ resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-14.0.6.tgz#1af73a650bf115ba052cf915287c9982825fc90e"
+ integrity sha512-fTYSp3xuk4BUeVhxCSJdIPhDLpJfNakZKoiTDx7yRGCdlZrSJR7mWKVOBS4sBF+5poPQFMj2YdXx1VHItBGihQ==
+ dependencies:
+ "@csstools/cascade-layer-name-parser" "^2.0.5"
+ "@csstools/css-parser-algorithms" "^3.0.5"
+ "@csstools/css-tokenizer" "^3.0.4"
+ "@csstools/utilities" "^2.0.0"
+ postcss-value-parser "^4.2.0"
+
+postcss-custom-selectors@^8.0.5:
+ version "8.0.5"
+ resolved "https://registry.yarnpkg.com/postcss-custom-selectors/-/postcss-custom-selectors-8.0.5.tgz#9448ed37a12271d7ab6cb364b6f76a46a4a323e8"
+ integrity sha512-9PGmckHQswiB2usSO6XMSswO2yFWVoCAuih1yl9FVcwkscLjRKjwsjM3t+NIWpSU2Jx3eOiK2+t4vVTQaoCHHg==
+ dependencies:
+ "@csstools/cascade-layer-name-parser" "^2.0.5"
+ "@csstools/css-parser-algorithms" "^3.0.5"
+ "@csstools/css-tokenizer" "^3.0.4"
+ postcss-selector-parser "^7.0.0"
+
+postcss-dir-pseudo-class@^9.0.1:
+ version "9.0.1"
+ resolved "https://registry.yarnpkg.com/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-9.0.1.tgz#80d9e842c9ae9d29f6bf5fd3cf9972891d6cc0ca"
+ integrity sha512-tRBEK0MHYvcMUrAuYMEOa0zg9APqirBcgzi6P21OhxtJyJADo/SWBwY1CAwEohQ/6HDaa9jCjLRG7K3PVQYHEA==
+ dependencies:
+ postcss-selector-parser "^7.0.0"
+
+postcss-discard-comments@^6.0.2:
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-6.0.2.tgz#e768dcfdc33e0216380623652b0a4f69f4678b6c"
+ integrity sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw==
+
+postcss-discard-duplicates@^6.0.3:
+ version "6.0.3"
+ resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-6.0.3.tgz#d121e893c38dc58a67277f75bb58ba43fce4c3eb"
+ integrity sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw==
+
+postcss-discard-empty@^6.0.3:
+ version "6.0.3"
+ resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-6.0.3.tgz#ee39c327219bb70473a066f772621f81435a79d9"
+ integrity sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ==
+
+postcss-discard-overridden@^6.0.2:
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-6.0.2.tgz#4e9f9c62ecd2df46e8fdb44dc17e189776572e2d"
+ integrity sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ==
+
+postcss-discard-unused@^6.0.5:
+ version "6.0.5"
+ resolved "https://registry.yarnpkg.com/postcss-discard-unused/-/postcss-discard-unused-6.0.5.tgz#c1b0e8c032c6054c3fbd22aaddba5b248136f338"
+ integrity sha512-wHalBlRHkaNnNwfC8z+ppX57VhvS+HWgjW508esjdaEYr3Mx7Gnn2xA4R/CKf5+Z9S5qsqC+Uzh4ueENWwCVUA==
+ dependencies:
+ postcss-selector-parser "^6.0.16"
+
+postcss-double-position-gradients@^6.0.3:
+ version "6.0.3"
+ resolved "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-6.0.3.tgz#d8c4b126af89855a3aa6687e5b1a0d5460d4a5b7"
+ integrity sha512-Dl0Z9sdbMwrPslgOaGBZRGo3TASmmgTcqcUODr82MTYyJk6devXZM6MlQjpQKMJqlLJ6oL1w78U7IXFdPA5+ug==
+ dependencies:
+ "@csstools/postcss-progressive-custom-properties" "^4.2.0"
+ "@csstools/utilities" "^2.0.0"
+ postcss-value-parser "^4.2.0"
+
+postcss-focus-visible@^10.0.1:
+ version "10.0.1"
+ resolved "https://registry.yarnpkg.com/postcss-focus-visible/-/postcss-focus-visible-10.0.1.tgz#1f7904904368a2d1180b220595d77b6f8a957868"
+ integrity sha512-U58wyjS/I1GZgjRok33aE8juW9qQgQUNwTSdxQGuShHzwuYdcklnvK/+qOWX1Q9kr7ysbraQ6ht6r+udansalA==
+ dependencies:
+ postcss-selector-parser "^7.0.0"
+
+postcss-focus-within@^9.0.1:
+ version "9.0.1"
+ resolved "https://registry.yarnpkg.com/postcss-focus-within/-/postcss-focus-within-9.0.1.tgz#ac01ce80d3f2e8b2b3eac4ff84f8e15cd0057bc7"
+ integrity sha512-fzNUyS1yOYa7mOjpci/bR+u+ESvdar6hk8XNK/TRR0fiGTp2QT5N+ducP0n3rfH/m9I7H/EQU6lsa2BrgxkEjw==
+ dependencies:
+ postcss-selector-parser "^7.0.0"
+
+postcss-font-variant@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz#efd59b4b7ea8bb06127f2d031bfbb7f24d32fa66"
+ integrity sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==
+
+postcss-gap-properties@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/postcss-gap-properties/-/postcss-gap-properties-6.0.0.tgz#d5ff0bdf923c06686499ed2b12e125fe64054fed"
+ integrity sha512-Om0WPjEwiM9Ru+VhfEDPZJAKWUd0mV1HmNXqp2C29z80aQ2uP9UVhLc7e3aYMIor/S5cVhoPgYQ7RtfeZpYTRw==
+
+postcss-image-set-function@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/postcss-image-set-function/-/postcss-image-set-function-7.0.0.tgz#538e94e16716be47f9df0573b56bbaca86e1da53"
+ integrity sha512-QL7W7QNlZuzOwBTeXEmbVckNt1FSmhQtbMRvGGqqU4Nf4xk6KUEQhAoWuMzwbSv5jxiRiSZ5Tv7eiDB9U87znA==
+ dependencies:
+ "@csstools/utilities" "^2.0.0"
+ postcss-value-parser "^4.2.0"
+
+postcss-lab-function@^7.0.11:
+ version "7.0.11"
+ resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-7.0.11.tgz#455934181eea130f8e649c1f54692e1768046f6a"
+ integrity sha512-BEA4jId8uQe1gyjZZ6Bunb6ZsH2izks+v25AxQJDBtigXCjTLmCPWECwQpLTtcxH589MVxhs/9TAmRC6lUEmXQ==
+ dependencies:
+ "@csstools/css-color-parser" "^3.1.0"
+ "@csstools/css-parser-algorithms" "^3.0.5"
+ "@csstools/css-tokenizer" "^3.0.4"
+ "@csstools/postcss-progressive-custom-properties" "^4.2.0"
+ "@csstools/utilities" "^2.0.0"
+
+postcss-loader@^7.3.4:
+ version "7.3.4"
+ resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-7.3.4.tgz#aed9b79ce4ed7e9e89e56199d25ad1ec8f606209"
+ integrity sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A==
+ dependencies:
+ cosmiconfig "^8.3.5"
+ jiti "^1.20.0"
+ semver "^7.5.4"
+
+postcss-logical@^8.1.0:
+ version "8.1.0"
+ resolved "https://registry.yarnpkg.com/postcss-logical/-/postcss-logical-8.1.0.tgz#4092b16b49e3ecda70c4d8945257da403d167228"
+ integrity sha512-pL1hXFQ2fEXNKiNiAgtfA005T9FBxky5zkX6s4GZM2D8RkVgRqz3f4g1JUoq925zXv495qk8UNldDwh8uGEDoA==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+
+postcss-merge-idents@^6.0.3:
+ version "6.0.3"
+ resolved "https://registry.yarnpkg.com/postcss-merge-idents/-/postcss-merge-idents-6.0.3.tgz#7b9c31c7bc823c94bec50f297f04e3c2b838ea65"
+ integrity sha512-1oIoAsODUs6IHQZkLQGO15uGEbK3EAl5wi9SS8hs45VgsxQfMnxvt+L+zIr7ifZFIH14cfAeVe2uCTa+SPRa3g==
+ dependencies:
+ cssnano-utils "^4.0.2"
+ postcss-value-parser "^4.2.0"
+
+postcss-merge-longhand@^6.0.5:
+ version "6.0.5"
+ resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-6.0.5.tgz#ba8a8d473617c34a36abbea8dda2b215750a065a"
+ integrity sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+ stylehacks "^6.1.1"
+
+postcss-merge-rules@^6.1.1:
+ version "6.1.1"
+ resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-6.1.1.tgz#7aa539dceddab56019469c0edd7d22b64c3dea9d"
+ integrity sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ==
+ dependencies:
+ browserslist "^4.23.0"
+ caniuse-api "^3.0.0"
+ cssnano-utils "^4.0.2"
+ postcss-selector-parser "^6.0.16"
+
+postcss-minify-font-values@^6.1.0:
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-6.1.0.tgz#a0e574c02ee3f299be2846369211f3b957ea4c59"
+ integrity sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+
+postcss-minify-gradients@^6.0.3:
+ version "6.0.3"
+ resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-6.0.3.tgz#ca3eb55a7bdb48a1e187a55c6377be918743dbd6"
+ integrity sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q==
+ dependencies:
+ colord "^2.9.3"
+ cssnano-utils "^4.0.2"
+ postcss-value-parser "^4.2.0"
+
+postcss-minify-params@^6.1.0:
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-6.1.0.tgz#54551dec77b9a45a29c3cb5953bf7325a399ba08"
+ integrity sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA==
+ dependencies:
+ browserslist "^4.23.0"
+ cssnano-utils "^4.0.2"
+ postcss-value-parser "^4.2.0"
+
+postcss-minify-selectors@^6.0.4:
+ version "6.0.4"
+ resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-6.0.4.tgz#197f7d72e6dd19eed47916d575d69dc38b396aff"
+ integrity sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ==
+ dependencies:
+ postcss-selector-parser "^6.0.16"
+
+postcss-modules-extract-imports@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz#b4497cb85a9c0c4b5aabeb759bb25e8d89f15002"
+ integrity sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==
+
+postcss-modules-local-by-default@^4.0.5:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.2.0.tgz#d150f43837831dae25e4085596e84f6f5d6ec368"
+ integrity sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==
+ dependencies:
+ icss-utils "^5.0.0"
+ postcss-selector-parser "^7.0.0"
+ postcss-value-parser "^4.1.0"
+
+postcss-modules-scope@^3.2.0:
+ version "3.2.1"
+ resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz#1bbccddcb398f1d7a511e0a2d1d047718af4078c"
+ integrity sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==
+ dependencies:
+ postcss-selector-parser "^7.0.0"
+
+postcss-modules-values@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c"
+ integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==
+ dependencies:
+ icss-utils "^5.0.0"
+
+postcss-nesting@^13.0.2:
+ version "13.0.2"
+ resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-13.0.2.tgz#fde0d4df772b76d03b52eccc84372e8d1ca1402e"
+ integrity sha512-1YCI290TX+VP0U/K/aFxzHzQWHWURL+CtHMSbex1lCdpXD1SoR2sYuxDu5aNI9lPoXpKTCggFZiDJbwylU0LEQ==
+ dependencies:
+ "@csstools/selector-resolve-nested" "^3.1.0"
+ "@csstools/selector-specificity" "^5.0.0"
+ postcss-selector-parser "^7.0.0"
+
+postcss-normalize-charset@^6.0.2:
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-6.0.2.tgz#1ec25c435057a8001dac942942a95ffe66f721e1"
+ integrity sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ==
+
+postcss-normalize-display-values@^6.0.2:
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-6.0.2.tgz#54f02764fed0b288d5363cbb140d6950dbbdd535"
+ integrity sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+
+postcss-normalize-positions@^6.0.2:
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-6.0.2.tgz#e982d284ec878b9b819796266f640852dbbb723a"
+ integrity sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+
+postcss-normalize-repeat-style@^6.0.2:
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-6.0.2.tgz#f8006942fd0617c73f049dd8b6201c3a3040ecf3"
+ integrity sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+
+postcss-normalize-string@^6.0.2:
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-6.0.2.tgz#e3cc6ad5c95581acd1fc8774b309dd7c06e5e363"
+ integrity sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+
+postcss-normalize-timing-functions@^6.0.2:
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-6.0.2.tgz#40cb8726cef999de984527cbd9d1db1f3e9062c0"
+ integrity sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+
+postcss-normalize-unicode@^6.1.0:
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-6.1.0.tgz#aaf8bbd34c306e230777e80f7f12a4b7d27ce06e"
+ integrity sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg==
+ dependencies:
+ browserslist "^4.23.0"
+ postcss-value-parser "^4.2.0"
+
+postcss-normalize-url@^6.0.2:
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-6.0.2.tgz#292792386be51a8de9a454cb7b5c58ae22db0f79"
+ integrity sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+
+postcss-normalize-whitespace@^6.0.2:
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-6.0.2.tgz#fbb009e6ebd312f8b2efb225c2fcc7cf32b400cd"
+ integrity sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+
+postcss-opacity-percentage@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/postcss-opacity-percentage/-/postcss-opacity-percentage-3.0.0.tgz#0b0db5ed5db5670e067044b8030b89c216e1eb0a"
+ integrity sha512-K6HGVzyxUxd/VgZdX04DCtdwWJ4NGLG212US4/LA1TLAbHgmAsTWVR86o+gGIbFtnTkfOpb9sCRBx8K7HO66qQ==
+
+postcss-ordered-values@^6.0.2:
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-6.0.2.tgz#366bb663919707093451ab70c3f99c05672aaae5"
+ integrity sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q==
+ dependencies:
+ cssnano-utils "^4.0.2"
+ postcss-value-parser "^4.2.0"
+
+postcss-overflow-shorthand@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/postcss-overflow-shorthand/-/postcss-overflow-shorthand-6.0.0.tgz#f5252b4a2ee16c68cd8a9029edb5370c4a9808af"
+ integrity sha512-BdDl/AbVkDjoTofzDQnwDdm/Ym6oS9KgmO7Gr+LHYjNWJ6ExORe4+3pcLQsLA9gIROMkiGVjjwZNoL/mpXHd5Q==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+
+postcss-page-break@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/postcss-page-break/-/postcss-page-break-3.0.4.tgz#7fbf741c233621622b68d435babfb70dd8c1ee5f"
+ integrity sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==
+
+postcss-place@^10.0.0:
+ version "10.0.0"
+ resolved "https://registry.yarnpkg.com/postcss-place/-/postcss-place-10.0.0.tgz#ba36ee4786ca401377ced17a39d9050ed772e5a9"
+ integrity sha512-5EBrMzat2pPAxQNWYavwAfoKfYcTADJ8AXGVPcUZ2UkNloUTWzJQExgrzrDkh3EKzmAx1evfTAzF9I8NGcc+qw==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+
+postcss-preset-env@^10.2.1:
+ version "10.3.1"
+ resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-10.3.1.tgz#f3799f0f7a7ea384b3c16e073055c231d11bb3bf"
+ integrity sha512-8ZOOWVwQ0iMpfEYkYo+U6W7fE2dJ/tP6dtEFwPJ66eB5JjnFupfYh+y6zo+vWDO72nGhKOVdxwhTjfzcSNRg4Q==
+ dependencies:
+ "@csstools/postcss-alpha-function" "^1.0.0"
+ "@csstools/postcss-cascade-layers" "^5.0.2"
+ "@csstools/postcss-color-function" "^4.0.11"
+ "@csstools/postcss-color-function-display-p3-linear" "^1.0.0"
+ "@csstools/postcss-color-mix-function" "^3.0.11"
+ "@csstools/postcss-color-mix-variadic-function-arguments" "^1.0.1"
+ "@csstools/postcss-content-alt-text" "^2.0.7"
+ "@csstools/postcss-exponential-functions" "^2.0.9"
+ "@csstools/postcss-font-format-keywords" "^4.0.0"
+ "@csstools/postcss-gamut-mapping" "^2.0.11"
+ "@csstools/postcss-gradients-interpolation-method" "^5.0.11"
+ "@csstools/postcss-hwb-function" "^4.0.11"
+ "@csstools/postcss-ic-unit" "^4.0.3"
+ "@csstools/postcss-initial" "^2.0.1"
+ "@csstools/postcss-is-pseudo-class" "^5.0.3"
+ "@csstools/postcss-light-dark-function" "^2.0.10"
+ "@csstools/postcss-logical-float-and-clear" "^3.0.0"
+ "@csstools/postcss-logical-overflow" "^2.0.0"
+ "@csstools/postcss-logical-overscroll-behavior" "^2.0.0"
+ "@csstools/postcss-logical-resize" "^3.0.0"
+ "@csstools/postcss-logical-viewport-units" "^3.0.4"
+ "@csstools/postcss-media-minmax" "^2.0.9"
+ "@csstools/postcss-media-queries-aspect-ratio-number-values" "^3.0.5"
+ "@csstools/postcss-nested-calc" "^4.0.0"
+ "@csstools/postcss-normalize-display-values" "^4.0.0"
+ "@csstools/postcss-oklab-function" "^4.0.11"
+ "@csstools/postcss-progressive-custom-properties" "^4.2.0"
+ "@csstools/postcss-random-function" "^2.0.1"
+ "@csstools/postcss-relative-color-syntax" "^3.0.11"
+ "@csstools/postcss-scope-pseudo-class" "^4.0.1"
+ "@csstools/postcss-sign-functions" "^1.1.4"
+ "@csstools/postcss-stepped-value-functions" "^4.0.9"
+ "@csstools/postcss-text-decoration-shorthand" "^4.0.3"
+ "@csstools/postcss-trigonometric-functions" "^4.0.9"
+ "@csstools/postcss-unset-value" "^4.0.0"
+ autoprefixer "^10.4.21"
+ browserslist "^4.25.1"
+ css-blank-pseudo "^7.0.1"
+ css-has-pseudo "^7.0.3"
+ css-prefers-color-scheme "^10.0.0"
+ cssdb "^8.4.0"
+ postcss-attribute-case-insensitive "^7.0.1"
+ postcss-clamp "^4.1.0"
+ postcss-color-functional-notation "^7.0.11"
+ postcss-color-hex-alpha "^10.0.0"
+ postcss-color-rebeccapurple "^10.0.0"
+ postcss-custom-media "^11.0.6"
+ postcss-custom-properties "^14.0.6"
+ postcss-custom-selectors "^8.0.5"
+ postcss-dir-pseudo-class "^9.0.1"
+ postcss-double-position-gradients "^6.0.3"
+ postcss-focus-visible "^10.0.1"
+ postcss-focus-within "^9.0.1"
+ postcss-font-variant "^5.0.0"
+ postcss-gap-properties "^6.0.0"
+ postcss-image-set-function "^7.0.0"
+ postcss-lab-function "^7.0.11"
+ postcss-logical "^8.1.0"
+ postcss-nesting "^13.0.2"
+ postcss-opacity-percentage "^3.0.0"
+ postcss-overflow-shorthand "^6.0.0"
+ postcss-page-break "^3.0.4"
+ postcss-place "^10.0.0"
+ postcss-pseudo-class-any-link "^10.0.1"
+ postcss-replace-overflow-wrap "^4.0.0"
+ postcss-selector-not "^8.0.1"
+
+postcss-pseudo-class-any-link@^10.0.1:
+ version "10.0.1"
+ resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-10.0.1.tgz#06455431171bf44b84d79ebaeee9fd1c05946544"
+ integrity sha512-3el9rXlBOqTFaMFkWDOkHUTQekFIYnaQY55Rsp8As8QQkpiSgIYEcF/6Ond93oHiDsGb4kad8zjt+NPlOC1H0Q==
+ dependencies:
+ postcss-selector-parser "^7.0.0"
+
+postcss-reduce-idents@^6.0.3:
+ version "6.0.3"
+ resolved "https://registry.yarnpkg.com/postcss-reduce-idents/-/postcss-reduce-idents-6.0.3.tgz#b0d9c84316d2a547714ebab523ec7d13704cd486"
+ integrity sha512-G3yCqZDpsNPoQgbDUy3T0E6hqOQ5xigUtBQyrmq3tn2GxlyiL0yyl7H+T8ulQR6kOcHJ9t7/9H4/R2tv8tJbMA==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+
+postcss-reduce-initial@^6.1.0:
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-6.1.0.tgz#4401297d8e35cb6e92c8e9586963e267105586ba"
+ integrity sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw==
+ dependencies:
+ browserslist "^4.23.0"
+ caniuse-api "^3.0.0"
+
+postcss-reduce-transforms@^6.0.2:
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-6.0.2.tgz#6fa2c586bdc091a7373caeee4be75a0f3e12965d"
+ integrity sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+
+postcss-replace-overflow-wrap@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz#d2df6bed10b477bf9c52fab28c568b4b29ca4319"
+ integrity sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==
+
+postcss-selector-not@^8.0.1:
+ version "8.0.1"
+ resolved "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-8.0.1.tgz#f2df9c6ac9f95e9fe4416ca41a957eda16130172"
+ integrity sha512-kmVy/5PYVb2UOhy0+LqUYAhKj7DUGDpSWa5LZqlkWJaaAV+dxxsOG3+St0yNLu6vsKD7Dmqx+nWQt0iil89+WA==
+ dependencies:
+ postcss-selector-parser "^7.0.0"
+
+postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.0.16:
+ version "6.1.2"
+ resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz#27ecb41fb0e3b6ba7a1ec84fff347f734c7929de"
+ integrity sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==
+ dependencies:
+ cssesc "^3.0.0"
+ util-deprecate "^1.0.2"
+
+postcss-selector-parser@^7.0.0:
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz#4d6af97eba65d73bc4d84bcb343e865d7dd16262"
+ integrity sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==
+ dependencies:
+ cssesc "^3.0.0"
+ util-deprecate "^1.0.2"
+
+postcss-sort-media-queries@^5.2.0:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/postcss-sort-media-queries/-/postcss-sort-media-queries-5.2.0.tgz#4556b3f982ef27d3bac526b99b6c0d3359a6cf97"
+ integrity sha512-AZ5fDMLD8SldlAYlvi8NIqo0+Z8xnXU2ia0jxmuhxAU+Lqt9K+AlmLNJ/zWEnE9x+Zx3qL3+1K20ATgNOr3fAA==
+ dependencies:
+ sort-css-media-queries "2.2.0"
+
+postcss-svgo@^6.0.3:
+ version "6.0.3"
+ resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-6.0.3.tgz#1d6e180d6df1fa8a3b30b729aaa9161e94f04eaa"
+ integrity sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+ svgo "^3.2.0"
+
+postcss-unique-selectors@^6.0.4:
+ version "6.0.4"
+ resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-6.0.4.tgz#983ab308896b4bf3f2baaf2336e14e52c11a2088"
+ integrity sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg==
+ dependencies:
+ postcss-selector-parser "^6.0.16"
+
+postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514"
+ integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
+
+postcss-zindex@^6.0.2:
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/postcss-zindex/-/postcss-zindex-6.0.2.tgz#e498304b83a8b165755f53db40e2ea65a99b56e1"
+ integrity sha512-5BxW9l1evPB/4ZIc+2GobEBoKC+h8gPGCMi+jxsYvd2x0mjq7wazk6DrP71pStqxE9Foxh5TVnonbWpFZzXaYg==
+
+postcss@^8.4.21, postcss@^8.4.24, postcss@^8.4.33, postcss@^8.5.4:
+ version "8.5.6"
+ resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.6.tgz#2825006615a619b4f62a9e7426cc120b349a8f3c"
+ integrity sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==
+ dependencies:
+ nanoid "^3.3.11"
+ picocolors "^1.1.1"
+ source-map-js "^1.2.1"
+
+pretty-error@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-4.0.0.tgz#90a703f46dd7234adb46d0f84823e9d1cb8f10d6"
+ integrity sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==
+ dependencies:
+ lodash "^4.17.20"
+ renderkid "^3.0.0"
+
+pretty-time@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/pretty-time/-/pretty-time-1.1.0.tgz#ffb7429afabb8535c346a34e41873adf3d74dd0e"
+ integrity sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==
+
+prism-react-renderer@^2.3.0:
+ version "2.4.1"
+ resolved "https://registry.yarnpkg.com/prism-react-renderer/-/prism-react-renderer-2.4.1.tgz#ac63b7f78e56c8f2b5e76e823a976d5ede77e35f"
+ integrity sha512-ey8Ls/+Di31eqzUxC46h8MksNuGx/n0AAC8uKpwFau4RPDYLuE3EXTp8N8G2vX2N7UC/+IXeNUnlWBGGcAG+Ig==
+ dependencies:
+ "@types/prismjs" "^1.26.0"
+ clsx "^2.0.0"
+
+prismjs@^1.29.0:
+ version "1.30.0"
+ resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.30.0.tgz#d9709969d9d4e16403f6f348c63553b19f0975a9"
+ integrity sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==
+
+process-nextick-args@~2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
+ integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
+
+prompts@^2.4.2:
+ version "2.4.2"
+ resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069"
+ integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==
+ dependencies:
+ kleur "^3.0.3"
+ sisteransi "^1.0.5"
+
+prop-types@^15.6.2, prop-types@^15.7.2, prop-types@^15.8.1:
+ version "15.8.1"
+ resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5"
+ integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==
+ dependencies:
+ loose-envify "^1.4.0"
+ object-assign "^4.1.1"
+ react-is "^16.13.1"
+
+property-information@^6.0.0:
+ version "6.5.0"
+ resolved "https://registry.yarnpkg.com/property-information/-/property-information-6.5.0.tgz#6212fbb52ba757e92ef4fb9d657563b933b7ffec"
+ integrity sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==
+
+property-information@^7.0.0:
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/property-information/-/property-information-7.1.0.tgz#b622e8646e02b580205415586b40804d3e8bfd5d"
+ integrity sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==
+
+proto-list@~1.2.1:
+ version "1.2.4"
+ resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849"
+ integrity sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==
+
+proxy-addr@~2.0.7:
+ version "2.0.7"
+ resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025"
+ integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==
+ dependencies:
+ forwarded "0.2.0"
+ ipaddr.js "1.9.1"
+
+punycode@^2.1.0:
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5"
+ integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==
+
+pupa@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/pupa/-/pupa-3.1.0.tgz#f15610274376bbcc70c9a3aa8b505ea23f41c579"
+ integrity sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug==
+ dependencies:
+ escape-goat "^4.0.0"
+
+qs@6.13.0:
+ version "6.13.0"
+ resolved "https://registry.yarnpkg.com/qs/-/qs-6.13.0.tgz#6ca3bd58439f7e245655798997787b0d88a51906"
+ integrity sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==
+ dependencies:
+ side-channel "^1.0.6"
+
+queue-microtask@^1.2.2:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
+ integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
+
+quick-lru@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932"
+ integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==
+
+randombytes@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
+ integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==
+ dependencies:
+ safe-buffer "^5.1.0"
+
+range-parser@1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e"
+ integrity sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==
+
+range-parser@^1.2.1, range-parser@~1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031"
+ integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
+
+raw-body@2.5.2:
+ version "2.5.2"
+ resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a"
+ integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==
+ dependencies:
+ bytes "3.1.2"
+ http-errors "2.0.0"
+ iconv-lite "0.4.24"
+ unpipe "1.0.0"
+
+rc@1.2.8:
+ version "1.2.8"
+ resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"
+ integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==
+ dependencies:
+ deep-extend "^0.6.0"
+ ini "~1.3.0"
+ minimist "^1.2.0"
+ strip-json-comments "~2.0.1"
+
+react-dom@^19.0.0:
+ version "19.1.1"
+ resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-19.1.1.tgz#2daa9ff7f3ae384aeb30e76d5ee38c046dc89893"
+ integrity sha512-Dlq/5LAZgF0Gaz6yiqZCf6VCcZs1ghAJyrsu84Q/GT0gV+mCxbfmKNoGRKBYMJ8IEdGPqu49YWXD02GCknEDkw==
+ dependencies:
+ scheduler "^0.26.0"
+
+react-fast-compare@^3.2.0:
+ version "3.2.2"
+ resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-3.2.2.tgz#929a97a532304ce9fee4bcae44234f1ce2c21d49"
+ integrity sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==
+
+"react-helmet-async@npm:@slorber/react-helmet-async@1.3.0":
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/@slorber/react-helmet-async/-/react-helmet-async-1.3.0.tgz#11fbc6094605cf60aa04a28c17e0aab894b4ecff"
+ integrity sha512-e9/OK8VhwUSc67diWI8Rb3I0YgI9/SBQtnhe9aEuK6MhZm7ntZZimXgwXnd8W96YTmSOb9M4d8LwhRZyhWr/1A==
+ dependencies:
+ "@babel/runtime" "^7.12.5"
+ invariant "^2.2.4"
+ prop-types "^15.7.2"
+ react-fast-compare "^3.2.0"
+ shallowequal "^1.1.0"
+
+react-is@^16.13.1, react-is@^16.6.0, react-is@^16.7.0:
+ version "16.13.1"
+ resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
+ integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
+
+react-is@^19.1.1:
+ version "19.1.1"
+ resolved "https://registry.yarnpkg.com/react-is/-/react-is-19.1.1.tgz#038ebe313cf18e1fd1235d51c87360eb87f7c36a"
+ integrity sha512-tr41fA15Vn8p4X9ntI+yCyeGSf1TlYaY5vlTZfQmeLBrFo3psOPX6HhTDnFNL9uj3EhP0KAQ80cugCl4b4BERA==
+
+react-json-view-lite@^2.3.0:
+ version "2.4.2"
+ resolved "https://registry.yarnpkg.com/react-json-view-lite/-/react-json-view-lite-2.4.2.tgz#796ed6c650c29123d87b9484889445d1a8a88ede"
+ integrity sha512-m7uTsXDgPQp8R9bJO4HD/66+i218eyQPAb+7/dGQpwg8i4z2afTFqtHJPQFHvJfgDCjGQ1HSGlL3HtrZDa3Tdg==
+
+react-loadable-ssr-addon-v5-slorber@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/react-loadable-ssr-addon-v5-slorber/-/react-loadable-ssr-addon-v5-slorber-1.0.1.tgz#2cdc91e8a744ffdf9e3556caabeb6e4278689883"
+ integrity sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A==
+ dependencies:
+ "@babel/runtime" "^7.10.3"
+
+"react-loadable@npm:@docusaurus/react-loadable@6.0.0":
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/@docusaurus/react-loadable/-/react-loadable-6.0.0.tgz#de6c7f73c96542bd70786b8e522d535d69069dc4"
+ integrity sha512-YMMxTUQV/QFSnbgrP3tjDzLHRg7vsbMn8e9HAa8o/1iXoiomo48b7sk/kkmWEuWNDPJVlKSJRB6Y2fHqdJk+SQ==
+ dependencies:
+ "@types/react" "*"
+
+react-router-config@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/react-router-config/-/react-router-config-5.1.1.tgz#0f4263d1a80c6b2dc7b9c1902c9526478194a988"
+ integrity sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==
+ dependencies:
+ "@babel/runtime" "^7.1.2"
+
+react-router-dom@^5.3.4:
+ version "5.3.4"
+ resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-5.3.4.tgz#2ed62ffd88cae6db134445f4a0c0ae8b91d2e5e6"
+ integrity sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ==
+ dependencies:
+ "@babel/runtime" "^7.12.13"
+ history "^4.9.0"
+ loose-envify "^1.3.1"
+ prop-types "^15.6.2"
+ react-router "5.3.4"
+ tiny-invariant "^1.0.2"
+ tiny-warning "^1.0.0"
+
+react-router@5.3.4, react-router@^5.3.4:
+ version "5.3.4"
+ resolved "https://registry.yarnpkg.com/react-router/-/react-router-5.3.4.tgz#8ca252d70fcc37841e31473c7a151cf777887bb5"
+ integrity sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==
+ dependencies:
+ "@babel/runtime" "^7.12.13"
+ history "^4.9.0"
+ hoist-non-react-statics "^3.1.0"
+ loose-envify "^1.3.1"
+ path-to-regexp "^1.7.0"
+ prop-types "^15.6.2"
+ react-is "^16.6.0"
+ tiny-invariant "^1.0.2"
+ tiny-warning "^1.0.0"
+
+react-transition-group@^4.4.5:
+ version "4.4.5"
+ resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.5.tgz#e53d4e3f3344da8521489fbef8f2581d42becdd1"
+ integrity sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==
+ dependencies:
+ "@babel/runtime" "^7.5.5"
+ dom-helpers "^5.0.1"
+ loose-envify "^1.4.0"
+ prop-types "^15.6.2"
+
+react@^19.0.0:
+ version "19.1.1"
+ resolved "https://registry.yarnpkg.com/react/-/react-19.1.1.tgz#06d9149ec5e083a67f9a1e39ce97b06a03b644af"
+ integrity sha512-w8nqGImo45dmMIfljjMwOGtbmC/mk4CMYhWIicdSflH91J9TyCyczcPFXJzrZ/ZXcgGRFeP6BU0BEJTw6tZdfQ==
+
+readable-stream@^2.0.1:
+ version "2.3.8"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b"
+ integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==
+ dependencies:
+ core-util-is "~1.0.0"
+ inherits "~2.0.3"
+ isarray "~1.0.0"
+ process-nextick-args "~2.0.0"
+ safe-buffer "~5.1.1"
+ string_decoder "~1.1.1"
+ util-deprecate "~1.0.1"
+
+readable-stream@^3.0.6:
+ version "3.6.2"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967"
+ integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==
+ dependencies:
+ inherits "^2.0.3"
+ string_decoder "^1.1.1"
+ util-deprecate "^1.0.1"
+
+readdirp@~3.6.0:
+ version "3.6.0"
+ resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
+ integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
+ dependencies:
+ picomatch "^2.2.1"
+
+recma-build-jsx@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/recma-build-jsx/-/recma-build-jsx-1.0.0.tgz#c02f29e047e103d2fab2054954e1761b8ea253c4"
+ integrity sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==
+ dependencies:
+ "@types/estree" "^1.0.0"
+ estree-util-build-jsx "^3.0.0"
+ vfile "^6.0.0"
+
+recma-jsx@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/recma-jsx/-/recma-jsx-1.0.1.tgz#58e718f45e2102ed0bf2fa994f05b70d76801a1a"
+ integrity sha512-huSIy7VU2Z5OLv6oFLosQGGDqPqdO1iq6bWNAdhzMxSJP7RAso4fCZ1cKu8j9YHCZf3TPrq4dw3okhrylgcd7w==
+ dependencies:
+ acorn-jsx "^5.0.0"
+ estree-util-to-js "^2.0.0"
+ recma-parse "^1.0.0"
+ recma-stringify "^1.0.0"
+ unified "^11.0.0"
+
+recma-parse@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/recma-parse/-/recma-parse-1.0.0.tgz#c351e161bb0ab47d86b92a98a9d891f9b6814b52"
+ integrity sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==
+ dependencies:
+ "@types/estree" "^1.0.0"
+ esast-util-from-js "^2.0.0"
+ unified "^11.0.0"
+ vfile "^6.0.0"
+
+recma-stringify@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/recma-stringify/-/recma-stringify-1.0.0.tgz#54632030631e0c7546136ff9ef8fde8e7b44f130"
+ integrity sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==
+ dependencies:
+ "@types/estree" "^1.0.0"
+ estree-util-to-js "^2.0.0"
+ unified "^11.0.0"
+ vfile "^6.0.0"
+
+regenerate-unicode-properties@^10.2.0:
+ version "10.2.0"
+ resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz#626e39df8c372338ea9b8028d1f99dc3fd9c3db0"
+ integrity sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==
+ dependencies:
+ regenerate "^1.4.2"
+
+regenerate@^1.4.2:
+ version "1.4.2"
+ resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a"
+ integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==
+
+regexpu-core@^6.2.0:
+ version "6.2.0"
+ resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-6.2.0.tgz#0e5190d79e542bf294955dccabae04d3c7d53826"
+ integrity sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==
+ dependencies:
+ regenerate "^1.4.2"
+ regenerate-unicode-properties "^10.2.0"
+ regjsgen "^0.8.0"
+ regjsparser "^0.12.0"
+ unicode-match-property-ecmascript "^2.0.0"
+ unicode-match-property-value-ecmascript "^2.1.0"
+
+registry-auth-token@^5.0.1:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-5.1.0.tgz#3c659047ecd4caebd25bc1570a3aa979ae490eca"
+ integrity sha512-GdekYuwLXLxMuFTwAPg5UKGLW/UXzQrZvH/Zj791BQif5T05T0RsaLfHc9q3ZOKi7n+BoprPD9mJ0O0k4xzUlw==
+ dependencies:
+ "@pnpm/npm-conf" "^2.1.0"
+
+registry-url@^6.0.0:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-6.0.1.tgz#056d9343680f2f64400032b1e199faa692286c58"
+ integrity sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==
+ dependencies:
+ rc "1.2.8"
+
+regjsgen@^0.8.0:
+ version "0.8.0"
+ resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.8.0.tgz#df23ff26e0c5b300a6470cad160a9d090c3a37ab"
+ integrity sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==
+
+regjsparser@^0.12.0:
+ version "0.12.0"
+ resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.12.0.tgz#0e846df6c6530586429377de56e0475583b088dc"
+ integrity sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==
+ dependencies:
+ jsesc "~3.0.2"
+
+rehype-raw@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/rehype-raw/-/rehype-raw-7.0.0.tgz#59d7348fd5dbef3807bbaa1d443efd2dd85ecee4"
+ integrity sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==
+ dependencies:
+ "@types/hast" "^3.0.0"
+ hast-util-raw "^9.0.0"
+ vfile "^6.0.0"
+
+rehype-recma@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/rehype-recma/-/rehype-recma-1.0.0.tgz#d68ef6344d05916bd96e25400c6261775411aa76"
+ integrity sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==
+ dependencies:
+ "@types/estree" "^1.0.0"
+ "@types/hast" "^3.0.0"
+ hast-util-to-estree "^3.0.0"
+
+relateurl@^0.2.7:
+ version "0.2.7"
+ resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9"
+ integrity sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==
+
+remark-directive@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/remark-directive/-/remark-directive-3.0.1.tgz#689ba332f156cfe1118e849164cc81f157a3ef0a"
+ integrity sha512-gwglrEQEZcZYgVyG1tQuA+h58EZfq5CSULw7J90AFuCTyib1thgHPoqQ+h9iFvU6R+vnZ5oNFQR5QKgGpk741A==
+ dependencies:
+ "@types/mdast" "^4.0.0"
+ mdast-util-directive "^3.0.0"
+ micromark-extension-directive "^3.0.0"
+ unified "^11.0.0"
+
+remark-emoji@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/remark-emoji/-/remark-emoji-4.0.1.tgz#671bfda668047689e26b2078c7356540da299f04"
+ integrity sha512-fHdvsTR1dHkWKev9eNyhTo4EFwbUvJ8ka9SgeWkMPYFX4WoI7ViVBms3PjlQYgw5TLvNQso3GUB/b/8t3yo+dg==
+ dependencies:
+ "@types/mdast" "^4.0.2"
+ emoticon "^4.0.1"
+ mdast-util-find-and-replace "^3.0.1"
+ node-emoji "^2.1.0"
+ unified "^11.0.4"
+
+remark-frontmatter@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/remark-frontmatter/-/remark-frontmatter-5.0.0.tgz#b68d61552a421ec412c76f4f66c344627dc187a2"
+ integrity sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==
+ dependencies:
+ "@types/mdast" "^4.0.0"
+ mdast-util-frontmatter "^2.0.0"
+ micromark-extension-frontmatter "^2.0.0"
+ unified "^11.0.0"
+
+remark-gfm@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/remark-gfm/-/remark-gfm-4.0.1.tgz#33227b2a74397670d357bf05c098eaf8513f0d6b"
+ integrity sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==
+ dependencies:
+ "@types/mdast" "^4.0.0"
+ mdast-util-gfm "^3.0.0"
+ micromark-extension-gfm "^3.0.0"
+ remark-parse "^11.0.0"
+ remark-stringify "^11.0.0"
+ unified "^11.0.0"
+
+remark-mdx@^3.0.0:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/remark-mdx/-/remark-mdx-3.1.1.tgz#047f97038bc7ec387aebb4b0a4fe23779999d845"
+ integrity sha512-Pjj2IYlUY3+D8x00UJsIOg5BEvfMyeI+2uLPn9VO9Wg4MEtN/VTIq2NEJQfde9PnX15KgtHyl9S0BcTnWrIuWg==
+ dependencies:
+ mdast-util-mdx "^3.0.0"
+ micromark-extension-mdxjs "^3.0.0"
+
+remark-parse@^11.0.0:
+ version "11.0.0"
+ resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-11.0.0.tgz#aa60743fcb37ebf6b069204eb4da304e40db45a1"
+ integrity sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==
+ dependencies:
+ "@types/mdast" "^4.0.0"
+ mdast-util-from-markdown "^2.0.0"
+ micromark-util-types "^2.0.0"
+ unified "^11.0.0"
+
+remark-rehype@^11.0.0:
+ version "11.1.2"
+ resolved "https://registry.yarnpkg.com/remark-rehype/-/remark-rehype-11.1.2.tgz#2addaadda80ca9bd9aa0da763e74d16327683b37"
+ integrity sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==
+ dependencies:
+ "@types/hast" "^3.0.0"
+ "@types/mdast" "^4.0.0"
+ mdast-util-to-hast "^13.0.0"
+ unified "^11.0.0"
+ vfile "^6.0.0"
+
+remark-stringify@^11.0.0:
+ version "11.0.0"
+ resolved "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-11.0.0.tgz#4c5b01dd711c269df1aaae11743eb7e2e7636fd3"
+ integrity sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==
+ dependencies:
+ "@types/mdast" "^4.0.0"
+ mdast-util-to-markdown "^2.0.0"
+ unified "^11.0.0"
+
+renderkid@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-3.0.0.tgz#5fd823e4d6951d37358ecc9a58b1f06836b6268a"
+ integrity sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==
+ dependencies:
+ css-select "^4.1.3"
+ dom-converter "^0.2.0"
+ htmlparser2 "^6.1.0"
+ lodash "^4.17.21"
+ strip-ansi "^6.0.1"
+
+repeat-string@^1.0.0:
+ version "1.6.1"
+ resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
+ integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==
+
+require-from-string@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909"
+ integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==
+
+"require-like@>= 0.1.1":
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/require-like/-/require-like-0.1.2.tgz#ad6f30c13becd797010c468afa775c0c0a6b47fa"
+ integrity sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==
+
+requires-port@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
+ integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==
+
+resolve-alpn@^1.2.0:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9"
+ integrity sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==
+
+resolve-from@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
+ integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
+
+resolve-pathname@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd"
+ integrity sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==
+
+resolve@^1.19.0, resolve@^1.22.10:
+ version "1.22.10"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.10.tgz#b663e83ffb09bbf2386944736baae803029b8b39"
+ integrity sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==
+ dependencies:
+ is-core-module "^2.16.0"
+ path-parse "^1.0.7"
+ supports-preserve-symlinks-flag "^1.0.0"
+
+responselike@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/responselike/-/responselike-3.0.0.tgz#20decb6c298aff0dbee1c355ca95461d42823626"
+ integrity sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==
+ dependencies:
+ lowercase-keys "^3.0.0"
+
+retry@^0.13.1:
+ version "0.13.1"
+ resolved "https://registry.yarnpkg.com/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658"
+ integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==
+
+reusify@^1.0.4:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.1.0.tgz#0fe13b9522e1473f51b558ee796e08f11f9b489f"
+ integrity sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==
+
+rimraf@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
+ integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
+ dependencies:
+ glob "^7.1.3"
+
+rtlcss@^4.1.0:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/rtlcss/-/rtlcss-4.3.0.tgz#f8efd4d5b64f640ec4af8fa25b65bacd9e07cc97"
+ integrity sha512-FI+pHEn7Wc4NqKXMXFM+VAYKEj/mRIcW4h24YVwVtyjI+EqGrLc2Hx/Ny0lrZ21cBWU2goLy36eqMcNj3AQJig==
+ dependencies:
+ escalade "^3.1.1"
+ picocolors "^1.0.0"
+ postcss "^8.4.21"
+ strip-json-comments "^3.1.1"
+
+run-parallel@^1.1.9:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee"
+ integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==
+ dependencies:
+ queue-microtask "^1.2.2"
+
+safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.1.0, safe-buffer@~5.2.0:
+ version "5.2.1"
+ resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
+ integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
+
+safe-buffer@~5.1.0, safe-buffer@~5.1.1:
+ version "5.1.2"
+ resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
+ integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
+
+"safer-buffer@>= 2.1.2 < 3":
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
+ integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
+
+sax@^1.2.4:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/sax/-/sax-1.4.1.tgz#44cc8988377f126304d3b3fc1010c733b929ef0f"
+ integrity sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==
+
+scheduler@^0.26.0:
+ version "0.26.0"
+ resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.26.0.tgz#4ce8a8c2a2095f13ea11bf9a445be50c555d6337"
+ integrity sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==
+
+schema-dts@^1.1.2:
+ version "1.1.5"
+ resolved "https://registry.yarnpkg.com/schema-dts/-/schema-dts-1.1.5.tgz#9237725d305bac3469f02b292a035107595dc324"
+ integrity sha512-RJr9EaCmsLzBX2NDiO5Z3ux2BVosNZN5jo0gWgsyKvxKIUL5R3swNvoorulAeL9kLB0iTSX7V6aokhla2m7xbg==
+
+schema-utils@^3.0.0:
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.3.0.tgz#f50a88877c3c01652a15b622ae9e9795df7a60fe"
+ integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==
+ dependencies:
+ "@types/json-schema" "^7.0.8"
+ ajv "^6.12.5"
+ ajv-keywords "^3.5.2"
+
+schema-utils@^4.0.0, schema-utils@^4.0.1, schema-utils@^4.3.0, schema-utils@^4.3.2:
+ version "4.3.2"
+ resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.3.2.tgz#0c10878bf4a73fd2b1dfd14b9462b26788c806ae"
+ integrity sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==
+ dependencies:
+ "@types/json-schema" "^7.0.9"
+ ajv "^8.9.0"
+ ajv-formats "^2.1.1"
+ ajv-keywords "^5.1.0"
+
+section-matter@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/section-matter/-/section-matter-1.0.0.tgz#e9041953506780ec01d59f292a19c7b850b84167"
+ integrity sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==
+ dependencies:
+ extend-shallow "^2.0.1"
+ kind-of "^6.0.0"
+
+select-hose@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca"
+ integrity sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==
+
+select@^1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/select/-/select-1.1.2.tgz#0e7350acdec80b1108528786ec1d4418d11b396d"
+ integrity sha512-OwpTSOfy6xSs1+pwcNrv0RBMOzI39Lp3qQKUTPVVPRjCdNa5JH/oPRiqsesIskK8TVgmRiHwO4KXlV2Li9dANA==
+
+selfsigned@^2.1.1:
+ version "2.4.1"
+ resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-2.4.1.tgz#560d90565442a3ed35b674034cec4e95dceb4ae0"
+ integrity sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==
+ dependencies:
+ "@types/node-forge" "^1.3.0"
+ node-forge "^1"
+
+semver-diff@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-4.0.0.tgz#3afcf5ed6d62259f5c72d0d5d50dffbdc9680df5"
+ integrity sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==
+ dependencies:
+ semver "^7.3.5"
+
+semver@^6.3.1:
+ version "6.3.1"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4"
+ integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
+
+semver@^7.3.5, semver@^7.3.7, semver@^7.5.4:
+ version "7.7.2"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.2.tgz#67d99fdcd35cec21e6f8b87a7fd515a33f982b58"
+ integrity sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==
+
+send@0.19.0:
+ version "0.19.0"
+ resolved "https://registry.yarnpkg.com/send/-/send-0.19.0.tgz#bbc5a388c8ea6c048967049dbeac0e4a3f09d7f8"
+ integrity sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==
+ dependencies:
+ debug "2.6.9"
+ depd "2.0.0"
+ destroy "1.2.0"
+ encodeurl "~1.0.2"
+ escape-html "~1.0.3"
+ etag "~1.8.1"
+ fresh "0.5.2"
+ http-errors "2.0.0"
+ mime "1.6.0"
+ ms "2.1.3"
+ on-finished "2.4.1"
+ range-parser "~1.2.1"
+ statuses "2.0.1"
+
+serialize-javascript@^6.0.0, serialize-javascript@^6.0.1, serialize-javascript@^6.0.2:
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2"
+ integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==
+ dependencies:
+ randombytes "^2.1.0"
+
+serve-handler@^6.1.6:
+ version "6.1.6"
+ resolved "https://registry.yarnpkg.com/serve-handler/-/serve-handler-6.1.6.tgz#50803c1d3e947cd4a341d617f8209b22bd76cfa1"
+ integrity sha512-x5RL9Y2p5+Sh3D38Fh9i/iQ5ZK+e4xuXRd/pGbM4D13tgo/MGwbttUk8emytcr1YYzBYs+apnUngBDFYfpjPuQ==
+ dependencies:
+ bytes "3.0.0"
+ content-disposition "0.5.2"
+ mime-types "2.1.18"
+ minimatch "3.1.2"
+ path-is-inside "1.0.2"
+ path-to-regexp "3.3.0"
+ range-parser "1.2.0"
+
+serve-index@^1.9.1:
+ version "1.9.1"
+ resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239"
+ integrity sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==
+ dependencies:
+ accepts "~1.3.4"
+ batch "0.6.1"
+ debug "2.6.9"
+ escape-html "~1.0.3"
+ http-errors "~1.6.2"
+ mime-types "~2.1.17"
+ parseurl "~1.3.2"
+
+serve-static@1.16.2:
+ version "1.16.2"
+ resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.16.2.tgz#b6a5343da47f6bdd2673848bf45754941e803296"
+ integrity sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==
+ dependencies:
+ encodeurl "~2.0.0"
+ escape-html "~1.0.3"
+ parseurl "~1.3.3"
+ send "0.19.0"
+
+set-function-length@^1.2.2:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449"
+ integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==
+ dependencies:
+ define-data-property "^1.1.4"
+ es-errors "^1.3.0"
+ function-bind "^1.1.2"
+ get-intrinsic "^1.2.4"
+ gopd "^1.0.1"
+ has-property-descriptors "^1.0.2"
+
+setprototypeof@1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656"
+ integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==
+
+setprototypeof@1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424"
+ integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==
+
+shallow-clone@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3"
+ integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==
+ dependencies:
+ kind-of "^6.0.2"
+
+shallowequal@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8"
+ integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==
+
+shebang-command@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
+ integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
+ dependencies:
+ shebang-regex "^3.0.0"
+
+shebang-regex@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
+ integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
+
+shell-quote@^1.8.3:
+ version "1.8.3"
+ resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.3.tgz#55e40ef33cf5c689902353a3d8cd1a6725f08b4b"
+ integrity sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==
+
+side-channel-list@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/side-channel-list/-/side-channel-list-1.0.0.tgz#10cb5984263115d3b7a0e336591e290a830af8ad"
+ integrity sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==
+ dependencies:
+ es-errors "^1.3.0"
+ object-inspect "^1.13.3"
+
+side-channel-map@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/side-channel-map/-/side-channel-map-1.0.1.tgz#d6bb6b37902c6fef5174e5f533fab4c732a26f42"
+ integrity sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==
+ dependencies:
+ call-bound "^1.0.2"
+ es-errors "^1.3.0"
+ get-intrinsic "^1.2.5"
+ object-inspect "^1.13.3"
+
+side-channel-weakmap@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz#11dda19d5368e40ce9ec2bdc1fb0ecbc0790ecea"
+ integrity sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==
+ dependencies:
+ call-bound "^1.0.2"
+ es-errors "^1.3.0"
+ get-intrinsic "^1.2.5"
+ object-inspect "^1.13.3"
+ side-channel-map "^1.0.1"
+
+side-channel@^1.0.6:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.1.0.tgz#c3fcff9c4da932784873335ec9765fa94ff66bc9"
+ integrity sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==
+ dependencies:
+ es-errors "^1.3.0"
+ object-inspect "^1.13.3"
+ side-channel-list "^1.0.0"
+ side-channel-map "^1.0.1"
+ side-channel-weakmap "^1.0.2"
+
+signal-exit@^3.0.2, signal-exit@^3.0.3:
+ version "3.0.7"
+ resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9"
+ integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==
+
+sirv@^2.0.3:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/sirv/-/sirv-2.0.4.tgz#5dd9a725c578e34e449f332703eb2a74e46a29b0"
+ integrity sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==
+ dependencies:
+ "@polka/url" "^1.0.0-next.24"
+ mrmime "^2.0.0"
+ totalist "^3.0.0"
+
+sisteransi@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed"
+ integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==
+
+sitemap@^7.1.1:
+ version "7.1.2"
+ resolved "https://registry.yarnpkg.com/sitemap/-/sitemap-7.1.2.tgz#6ce1deb43f6f177c68bc59cf93632f54e3ae6b72"
+ integrity sha512-ARCqzHJ0p4gWt+j7NlU5eDlIO9+Rkr/JhPFZKKQ1l5GCus7rJH4UdrlVAh0xC/gDS/Qir2UMxqYNHtsKr2rpCw==
+ dependencies:
+ "@types/node" "^17.0.5"
+ "@types/sax" "^1.2.1"
+ arg "^5.0.0"
+ sax "^1.2.4"
+
+skin-tone@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/skin-tone/-/skin-tone-2.0.0.tgz#4e3933ab45c0d4f4f781745d64b9f4c208e41237"
+ integrity sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==
+ dependencies:
+ unicode-emoji-modifier-base "^1.0.0"
+
+slash@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
+ integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
+
+slash@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7"
+ integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==
+
+snake-case@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/snake-case/-/snake-case-3.0.4.tgz#4f2bbd568e9935abdfd593f34c691dadb49c452c"
+ integrity sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==
+ dependencies:
+ dot-case "^3.0.4"
+ tslib "^2.0.3"
+
+sockjs@^0.3.24:
+ version "0.3.24"
+ resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.24.tgz#c9bc8995f33a111bea0395ec30aa3206bdb5ccce"
+ integrity sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==
+ dependencies:
+ faye-websocket "^0.11.3"
+ uuid "^8.3.2"
+ websocket-driver "^0.7.4"
+
+sort-css-media-queries@2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/sort-css-media-queries/-/sort-css-media-queries-2.2.0.tgz#aa33cf4a08e0225059448b6c40eddbf9f1c8334c"
+ integrity sha512-0xtkGhWCC9MGt/EzgnvbbbKhqWjl1+/rncmhTh5qCpbYguXh6S/qwePfv/JQ8jePXXmqingylxoC49pCkSPIbA==
+
+source-map-js@^1.0.1, source-map-js@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46"
+ integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==
+
+source-map-support@~0.5.20:
+ version "0.5.21"
+ resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f"
+ integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==
+ dependencies:
+ buffer-from "^1.0.0"
+ source-map "^0.6.0"
+
+source-map@^0.5.7:
+ version "0.5.7"
+ resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
+ integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==
+
+source-map@^0.6.0, source-map@~0.6.0:
+ version "0.6.1"
+ resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
+ integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
+
+source-map@^0.7.0:
+ version "0.7.6"
+ resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.6.tgz#a3658ab87e5b6429c8a1f3ba0083d4c61ca3ef02"
+ integrity sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==
+
+space-separated-tokens@^2.0.0:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz#1ecd9d2350a3844572c3f4a312bceb018348859f"
+ integrity sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==
+
+spdy-transport@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31"
+ integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==
+ dependencies:
+ debug "^4.1.0"
+ detect-node "^2.0.4"
+ hpack.js "^2.1.6"
+ obuf "^1.1.2"
+ readable-stream "^3.0.6"
+ wbuf "^1.7.3"
+
+spdy@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b"
+ integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==
+ dependencies:
+ debug "^4.1.0"
+ handle-thing "^2.0.0"
+ http-deceiver "^1.2.7"
+ select-hose "^2.0.0"
+ spdy-transport "^3.0.0"
+
+sprintf-js@~1.0.2:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
+ integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==
+
+srcset@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/srcset/-/srcset-4.0.0.tgz#336816b665b14cd013ba545b6fe62357f86e65f4"
+ integrity sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==
+
+statuses@2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63"
+ integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==
+
+"statuses@>= 1.4.0 < 2":
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c"
+ integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==
+
+std-env@^3.7.0:
+ version "3.9.0"
+ resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.9.0.tgz#1a6f7243b339dca4c9fd55e1c7504c77ef23e8f1"
+ integrity sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==
+
+string-width@^4.1.0, string-width@^4.2.0:
+ version "4.2.3"
+ resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
+ integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
+ dependencies:
+ emoji-regex "^8.0.0"
+ is-fullwidth-code-point "^3.0.0"
+ strip-ansi "^6.0.1"
+
+string-width@^5.0.1, string-width@^5.1.2:
+ version "5.1.2"
+ resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794"
+ integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==
+ dependencies:
+ eastasianwidth "^0.2.0"
+ emoji-regex "^9.2.2"
+ strip-ansi "^7.0.1"
+
+string_decoder@^1.1.1:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
+ integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
+ dependencies:
+ safe-buffer "~5.2.0"
+
+string_decoder@~1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
+ integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
+ dependencies:
+ safe-buffer "~5.1.0"
+
+stringify-entities@^4.0.0:
+ version "4.0.4"
+ resolved "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-4.0.4.tgz#b3b79ef5f277cc4ac73caeb0236c5ba939b3a4f3"
+ integrity sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==
+ dependencies:
+ character-entities-html4 "^2.0.0"
+ character-entities-legacy "^3.0.0"
+
+stringify-object@^3.3.0:
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629"
+ integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==
+ dependencies:
+ get-own-enumerable-property-symbols "^3.0.0"
+ is-obj "^1.0.1"
+ is-regexp "^1.0.0"
+
+strip-ansi@^6.0.0, strip-ansi@^6.0.1:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
+ integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
+ dependencies:
+ ansi-regex "^5.0.1"
+
+strip-ansi@^7.0.1:
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45"
+ integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==
+ dependencies:
+ ansi-regex "^6.0.1"
+
+strip-bom-string@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/strip-bom-string/-/strip-bom-string-1.0.0.tgz#e5211e9224369fbb81d633a2f00044dc8cedad92"
+ integrity sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==
+
+strip-final-newline@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad"
+ integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
+
+strip-json-comments@^3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
+ integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
+
+strip-json-comments@~2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
+ integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==
+
+style-to-js@^1.0.0:
+ version "1.1.17"
+ resolved "https://registry.yarnpkg.com/style-to-js/-/style-to-js-1.1.17.tgz#488b1558a8c1fd05352943f088cc3ce376813d83"
+ integrity sha512-xQcBGDxJb6jjFCTzvQtfiPn6YvvP2O8U1MDIPNfJQlWMYfktPy+iGsHE7cssjs7y84d9fQaK4UF3RIJaAHSoYA==
+ dependencies:
+ style-to-object "1.0.9"
+
+style-to-object@1.0.9:
+ version "1.0.9"
+ resolved "https://registry.yarnpkg.com/style-to-object/-/style-to-object-1.0.9.tgz#35c65b713f4a6dba22d3d0c61435f965423653f0"
+ integrity sha512-G4qppLgKu/k6FwRpHiGiKPaPTFcG3g4wNVX/Qsfu+RqQM30E7Tyu/TEgxcL9PNLF5pdRLwQdE3YKKf+KF2Dzlw==
+ dependencies:
+ inline-style-parser "0.2.4"
+
+stylehacks@^6.1.1:
+ version "6.1.1"
+ resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-6.1.1.tgz#543f91c10d17d00a440430362d419f79c25545a6"
+ integrity sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg==
+ dependencies:
+ browserslist "^4.23.0"
+ postcss-selector-parser "^6.0.16"
+
+stylis@4.2.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.2.0.tgz#79daee0208964c8fe695a42fcffcac633a211a51"
+ integrity sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==
+
+supports-color@^7.1.0:
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
+ integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
+ dependencies:
+ has-flag "^4.0.0"
+
+supports-color@^8.0.0:
+ version "8.1.1"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c"
+ integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==
+ dependencies:
+ has-flag "^4.0.0"
+
+supports-preserve-symlinks-flag@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
+ integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
+
+svg-parser@^2.0.4:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.4.tgz#fdc2e29e13951736140b76cb122c8ee6630eb6b5"
+ integrity sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==
+
+svgo@^3.0.2, svgo@^3.2.0:
+ version "3.3.2"
+ resolved "https://registry.yarnpkg.com/svgo/-/svgo-3.3.2.tgz#ad58002652dffbb5986fc9716afe52d869ecbda8"
+ integrity sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==
+ dependencies:
+ "@trysound/sax" "0.2.0"
+ commander "^7.2.0"
+ css-select "^5.1.0"
+ css-tree "^2.3.1"
+ css-what "^6.1.0"
+ csso "^5.0.5"
+ picocolors "^1.0.0"
+
+tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0, tapable@^2.2.1:
+ version "2.2.3"
+ resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.3.tgz#4b67b635b2d97578a06a2713d2f04800c237e99b"
+ integrity sha512-ZL6DDuAlRlLGghwcfmSn9sK3Hr6ArtyudlSAiCqQ6IfE+b+HHbydbYDIG15IfS5do+7XQQBdBiubF/cV2dnDzg==
+
+terser-webpack-plugin@^5.3.11, terser-webpack-plugin@^5.3.9:
+ version "5.3.14"
+ resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.14.tgz#9031d48e57ab27567f02ace85c7d690db66c3e06"
+ integrity sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==
+ dependencies:
+ "@jridgewell/trace-mapping" "^0.3.25"
+ jest-worker "^27.4.5"
+ schema-utils "^4.3.0"
+ serialize-javascript "^6.0.2"
+ terser "^5.31.1"
+
+terser@^5.10.0, terser@^5.15.1, terser@^5.31.1:
+ version "5.43.1"
+ resolved "https://registry.yarnpkg.com/terser/-/terser-5.43.1.tgz#88387f4f9794ff1a29e7ad61fb2932e25b4fdb6d"
+ integrity sha512-+6erLbBm0+LROX2sPXlUYx/ux5PyE9K/a92Wrt6oA+WDAoFTdpHE5tCYCI5PNzq2y8df4rA+QgHLJuR4jNymsg==
+ dependencies:
+ "@jridgewell/source-map" "^0.3.3"
+ acorn "^8.14.0"
+ commander "^2.20.0"
+ source-map-support "~0.5.20"
+
+thunky@^1.0.2:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d"
+ integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==
+
+tiny-emitter@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz#1d1a56edfc51c43e863cbb5382a72330e3555423"
+ integrity sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==
+
+tiny-invariant@^1.0.2:
+ version "1.3.3"
+ resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.3.3.tgz#46680b7a873a0d5d10005995eb90a70d74d60127"
+ integrity sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==
+
+tiny-warning@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754"
+ integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==
+
+tinypool@^1.0.2:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/tinypool/-/tinypool-1.1.1.tgz#059f2d042bd37567fbc017d3d426bdd2a2612591"
+ integrity sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==
+
+to-regex-range@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
+ integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
+ dependencies:
+ is-number "^7.0.0"
+
+toidentifier@1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35"
+ integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==
+
+totalist@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/totalist/-/totalist-3.0.1.tgz#ba3a3d600c915b1a97872348f79c127475f6acf8"
+ integrity sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==
+
+trim-lines@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/trim-lines/-/trim-lines-3.0.1.tgz#d802e332a07df861c48802c04321017b1bd87338"
+ integrity sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==
+
+trough@^2.0.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/trough/-/trough-2.2.0.tgz#94a60bd6bd375c152c1df911a4b11d5b0256f50f"
+ integrity sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==
+
+tslib@^2.0.3, tslib@^2.6.0:
+ version "2.8.1"
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f"
+ integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==
+
+type-fest@^0.21.3:
+ version "0.21.3"
+ resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37"
+ integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==
+
+type-fest@^1.0.1:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-1.4.0.tgz#e9fb813fe3bf1744ec359d55d1affefa76f14be1"
+ integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==
+
+type-fest@^2.13.0, type-fest@^2.5.0:
+ version "2.19.0"
+ resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.19.0.tgz#88068015bb33036a598b952e55e9311a60fd3a9b"
+ integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==
+
+type-is@~1.6.18:
+ version "1.6.18"
+ resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131"
+ integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==
+ dependencies:
+ media-typer "0.3.0"
+ mime-types "~2.1.24"
+
+typedarray-to-buffer@^3.1.5:
+ version "3.1.5"
+ resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080"
+ integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==
+ dependencies:
+ is-typedarray "^1.0.0"
+
+undici-types@~7.10.0:
+ version "7.10.0"
+ resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-7.10.0.tgz#4ac2e058ce56b462b056e629cc6a02393d3ff350"
+ integrity sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag==
+
+unicode-canonical-property-names-ecmascript@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz#cb3173fe47ca743e228216e4a3ddc4c84d628cc2"
+ integrity sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==
+
+unicode-emoji-modifier-base@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/unicode-emoji-modifier-base/-/unicode-emoji-modifier-base-1.0.0.tgz#dbbd5b54ba30f287e2a8d5a249da6c0cef369459"
+ integrity sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==
+
+unicode-match-property-ecmascript@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3"
+ integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==
+ dependencies:
+ unicode-canonical-property-names-ecmascript "^2.0.0"
+ unicode-property-aliases-ecmascript "^2.0.0"
+
+unicode-match-property-value-ecmascript@^2.1.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz#a0401aee72714598f739b68b104e4fe3a0cb3c71"
+ integrity sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==
+
+unicode-property-aliases-ecmascript@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd"
+ integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==
+
+unified@^11.0.0, unified@^11.0.3, unified@^11.0.4:
+ version "11.0.5"
+ resolved "https://registry.yarnpkg.com/unified/-/unified-11.0.5.tgz#f66677610a5c0a9ee90cab2b8d4d66037026d9e1"
+ integrity sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==
+ dependencies:
+ "@types/unist" "^3.0.0"
+ bail "^2.0.0"
+ devlop "^1.0.0"
+ extend "^3.0.0"
+ is-plain-obj "^4.0.0"
+ trough "^2.0.0"
+ vfile "^6.0.0"
+
+unique-string@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-3.0.0.tgz#84a1c377aff5fd7a8bc6b55d8244b2bd90d75b9a"
+ integrity sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==
+ dependencies:
+ crypto-random-string "^4.0.0"
+
+unist-util-is@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-6.0.0.tgz#b775956486aff107a9ded971d996c173374be424"
+ integrity sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==
+ dependencies:
+ "@types/unist" "^3.0.0"
+
+unist-util-position-from-estree@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/unist-util-position-from-estree/-/unist-util-position-from-estree-2.0.0.tgz#d94da4df596529d1faa3de506202f0c9a23f2200"
+ integrity sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==
+ dependencies:
+ "@types/unist" "^3.0.0"
+
+unist-util-position@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-5.0.0.tgz#678f20ab5ca1207a97d7ea8a388373c9cf896be4"
+ integrity sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==
+ dependencies:
+ "@types/unist" "^3.0.0"
+
+unist-util-stringify-position@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz#449c6e21a880e0855bf5aabadeb3a740314abac2"
+ integrity sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==
+ dependencies:
+ "@types/unist" "^3.0.0"
+
+unist-util-visit-parents@^6.0.0:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz#4d5f85755c3b8f0dc69e21eca5d6d82d22162815"
+ integrity sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==
+ dependencies:
+ "@types/unist" "^3.0.0"
+ unist-util-is "^6.0.0"
+
+unist-util-visit@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-5.0.0.tgz#a7de1f31f72ffd3519ea71814cccf5fd6a9217d6"
+ integrity sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==
+ dependencies:
+ "@types/unist" "^3.0.0"
+ unist-util-is "^6.0.0"
+ unist-util-visit-parents "^6.0.0"
+
+universalify@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d"
+ integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==
+
+unpipe@1.0.0, unpipe@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
+ integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==
+
+update-browserslist-db@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz#348377dd245216f9e7060ff50b15a1b740b75420"
+ integrity sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==
+ dependencies:
+ escalade "^3.2.0"
+ picocolors "^1.1.1"
+
+update-notifier@^6.0.2:
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-6.0.2.tgz#a6990253dfe6d5a02bd04fbb6a61543f55026b60"
+ integrity sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og==
+ dependencies:
+ boxen "^7.0.0"
+ chalk "^5.0.1"
+ configstore "^6.0.0"
+ has-yarn "^3.0.0"
+ import-lazy "^4.0.0"
+ is-ci "^3.0.1"
+ is-installed-globally "^0.4.0"
+ is-npm "^6.0.0"
+ is-yarn-global "^0.4.0"
+ latest-version "^7.0.0"
+ pupa "^3.1.0"
+ semver "^7.3.7"
+ semver-diff "^4.0.0"
+ xdg-basedir "^5.1.0"
+
+uri-js@^4.2.2:
+ version "4.4.1"
+ resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e"
+ integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==
+ dependencies:
+ punycode "^2.1.0"
+
+url-loader@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-4.1.1.tgz#28505e905cae158cf07c92ca622d7f237e70a4e2"
+ integrity sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==
+ dependencies:
+ loader-utils "^2.0.0"
+ mime-types "^2.1.27"
+ schema-utils "^3.0.0"
+
+util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
+ integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
+
+utila@~0.4:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c"
+ integrity sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==
+
+utility-types@^3.10.0:
+ version "3.11.0"
+ resolved "https://registry.yarnpkg.com/utility-types/-/utility-types-3.11.0.tgz#607c40edb4f258915e901ea7995607fdf319424c"
+ integrity sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==
+
+utils-merge@1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
+ integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==
+
+uuid@^8.3.2:
+ version "8.3.2"
+ resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2"
+ integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==
+
+value-equal@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-1.0.1.tgz#1e0b794c734c5c0cade179c437d356d931a34d6c"
+ integrity sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==
+
+vary@~1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
+ integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==
+
+vfile-location@^5.0.0:
+ version "5.0.3"
+ resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-5.0.3.tgz#cb9eacd20f2b6426d19451e0eafa3d0a846225c3"
+ integrity sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==
+ dependencies:
+ "@types/unist" "^3.0.0"
+ vfile "^6.0.0"
+
+vfile-message@^4.0.0:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-4.0.3.tgz#87b44dddd7b70f0641c2e3ed0864ba73e2ea8df4"
+ integrity sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==
+ dependencies:
+ "@types/unist" "^3.0.0"
+ unist-util-stringify-position "^4.0.0"
+
+vfile@^6.0.0, vfile@^6.0.1:
+ version "6.0.3"
+ resolved "https://registry.yarnpkg.com/vfile/-/vfile-6.0.3.tgz#3652ab1c496531852bf55a6bac57af981ebc38ab"
+ integrity sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==
+ dependencies:
+ "@types/unist" "^3.0.0"
+ vfile-message "^4.0.0"
+
+watchpack@^2.4.1:
+ version "2.4.4"
+ resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.4.tgz#473bda72f0850453da6425081ea46fc0d7602947"
+ integrity sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA==
+ dependencies:
+ glob-to-regexp "^0.4.1"
+ graceful-fs "^4.1.2"
+
+wbuf@^1.1.0, wbuf@^1.7.3:
+ version "1.7.3"
+ resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df"
+ integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==
+ dependencies:
+ minimalistic-assert "^1.0.0"
+
+web-namespaces@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-2.0.1.tgz#1010ff7c650eccb2592cebeeaf9a1b253fd40692"
+ integrity sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==
+
+webpack-bundle-analyzer@^4.10.2:
+ version "4.10.2"
+ resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.2.tgz#633af2862c213730be3dbdf40456db171b60d5bd"
+ integrity sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==
+ dependencies:
+ "@discoveryjs/json-ext" "0.5.7"
+ acorn "^8.0.4"
+ acorn-walk "^8.0.0"
+ commander "^7.2.0"
+ debounce "^1.2.1"
+ escape-string-regexp "^4.0.0"
+ gzip-size "^6.0.0"
+ html-escaper "^2.0.2"
+ opener "^1.5.2"
+ picocolors "^1.0.0"
+ sirv "^2.0.3"
+ ws "^7.3.1"
+
+webpack-dev-middleware@^5.3.4:
+ version "5.3.4"
+ resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz#eb7b39281cbce10e104eb2b8bf2b63fce49a3517"
+ integrity sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==
+ dependencies:
+ colorette "^2.0.10"
+ memfs "^3.4.3"
+ mime-types "^2.1.31"
+ range-parser "^1.2.1"
+ schema-utils "^4.0.0"
+
+webpack-dev-server@^4.15.2:
+ version "4.15.2"
+ resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz#9e0c70a42a012560860adb186986da1248333173"
+ integrity sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==
+ dependencies:
+ "@types/bonjour" "^3.5.9"
+ "@types/connect-history-api-fallback" "^1.3.5"
+ "@types/express" "^4.17.13"
+ "@types/serve-index" "^1.9.1"
+ "@types/serve-static" "^1.13.10"
+ "@types/sockjs" "^0.3.33"
+ "@types/ws" "^8.5.5"
+ ansi-html-community "^0.0.8"
+ bonjour-service "^1.0.11"
+ chokidar "^3.5.3"
+ colorette "^2.0.10"
+ compression "^1.7.4"
+ connect-history-api-fallback "^2.0.0"
+ default-gateway "^6.0.3"
+ express "^4.17.3"
+ graceful-fs "^4.2.6"
+ html-entities "^2.3.2"
+ http-proxy-middleware "^2.0.3"
+ ipaddr.js "^2.0.1"
+ launch-editor "^2.6.0"
+ open "^8.0.9"
+ p-retry "^4.5.0"
+ rimraf "^3.0.2"
+ schema-utils "^4.0.0"
+ selfsigned "^2.1.1"
+ serve-index "^1.9.1"
+ sockjs "^0.3.24"
+ spdy "^4.0.2"
+ webpack-dev-middleware "^5.3.4"
+ ws "^8.13.0"
+
+webpack-merge@^5.9.0:
+ version "5.10.0"
+ resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.10.0.tgz#a3ad5d773241e9c682803abf628d4cd62b8a4177"
+ integrity sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==
+ dependencies:
+ clone-deep "^4.0.1"
+ flat "^5.0.2"
+ wildcard "^2.0.0"
+
+webpack-merge@^6.0.1:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-6.0.1.tgz#50c776868e080574725abc5869bd6e4ef0a16c6a"
+ integrity sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg==
+ dependencies:
+ clone-deep "^4.0.1"
+ flat "^5.0.2"
+ wildcard "^2.0.1"
+
+webpack-sources@^3.3.3:
+ version "3.3.3"
+ resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.3.3.tgz#d4bf7f9909675d7a070ff14d0ef2a4f3c982c723"
+ integrity sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==
+
+webpack@^5.88.1, webpack@^5.95.0:
+ version "5.101.3"
+ resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.101.3.tgz#3633b2375bb29ea4b06ffb1902734d977bc44346"
+ integrity sha512-7b0dTKR3Ed//AD/6kkx/o7duS8H3f1a4w3BYpIriX4BzIhjkn4teo05cptsxvLesHFKK5KObnadmCHBwGc+51A==
+ dependencies:
+ "@types/eslint-scope" "^3.7.7"
+ "@types/estree" "^1.0.8"
+ "@types/json-schema" "^7.0.15"
+ "@webassemblyjs/ast" "^1.14.1"
+ "@webassemblyjs/wasm-edit" "^1.14.1"
+ "@webassemblyjs/wasm-parser" "^1.14.1"
+ acorn "^8.15.0"
+ acorn-import-phases "^1.0.3"
+ browserslist "^4.24.0"
+ chrome-trace-event "^1.0.2"
+ enhanced-resolve "^5.17.3"
+ es-module-lexer "^1.2.1"
+ eslint-scope "5.1.1"
+ events "^3.2.0"
+ glob-to-regexp "^0.4.1"
+ graceful-fs "^4.2.11"
+ json-parse-even-better-errors "^2.3.1"
+ loader-runner "^4.2.0"
+ mime-types "^2.1.27"
+ neo-async "^2.6.2"
+ schema-utils "^4.3.2"
+ tapable "^2.1.1"
+ terser-webpack-plugin "^5.3.11"
+ watchpack "^2.4.1"
+ webpack-sources "^3.3.3"
+
+webpackbar@^6.0.1:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/webpackbar/-/webpackbar-6.0.1.tgz#5ef57d3bf7ced8b19025477bc7496ea9d502076b"
+ integrity sha512-TnErZpmuKdwWBdMoexjio3KKX6ZtoKHRVvLIU0A47R0VVBDtx3ZyOJDktgYixhoJokZTYTt1Z37OkO9pnGJa9Q==
+ dependencies:
+ ansi-escapes "^4.3.2"
+ chalk "^4.1.2"
+ consola "^3.2.3"
+ figures "^3.2.0"
+ markdown-table "^2.0.0"
+ pretty-time "^1.1.0"
+ std-env "^3.7.0"
+ wrap-ansi "^7.0.0"
+
+websocket-driver@>=0.5.1, websocket-driver@^0.7.4:
+ version "0.7.4"
+ resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760"
+ integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==
+ dependencies:
+ http-parser-js ">=0.5.1"
+ safe-buffer ">=5.1.0"
+ websocket-extensions ">=0.1.1"
+
+websocket-extensions@>=0.1.1:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42"
+ integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==
+
+which@^2.0.1:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
+ integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
+ dependencies:
+ isexe "^2.0.0"
+
+widest-line@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-4.0.1.tgz#a0fc673aaba1ea6f0a0d35b3c2795c9a9cc2ebf2"
+ integrity sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==
+ dependencies:
+ string-width "^5.0.1"
+
+wildcard@^2.0.0, wildcard@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.1.tgz#5ab10d02487198954836b6349f74fff961e10f67"
+ integrity sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==
+
+wrap-ansi@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
+ integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
+ dependencies:
+ ansi-styles "^4.0.0"
+ string-width "^4.1.0"
+ strip-ansi "^6.0.0"
+
+wrap-ansi@^8.0.1, wrap-ansi@^8.1.0:
+ version "8.1.0"
+ resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214"
+ integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==
+ dependencies:
+ ansi-styles "^6.1.0"
+ string-width "^5.0.1"
+ strip-ansi "^7.0.1"
+
+wrappy@1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
+ integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==
+
+write-file-atomic@^3.0.3:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8"
+ integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==
+ dependencies:
+ imurmurhash "^0.1.4"
+ is-typedarray "^1.0.0"
+ signal-exit "^3.0.2"
+ typedarray-to-buffer "^3.1.5"
+
+ws@^7.3.1:
+ version "7.5.10"
+ resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.10.tgz#58b5c20dc281633f6c19113f39b349bd8bd558d9"
+ integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==
+
+ws@^8.13.0:
+ version "8.18.3"
+ resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.3.tgz#b56b88abffde62791c639170400c93dcb0c95472"
+ integrity sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==
+
+xdg-basedir@^5.0.1, xdg-basedir@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-5.1.0.tgz#1efba19425e73be1bc6f2a6ceb52a3d2c884c0c9"
+ integrity sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==
+
+xml-js@^1.6.11:
+ version "1.6.11"
+ resolved "https://registry.yarnpkg.com/xml-js/-/xml-js-1.6.11.tgz#927d2f6947f7f1c19a316dd8eea3614e8b18f8e9"
+ integrity sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==
+ dependencies:
+ sax "^1.2.4"
+
+yallist@^3.0.2:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
+ integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
+
+yaml@^1.10.0:
+ version "1.10.2"
+ resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b"
+ integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==
+
+yocto-queue@^1.0.0:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.2.1.tgz#36d7c4739f775b3cbc28e6136e21aa057adec418"
+ integrity sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==
+
+zwitch@^2.0.0:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-2.0.4.tgz#c827d4b0acb76fc3e685a4c6ec2902d51070e9d7"
+ integrity sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==